fix: postgres的char类型在查询结果中会自动填充空格,需要特殊处理,以保证行为和mysql一致
This commit is contained in:
parent
05f58945c4
commit
27f8fb16c5
|
|
@ -176,13 +176,31 @@ class PostgreSQLStore extends CascadeStore_1.CascadeStore {
|
|||
}
|
||||
break;
|
||||
}
|
||||
// TODO: 这里和mysql统一行为,ref类型的字符串去除前后空格
|
||||
case "char":
|
||||
case "ref": {
|
||||
if (value) {
|
||||
(0, assert_1.default)(typeof value === 'string');
|
||||
r[attr] = value.trim();
|
||||
}
|
||||
else {
|
||||
r[attr] = value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
r[attr] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
r[attr] = value;
|
||||
// TODO: 这里和mysql统一行为,id字段为char类型时,去除后面的空格
|
||||
if (value && typeof value === 'string' && attr === 'id') {
|
||||
r[attr] = value.trim();
|
||||
}
|
||||
else {
|
||||
r[attr] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -243,12 +243,28 @@ export class PostgreSQLStore<
|
|||
}
|
||||
break;
|
||||
}
|
||||
// TODO: 这里和mysql统一行为,ref类型的字符串去除前后空格
|
||||
case "char":
|
||||
case "ref": {
|
||||
if (value) {
|
||||
assert(typeof value === 'string');
|
||||
r[attr] = value.trim();
|
||||
} else {
|
||||
r[attr] = value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
r[attr] = value;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
r[attr] = value;
|
||||
// TODO: 这里和mysql统一行为,id字段为char类型时,去除后面的空格
|
||||
if (value && typeof value === 'string' && attr === 'id') {
|
||||
r[attr] = value.trim();
|
||||
} else {
|
||||
r[attr] = value;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
assign(r, { [attr]: value });
|
||||
|
|
@ -305,7 +321,7 @@ export class PostgreSQLStore<
|
|||
option?: PostgreSQLSelectOption
|
||||
): Promise<Partial<ED[T]['Schema']>[]> {
|
||||
const sql = this.translator.translateSelect(entity, selection, option);
|
||||
console.log('selection:', JSON.stringify(selection, null , 2), 'Select SQL:', sql);
|
||||
console.log('selection:', JSON.stringify(selection, null, 2), 'Select SQL:', sql);
|
||||
const result = await this.connector.exec(sql, context.getCurrentTxnId());
|
||||
return this.formResult(entity, result[0]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue