]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make sure pointers are always aligned to 8-bytes when creating internal
authordrh <drh@noemail.net>
Fri, 10 Feb 2006 18:08:09 +0000 (18:08 +0000)
committerdrh <drh@noemail.net>
Fri, 10 Feb 2006 18:08:09 +0000 (18:08 +0000)
Index structures. (CVS 3079)

FossilOrigin-Name: d20a33ac2a29a3410fa28078dd122d87d8fca4fe

manifest
manifest.uuid
src/build.c
src/table.c

index 10d77c0e920132bdde2f6d9cfd577f37a2c009b6..cff2c56fef998ff66de6e09d752d38686ec09a04 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Clean\sup\spointer\smisuse\sin\svdbe.c.\s(CVS\s3078)
-D 2006-02-10T14:02:07
+C Make\ssure\spointers\sare\salways\saligned\sto\s8-bytes\swhen\screating\sinternal\nIndex\sstructures.\s(CVS\s3079)
+D 2006-02-10T18:08:09
 F Makefile.in 5d8dff443383918b700e495de42ec65bc1c8865b
 F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -36,7 +36,7 @@ F src/attach.c d73a3505de3fb9e373d0a158978116c4212031d0
 F src/auth.c 9ae84d2d94eb96195e04515715e08e85963e96c2
 F src/btree.c 579594eff6b200ee6e653f4da192d33c50413d56
 F src/btree.h 5663c4f43e8521546ccebc8fc95acb013b8f3184
-F src/build.c 11798f165cdcf3b46f4b10b2ba3853b8c370eac2
+F src/build.c b46cd7d0e2daca775d9de0cba8abae1b1625caf4
 F src/callback.c 1bf497306c32229114f826707054df7ebe10abf2
 F src/complete.c 7d1a44be8f37de125fcafd3d3a018690b3799675
 F src/date.c cd2bd5d1ebc6fa12d6312f69789ae5b0a2766f2e
@@ -71,7 +71,7 @@ F src/server.c 087b92a39d883e3fa113cae259d64e4c7438bc96
 F src/shell.c 738f55ed75fb36731e764bfdb40756ac43b90b08
 F src/sqlite.h.in bc78a247fd9f294b30a4c03894f93fcb1e166410
 F src/sqliteInt.h fe74eaa6aa953ace27c3db3272a470d279b6e3e5
-F src/table.c 486dcfce532685b53b5a2b5da8bba0ded6fb2316
+F src/table.c f64ec4fbfe333f8df925bc6ba494f55e05b0e75e
 F src/tclsqlite.c d9c26374b52cd47233ae0620d0a858a59b601f89
 F src/test1.c ca8cb34747c53479e0748c11d1a10cc07d582bb8
 F src/test2.c ca74a1d8aeb7d9606e8f6b762c5daf85c1a3f92b
@@ -352,7 +352,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P c468aa349db4e6571711bf94781b88aa3c811d03
-R 51d8d35bd9f658825f6805cd6b33762d
+P 9e82b927490bc152f61c4ee3e95b6d08ea16c858
+R b962ad9f5ff93d26be9a1cef5920b41c
 U drh
-Z dc1199c71c73b605a01499c9907f4b4c
+Z d1ddeb33c5918242cb780500c7215c77
index c589788d809c6214e549e282be48fb6056cc1d78..18c17955f638c266a4e03c18b5a48c5535a5f419 100644 (file)
@@ -1 +1 @@
-9e82b927490bc152f61c4ee3e95b6d08ea16c858
\ No newline at end of file
+d20a33ac2a29a3410fa28078dd122d87d8fca4fe
\ No newline at end of file
index a49beb4ee4b7d9e5188479d8050ed2a0a9413211..e370477f852fab48c7213fda76fd5c94160d369a 100644 (file)
@@ -22,7 +22,7 @@
 **     COMMIT
 **     ROLLBACK
 **
-** $Id: build.c,v 1.385 2006/02/10 07:07:14 danielk1977 Exp $
+** $Id: build.c,v 1.386 2006/02/10 18:08:09 drh Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -2362,10 +2362,10 @@ void sqlite3CreateIndex(
       nExtra                       /* Collation sequence names */
   );
   if( sqlite3MallocFailed() ) goto exit_create_index;
-  pIndex->aiColumn = (int *)(&pIndex[1]);
+  pIndex->azColl = (char**)(&pIndex[1]);
+  pIndex->aiColumn = (int *)(&pIndex->azColl[nCol]);
   pIndex->aiRowEst = (unsigned *)(&pIndex->aiColumn[nCol]);
-  pIndex->azColl = (char **)(&pIndex->aiRowEst[nCol+1]);
-  pIndex->aSortOrder = (u8 *)(&pIndex->azColl[nCol]);
+  pIndex->aSortOrder = (u8 *)(&pIndex->aiRowEst[nCol+1]);
   pIndex->zName = (char *)(&pIndex->aSortOrder[nCol]);
   zExtra = (char *)(&pIndex->zName[nName+1]);
   strcpy(pIndex->zName, zName);
index 8953ead725fa58d1f38a6b9d1cb70af8f811b7ef..8bd9ea71fb3773ffeaf55e441053accbebff7232 100644 (file)
@@ -145,6 +145,7 @@ int sqlite3_get_table(
   res.azResult[0] = 0;
   rc = sqlite3_exec(db, zSql, sqlite3_get_table_cb, &res, pzErrMsg);
   if( res.azResult ){
+    assert( sizeof(res.azResult[0])>= sizeof(res.nData) );
     res.azResult[0] = (char*)res.nData;
   }
   if( rc==SQLITE_ABORT ){