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; break;
} }
case UITypes.LongText: { case UITypes.LongText: {
const colPath = sanitize( if ((baseModel.dbDriver as any).isExternal) {
`${alias || baseModel.tnPath}.${column.column_name}`, const colPath = sanitize(
); `${alias || baseModel.tnPath}.${column.column_name}`,
if (baseModel.isPg) { );
res[sanitize(getAs(column) || column.column_name)] = if (baseModel.isPg) {
baseModel.dbDriver.raw(`SUBSTR(??::TEXT, 1, ?)`, [ res[sanitize(getAs(column) || column.column_name)] =
colPath, baseModel.dbDriver.raw(`SUBSTR(??::TEXT, 1, ?)`, [
NC_MAX_TEXT_LENGTH, colPath,
]); NC_MAX_TEXT_LENGTH,
} else if (baseModel.isMySQL) { ]);
res[sanitize(getAs(column) || column.column_name)] = } else if (baseModel.isMySQL) {
baseModel.dbDriver.raw(`SUBSTR(??, 1, ?)`, [ res[sanitize(getAs(column) || column.column_name)] =
colPath, baseModel.dbDriver.raw(`SUBSTR(??, 1, ?)`, [
NC_MAX_TEXT_LENGTH, colPath,
]); NC_MAX_TEXT_LENGTH,
} else if (baseModel.isSqlite) { ]);
res[sanitize(getAs(column) || column.column_name)] = } else if (baseModel.isSqlite) {
baseModel.dbDriver.raw(`SUBSTR(??, 1, ?)`, [ res[sanitize(getAs(column) || column.column_name)] =
colPath, baseModel.dbDriver.raw(`SUBSTR(??, 1, ?)`, [
NC_MAX_TEXT_LENGTH, colPath,
]); NC_MAX_TEXT_LENGTH,
} else { ]);
// SQL Server / other databases - use LEFT function } else {
res[sanitize(getAs(column) || column.column_name)] = // SQL Server / other databases - use LEFT function
baseModel.dbDriver.raw(`LEFT(??, ?)`, [ res[sanitize(getAs(column) || column.column_name)] =
colPath, baseModel.dbDriver.raw(`LEFT(??, ?)`, [
NC_MAX_TEXT_LENGTH, colPath,
]); NC_MAX_TEXT_LENGTH,
]);
}
break;
} }
break; // Else fall through
} }
default: default:
if (baseModel.isPg) { if (baseModel.isPg) {