1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-11 01:42:22 +03:00

Store the collating sequence name for each column of a table as an

extension to the column name, for an additional savings in the heap space
needed to hold the schema.

FossilOrigin-Name: 832ac4c1ee384be0de72a4bdd55ed87e0f8294e7df5eefcf6b4942db3d85a69e
This commit is contained in:
drh
2021-08-05 15:27:19 +00:00
parent 324f91a591
commit 65b400931d
11 changed files with 81 additions and 33 deletions

View File

@@ -2193,8 +2193,9 @@ void sqlite3SelectAddColumnTypeAndCollation(
}
if( pCol->affinity<=SQLITE_AFF_NONE ) pCol->affinity = aff;
pColl = sqlite3ExprCollSeq(pParse, p);
if( pColl && pCol->zCnColl==0 ){
pCol->zCnColl = sqlite3DbStrDup(db, pColl->zName);
if( pColl && (pCol->colFlags & COLFLAG_HASCOLL)==0 ){
assert( pTab->pIndex==0 );
sqlite3ColumnSetColl(db, pCol, pColl->zName);
}
}
pTab->szTabRow = 1; /* Any non-zero value works */