fix: truncate only for ext db

This commit is contained in:
DarkPhoenix2704
2026-01-28 13:04:45 +00:00
parent f05f9db15e
commit 8a47d0a7fc

View File

@@ -435,36 +435,39 @@ export const selectObject = (baseModel: IBaseModelSqlV2, logger: Logger) => {
break;
}
case UITypes.LongText: {
const colPath = sanitize(
`${alias || baseModel.tnPath}.${column.column_name}`,
);
if (baseModel.isPg) {
res[sanitize(getAs(column) || column.column_name)] =
baseModel.dbDriver.raw(`SUBSTR(??::TEXT, 1, ?)`, [
colPath,
NC_MAX_TEXT_LENGTH,
]);
} else if (baseModel.isMySQL) {
res[sanitize(getAs(column) || column.column_name)] =
baseModel.dbDriver.raw(`SUBSTR(??, 1, ?)`, [
colPath,
NC_MAX_TEXT_LENGTH,
]);
} else if (baseModel.isSqlite) {
res[sanitize(getAs(column) || column.column_name)] =
baseModel.dbDriver.raw(`SUBSTR(??, 1, ?)`, [
colPath,
NC_MAX_TEXT_LENGTH,
]);
} else {
// SQL Server / other databases - use LEFT function
res[sanitize(getAs(column) || column.column_name)] =
baseModel.dbDriver.raw(`LEFT(??, ?)`, [
colPath,
NC_MAX_TEXT_LENGTH,
]);
if ((baseModel.dbDriver as any).isExternal) {
const colPath = sanitize(
`${alias || baseModel.tnPath}.${column.column_name}`,
);
if (baseModel.isPg) {
res[sanitize(getAs(column) || column.column_name)] =
baseModel.dbDriver.raw(`SUBSTR(??::TEXT, 1, ?)`, [
colPath,
NC_MAX_TEXT_LENGTH,
]);
} else if (baseModel.isMySQL) {
res[sanitize(getAs(column) || column.column_name)] =
baseModel.dbDriver.raw(`SUBSTR(??, 1, ?)`, [
colPath,
NC_MAX_TEXT_LENGTH,
]);
} else if (baseModel.isSqlite) {
res[sanitize(getAs(column) || column.column_name)] =
baseModel.dbDriver.raw(`SUBSTR(??, 1, ?)`, [
colPath,
NC_MAX_TEXT_LENGTH,
]);
} else {
// SQL Server / other databases - use LEFT function
res[sanitize(getAs(column) || column.column_name)] =
baseModel.dbDriver.raw(`LEFT(??, ?)`, [
colPath,
NC_MAX_TEXT_LENGTH,
]);
}
break;
}
break;
// Else fall through
}
default:
if (baseModel.isPg) {