diff options
author | drh <drh@noemail.net> | 2013-08-06 14:52:27 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2013-08-06 14:52:27 +0000 |
commit | 700a7fdf833ce71ee46da1292f96e82afa2dd2f2 (patch) | |
tree | c1eb7173d6219c5647f6ab9a601de5ff64e8318c /src/build.c | |
parent | 7fb30bd0dd4057c203415b7d1d0fe0a15e25a8f7 (diff) | |
parent | 2d463113f0e374b89bb3b74c1fb65678c1ccc7b5 (diff) | |
download | sqlite-700a7fdf833ce71ee46da1292f96e82afa2dd2f2.tar.gz sqlite-700a7fdf833ce71ee46da1292f96e82afa2dd2f2.zip |
Merge in the latest changes from trunk.
FossilOrigin-Name: 69d5bed017bda3e184857febcc8b6f6bed6ad228
Diffstat (limited to 'src/build.c')
-rw-r--r-- | src/build.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/build.c b/src/build.c index 06ecf6570..f5ea5be4b 100644 --- a/src/build.c +++ b/src/build.c @@ -3805,25 +3805,20 @@ void sqlite3Reindex(Parse *pParse, Token *pName1, Token *pName2){ KeyInfo *sqlite3IndexKeyinfo(Parse *pParse, Index *pIdx){ int i; int nCol = pIdx->nColumn; - int nBytes = sizeof(KeyInfo) + (nCol-1)*sizeof(CollSeq*) + nCol; - sqlite3 *db = pParse->db; - KeyInfo *pKey = (KeyInfo *)sqlite3DbMallocZero(db, nBytes); + KeyInfo *pKey; + pKey = sqlite3KeyInfoAlloc(pParse->db, nCol); if( pKey ){ - pKey->db = pParse->db; - pKey->aSortOrder = (u8 *)&(pKey->aColl[nCol]); - assert( &pKey->aSortOrder[nCol]==&(((u8 *)pKey)[nBytes]) ); for(i=0; i<nCol; i++){ char *zColl = pIdx->azColl[i]; assert( zColl ); pKey->aColl[i] = sqlite3LocateCollSeq(pParse, zColl); pKey->aSortOrder[i] = pIdx->aSortOrder[i]; } - pKey->nField = (u16)nCol; } if( pParse->nErr ){ - sqlite3DbFree(db, pKey); + sqlite3DbFree(pParse->db, pKey); pKey = 0; } return pKey; |