mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Fix harmless compiler warnings.
FossilOrigin-Name: 94b59691ee50a4666b25e36d1529fc52f714bbe94c3e8ccb35bf0a4ea11050db
This commit is contained in:
@ -194,7 +194,11 @@ static void ieee754func(
|
|||||||
e += 1075;
|
e += 1075;
|
||||||
if( e<=0 ){
|
if( e<=0 ){
|
||||||
/* Subnormal */
|
/* Subnormal */
|
||||||
m >>= 1-e;
|
if( 1-e >= 64 ){
|
||||||
|
m = 0;
|
||||||
|
}else{
|
||||||
|
m >>= 1-e;
|
||||||
|
}
|
||||||
e = 0;
|
e = 0;
|
||||||
}else if( e>0x7ff ){
|
}else if( e>0x7ff ){
|
||||||
e = 0x7ff;
|
e = 0x7ff;
|
||||||
|
@ -605,7 +605,7 @@ static void jsonReturn(
|
|||||||
sqlite3_result_int64(pCtx, i);
|
sqlite3_result_int64(pCtx, i);
|
||||||
int_done:
|
int_done:
|
||||||
break;
|
break;
|
||||||
int_as_real: i=0; /* no break */ deliberate_fall_through
|
int_as_real: ; /* no break */ deliberate_fall_through
|
||||||
}
|
}
|
||||||
case JSON_REAL: {
|
case JSON_REAL: {
|
||||||
double r;
|
double r;
|
||||||
|
@ -863,7 +863,7 @@ static int zipfileGetEntry(
|
|||||||
aRead = (u8*)&aBlob[pNew->cds.iOffset];
|
aRead = (u8*)&aBlob[pNew->cds.iOffset];
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = zipfileReadLFH(aRead, &lfh);
|
if( rc==SQLITE_OK ) rc = zipfileReadLFH(aRead, &lfh);
|
||||||
if( rc==SQLITE_OK ){
|
if( rc==SQLITE_OK ){
|
||||||
pNew->iDataOff = pNew->cds.iOffset + ZIPFILE_LFH_FIXED_SZ;
|
pNew->iDataOff = pNew->cds.iOffset + ZIPFILE_LFH_FIXED_SZ;
|
||||||
pNew->iDataOff += lfh.nFile + lfh.nExtra;
|
pNew->iDataOff += lfh.nFile + lfh.nExtra;
|
||||||
@ -1139,13 +1139,13 @@ static int zipfileReadEOCD(
|
|||||||
int nRead; /* Bytes to read from file */
|
int nRead; /* Bytes to read from file */
|
||||||
int rc = SQLITE_OK;
|
int rc = SQLITE_OK;
|
||||||
|
|
||||||
|
memset(pEOCD, 0, sizeof(ZipfileEOCD));
|
||||||
if( aBlob==0 ){
|
if( aBlob==0 ){
|
||||||
i64 iOff; /* Offset to read from */
|
i64 iOff; /* Offset to read from */
|
||||||
i64 szFile; /* Total size of file in bytes */
|
i64 szFile; /* Total size of file in bytes */
|
||||||
fseek(pFile, 0, SEEK_END);
|
fseek(pFile, 0, SEEK_END);
|
||||||
szFile = (i64)ftell(pFile);
|
szFile = (i64)ftell(pFile);
|
||||||
if( szFile==0 ){
|
if( szFile==0 ){
|
||||||
memset(pEOCD, 0, sizeof(ZipfileEOCD));
|
|
||||||
return SQLITE_OK;
|
return SQLITE_OK;
|
||||||
}
|
}
|
||||||
nRead = (int)(MIN(szFile, ZIPFILE_BUFFER_SIZE));
|
nRead = (int)(MIN(szFile, ZIPFILE_BUFFER_SIZE));
|
||||||
|
32
manifest
32
manifest
@ -1,5 +1,5 @@
|
|||||||
C Change\sthings\sso\sthat\sSQLITE_OMIT_VIRTUALTABLE\simplies\sSQLITE_OMIT_ALTER_TABLE.
|
C Fix\sharmless\scompiler\swarnings.
|
||||||
D 2021-10-01T20:39:50.837
|
D 2021-10-01T21:01:07.786
|
||||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||||
@ -305,8 +305,8 @@ F ext/misc/explain.c 0086fab288d4352ea638cf40ac382aad3b0dc5e845a1ea829a694c015fd
|
|||||||
F ext/misc/fileio.c 57fefd0efc535e62bb8b07fa146875171481da81a759bbfbe2fc91bab90058e0
|
F ext/misc/fileio.c 57fefd0efc535e62bb8b07fa146875171481da81a759bbfbe2fc91bab90058e0
|
||||||
F ext/misc/fossildelta.c 1240b2d3e52eab1d50c160c7fe1902a9bd210e052dc209200a750bbf885402d5
|
F ext/misc/fossildelta.c 1240b2d3e52eab1d50c160c7fe1902a9bd210e052dc209200a750bbf885402d5
|
||||||
F ext/misc/fuzzer.c eae560134f66333e9e1ca4c8ffea75df42056e2ce8456734565dbe1c2a92bf3d
|
F ext/misc/fuzzer.c eae560134f66333e9e1ca4c8ffea75df42056e2ce8456734565dbe1c2a92bf3d
|
||||||
F ext/misc/ieee754.c cd6ab89f85fda8a020559b3f4d03001a8a62dd856beda5af3f558621d12be913
|
F ext/misc/ieee754.c 91a5594071143a4ab79c638fe9f059af1db09932faf2e704c3e29216a7d4f511
|
||||||
F ext/misc/json1.c 76c5d9e0960fd15b4be79dacb76d872b4d0d983ce13e72ebfe9481d82cb9345d
|
F ext/misc/json1.c 96a44b84f00d35f9450abae1f0167abe60de9379b2b27ea652c6cf14450b4739
|
||||||
F ext/misc/memstat.c 3017a0832c645c0f8c773435620d663855f04690172316bd127270d1a7523d4d
|
F ext/misc/memstat.c 3017a0832c645c0f8c773435620d663855f04690172316bd127270d1a7523d4d
|
||||||
F ext/misc/memtrace.c 7c0d115d2ef716ad0ba632c91e05bd119cb16c1aedf3bec9f06196ead2d5537b
|
F ext/misc/memtrace.c 7c0d115d2ef716ad0ba632c91e05bd119cb16c1aedf3bec9f06196ead2d5537b
|
||||||
F ext/misc/memvfs.c 7dffa8cc89c7f2d73da4bd4ccea1bcbd2bd283e3bb4cea398df7c372a197291b
|
F ext/misc/memvfs.c 7dffa8cc89c7f2d73da4bd4ccea1bcbd2bd283e3bb4cea398df7c372a197291b
|
||||||
@ -338,7 +338,7 @@ F ext/misc/vfsstat.c 474d08efc697b8eba300082cb1eb74a5f0f3df31ed257db1cb07e72ab0e
|
|||||||
F ext/misc/vtablog.c 5538acd0c8ddaae372331bee11608d76973436b77d6a91e8635cfc9432fba5ae
|
F ext/misc/vtablog.c 5538acd0c8ddaae372331bee11608d76973436b77d6a91e8635cfc9432fba5ae
|
||||||
F ext/misc/vtshim.c 1976e6dd68dd0d64508c91a6dfab8e75f8aaf6cd
|
F ext/misc/vtshim.c 1976e6dd68dd0d64508c91a6dfab8e75f8aaf6cd
|
||||||
F ext/misc/wholenumber.c a838d1bea913c514ff316c69695efbb49ea3b8cb37d22afc57f73b6b010b4546
|
F ext/misc/wholenumber.c a838d1bea913c514ff316c69695efbb49ea3b8cb37d22afc57f73b6b010b4546
|
||||||
F ext/misc/zipfile.c b7261ef6dbc2d18924ff80c40fb5d56c9ccfee3f822a7d3d43b7c87af3d27218
|
F ext/misc/zipfile.c f01cc496f082b361520223df1bbb685576c45539fd511ea50b2ed19ce7081111
|
||||||
F ext/misc/zorder.c b0ff58fa643afa1d846786d51ea8d5c4b6b35aa0254ab5a82617db92f3adda64
|
F ext/misc/zorder.c b0ff58fa643afa1d846786d51ea8d5c4b6b35aa0254ab5a82617db92f3adda64
|
||||||
F ext/rbu/rbu.c 801450b24eaf14440d8fd20385aacc751d5c9d6123398df41b1b5aa804bf4ce8
|
F ext/rbu/rbu.c 801450b24eaf14440d8fd20385aacc751d5c9d6123398df41b1b5aa804bf4ce8
|
||||||
F ext/rbu/rbu1.test c62904bd9526dcdc3496a21199aaf14ae191bbadbf67f076bf16be6b3f2115c2
|
F ext/rbu/rbu1.test c62904bd9526dcdc3496a21199aaf14ae191bbadbf67f076bf16be6b3f2115c2
|
||||||
@ -484,16 +484,16 @@ F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
|
|||||||
F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786
|
F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786
|
||||||
F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
|
F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
|
||||||
F src/alter.c a6afe961ef3544104fa635a0c3161bfe1a34382f32e2a28706993abadedbffed
|
F src/alter.c a6afe961ef3544104fa635a0c3161bfe1a34382f32e2a28706993abadedbffed
|
||||||
F src/analyze.c 989eb1146f4a2c320623e190f8913bf1829fd8954a52dbfd0f792efc69db0e66
|
F src/analyze.c 6ff8ae7b9e8dfacd62447e1204d85e57f76580c955f4faf953704c36ed8ac60e
|
||||||
F src/attach.c a514e81758ba7b3a3a0501faf70af6cfc509de8810235db726cfc9f25165e929
|
F src/attach.c a514e81758ba7b3a3a0501faf70af6cfc509de8810235db726cfc9f25165e929
|
||||||
F src/auth.c f4fa91b6a90bbc8e0d0f738aa284551739c9543a367071f55574681e0f24f8cf
|
F src/auth.c f4fa91b6a90bbc8e0d0f738aa284551739c9543a367071f55574681e0f24f8cf
|
||||||
F src/backup.c 3014889fa06e20e6adfa0d07b60097eec1f6e5b06671625f476a714d2356513d
|
F src/backup.c 3014889fa06e20e6adfa0d07b60097eec1f6e5b06671625f476a714d2356513d
|
||||||
F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
|
F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
|
||||||
F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
|
F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
|
||||||
F src/btree.c bed4239e31772ed5486e947d8eaf3d38fcc76136e19d0383bad15609198419c2
|
F src/btree.c c97860dd57b01415b10ab9c976f52804d8cd914537465ca3b9fd52cab1321f2d
|
||||||
F src/btree.h 74d64b8f28cfa4a894d14d4ed64fa432cd697b98b61708d4351482ae15913e22
|
F src/btree.h 74d64b8f28cfa4a894d14d4ed64fa432cd697b98b61708d4351482ae15913e22
|
||||||
F src/btreeInt.h 7bc15a24a02662409ebcd6aeaa1065522d14b7fda71573a2b0568b458f514ae0
|
F src/btreeInt.h 7bc15a24a02662409ebcd6aeaa1065522d14b7fda71573a2b0568b458f514ae0
|
||||||
F src/build.c 53fe0ecd73c210561eaea965cb4977d7d717e7984005fa814e856868b06f8b23
|
F src/build.c ee6941680fa2ab0461d9be145a546f8659f6543af643ace0b44d08abdf85e001
|
||||||
F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c
|
F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c
|
||||||
F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
|
F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
|
||||||
F src/ctime.c 8159d5f706551861c18ec6c8f6bdf105e15ea00367f05d9ab65d31a1077facc1
|
F src/ctime.c 8159d5f706551861c18ec6c8f6bdf105e15ea00367f05d9ab65d31a1077facc1
|
||||||
@ -536,7 +536,7 @@ F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586
|
|||||||
F src/os_unix.c b11e4610769922253dec27d7af4a07ff84f65169d19bda5e9b12a152a706f7f5
|
F src/os_unix.c b11e4610769922253dec27d7af4a07ff84f65169d19bda5e9b12a152a706f7f5
|
||||||
F src/os_win.c 77d39873836f1831a9b0b91894fec45ab0e9ca8e067dc8c549e1d1eca1566fe9
|
F src/os_win.c 77d39873836f1831a9b0b91894fec45ab0e9ca8e067dc8c549e1d1eca1566fe9
|
||||||
F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
|
F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
|
||||||
F src/pager.c 1ba6a843148282895d800aa69919553079946ef9a198a97e5d7c64442d10ed4c
|
F src/pager.c dabb867aa4fabe01d05a5fb39c4d497b2d7bff591b738ffbe7f715ee28b67cdb
|
||||||
F src/pager.h 4bf9b3213a4b2bebbced5eaa8b219cf25d4a82f385d093cd64b7e93e5285f66f
|
F src/pager.h 4bf9b3213a4b2bebbced5eaa8b219cf25d4a82f385d093cd64b7e93e5285f66f
|
||||||
F src/parse.y 82bdd593c50bddcc285a173e9788a20296103217f5f5290c9122abf8af71af62
|
F src/parse.y 82bdd593c50bddcc285a173e9788a20296103217f5f5290c9122abf8af71af62
|
||||||
F src/pcache.c 084e638432c610f95aea72b8509f0845d2791293f39d1b82f0c0a7e089c3bb6b
|
F src/pcache.c 084e638432c610f95aea72b8509f0845d2791293f39d1b82f0c0a7e089c3bb6b
|
||||||
@ -549,8 +549,8 @@ F src/printf.c 78fabb49b9ac9a12dd1c89d744abdc9b67fd3205e62967e158f78b965a29ec4b
|
|||||||
F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c
|
F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c
|
||||||
F src/resolve.c b9e60afa56d0484ee573aba54d9e73603736236df33d2ae3421b4cd0367d907d
|
F src/resolve.c b9e60afa56d0484ee573aba54d9e73603736236df33d2ae3421b4cd0367d907d
|
||||||
F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
|
F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
|
||||||
F src/select.c 47a6e97bb04caeb71cc0b748b69d635eaa0aa765915d177949d21c386eb0cc97
|
F src/select.c 916d18b586d8efad5a46040e48405f42e7f90fff33bca1cfab040169515ec525
|
||||||
F src/shell.c.in f9a13edb4d4cdbdfc161b0d200296c1dd9c492ad86dd73f4768ee841fec66578
|
F src/shell.c.in 928114971b558dc2e40a1afaf07e3e5e93558a77ecca95067c51e1f9d3c1441a
|
||||||
F src/sqlite.h.in 4e977a5e2ed1a9e8987ff65a2cab5f99a4298ebf040ea5ff636e1753339ff45a
|
F src/sqlite.h.in 4e977a5e2ed1a9e8987ff65a2cab5f99a4298ebf040ea5ff636e1753339ff45a
|
||||||
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
|
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
|
||||||
F src/sqlite3ext.h e97f4e9b509408fea4c4e9bef5a41608dfac343b4d3c7a990dedde1e19af9510
|
F src/sqlite3ext.h e97f4e9b509408fea4c4e9bef5a41608dfac343b4d3c7a990dedde1e19af9510
|
||||||
@ -621,7 +621,7 @@ F src/upsert.c 8789047a8f0a601ea42fa0256d1ba3190c13746b6ba940fe2d25643a7e991937
|
|||||||
F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
|
F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
|
||||||
F src/util.c 3f27a1eae01c8bbbb8cdef2f26bd8e6a2a7db08106ef7c3dcc990787a5da6e86
|
F src/util.c 3f27a1eae01c8bbbb8cdef2f26bd8e6a2a7db08106ef7c3dcc990787a5da6e86
|
||||||
F src/vacuum.c 454973a59fb20bb982efc2df568a098616db6328a0491b6e84e2e07f7333db45
|
F src/vacuum.c 454973a59fb20bb982efc2df568a098616db6328a0491b6e84e2e07f7333db45
|
||||||
F src/vdbe.c a4b6736b22ccb9e875dea4350ea1666276500b4d6a27eed9c7d000faa1fea163
|
F src/vdbe.c f2a83da75711ee42b8986600ba870c71f57b49325d9b196c2097950871846983
|
||||||
F src/vdbe.h 25dabb25c7e157b84e59260cfb5b466c3ac103ede9f36f4db371332c47601abe
|
F src/vdbe.h 25dabb25c7e157b84e59260cfb5b466c3ac103ede9f36f4db371332c47601abe
|
||||||
F src/vdbeInt.h 38206c8dd6b60ff03d9fd4f626b1b4fd0eef7cdc44f2fc2c1973b0f932a3f26b
|
F src/vdbeInt.h 38206c8dd6b60ff03d9fd4f626b1b4fd0eef7cdc44f2fc2c1973b0f932a3f26b
|
||||||
F src/vdbeapi.c aa5aaf2c37676b83af5724c6cd8207a3064ed46a217fd180957f75ac84f7a2a5
|
F src/vdbeapi.c aa5aaf2c37676b83af5724c6cd8207a3064ed46a217fd180957f75ac84f7a2a5
|
||||||
@ -1928,7 +1928,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||||
P c7fdd775bb5efd22a486510a32a2f278c4d5cda95acd3085a0f0dfc2ef749d6f
|
P 2f7c946c5f25a858167f5193ca06e53310394c8cff15426ab8a1327a1ec835fd
|
||||||
R 926578650b00455ed26e22948e8e656f
|
R efed3f9c2718d18bc8a69a58b9e2f371
|
||||||
U dan
|
U drh
|
||||||
Z 9dd8b361e8a634b7edc2d6fc8fe882ba
|
Z 00ef577a561ca93dc97c1f48c37c36a1
|
||||||
|
@ -1 +1 @@
|
|||||||
2f7c946c5f25a858167f5193ca06e53310394c8cff15426ab8a1327a1ec835fd
|
94b59691ee50a4666b25e36d1529fc52f714bbe94c3e8ccb35bf0a4ea11050db
|
@ -433,7 +433,6 @@ static void statInit(
|
|||||||
+ sizeof(tRowcnt)*3*nColUp*(nCol+mxSample);
|
+ sizeof(tRowcnt)*3*nColUp*(nCol+mxSample);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
db = sqlite3_context_db_handle(context);
|
|
||||||
p = sqlite3DbMallocZero(db, n);
|
p = sqlite3DbMallocZero(db, n);
|
||||||
if( p==0 ){
|
if( p==0 ){
|
||||||
sqlite3_result_error_nomem(context);
|
sqlite3_result_error_nomem(context);
|
||||||
|
@ -5480,9 +5480,7 @@ int sqlite3BtreeTableMoveto(
|
|||||||
if( pCur->info.nKey==intKey ){
|
if( pCur->info.nKey==intKey ){
|
||||||
return SQLITE_OK;
|
return SQLITE_OK;
|
||||||
}
|
}
|
||||||
}else if( rc==SQLITE_DONE ){
|
}else if( rc!=SQLITE_DONE ){
|
||||||
rc = SQLITE_OK;
|
|
||||||
}else{
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4382,7 +4382,7 @@ exit_create_index:
|
|||||||
** The list was already ordered when this routine was entered, so at this
|
** The list was already ordered when this routine was entered, so at this
|
||||||
** point at most a single index (the newly added index) will be out of
|
** point at most a single index (the newly added index) will be out of
|
||||||
** order. So we have to reorder at most one index. */
|
** order. So we have to reorder at most one index. */
|
||||||
Index **ppFrom = &pTab->pIndex;
|
Index **ppFrom;
|
||||||
Index *pThis;
|
Index *pThis;
|
||||||
for(ppFrom=&pTab->pIndex; (pThis = *ppFrom)!=0; ppFrom=&pThis->pNext){
|
for(ppFrom=&pTab->pIndex; (pThis = *ppFrom)!=0; ppFrom=&pThis->pNext){
|
||||||
Index *pNext;
|
Index *pNext;
|
||||||
|
@ -4858,6 +4858,7 @@ int sqlite3PagerOpen(
|
|||||||
pPager->zWal = 0;
|
pPager->zWal = 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
(void)pPtr; /* Suppress warning about unused pPtr value */
|
||||||
|
|
||||||
if( nPathname ) sqlite3DbFree(0, zPathname);
|
if( nPathname ) sqlite3DbFree(0, zPathname);
|
||||||
pPager->pVfs = pVfs;
|
pPager->pVfs = pVfs;
|
||||||
|
@ -2434,7 +2434,7 @@ static void generateWithRecursiveQuery(
|
|||||||
SrcList *pSrc = p->pSrc; /* The FROM clause of the recursive query */
|
SrcList *pSrc = p->pSrc; /* The FROM clause of the recursive query */
|
||||||
int nCol = p->pEList->nExpr; /* Number of columns in the recursive table */
|
int nCol = p->pEList->nExpr; /* Number of columns in the recursive table */
|
||||||
Vdbe *v = pParse->pVdbe; /* The prepared statement under construction */
|
Vdbe *v = pParse->pVdbe; /* The prepared statement under construction */
|
||||||
Select *pSetup = p->pPrior; /* The setup query */
|
Select *pSetup; /* The setup query */
|
||||||
Select *pFirstRec; /* Left-most recursive term */
|
Select *pFirstRec; /* Left-most recursive term */
|
||||||
int addrTop; /* Top of the loop */
|
int addrTop; /* Top of the loop */
|
||||||
int addrCont, addrBreak; /* CONTINUE and BREAK addresses */
|
int addrCont, addrBreak; /* CONTINUE and BREAK addresses */
|
||||||
@ -2518,7 +2518,6 @@ static void generateWithRecursiveQuery(
|
|||||||
** iDistinct table. pFirstRec is left pointing to the left-most
|
** iDistinct table. pFirstRec is left pointing to the left-most
|
||||||
** recursive term of the CTE.
|
** recursive term of the CTE.
|
||||||
*/
|
*/
|
||||||
pFirstRec = p;
|
|
||||||
for(pFirstRec=p; ALWAYS(pFirstRec!=0); pFirstRec=pFirstRec->pPrior){
|
for(pFirstRec=p; ALWAYS(pFirstRec!=0); pFirstRec=pFirstRec->pPrior){
|
||||||
if( pFirstRec->selFlags & SF_Aggregate ){
|
if( pFirstRec->selFlags & SF_Aggregate ){
|
||||||
sqlite3ErrorMsg(pParse, "recursive aggregate queries not supported");
|
sqlite3ErrorMsg(pParse, "recursive aggregate queries not supported");
|
||||||
|
@ -1455,7 +1455,6 @@ static void editFunc(
|
|||||||
sqlite3_int64 i, j;
|
sqlite3_int64 i, j;
|
||||||
if( hasCRNL ){
|
if( hasCRNL ){
|
||||||
/* If the original contains \r\n then do no conversions back to \n */
|
/* If the original contains \r\n then do no conversions back to \n */
|
||||||
j = sz;
|
|
||||||
}else{
|
}else{
|
||||||
/* If the file did not originally contain \r\n then convert any new
|
/* If the file did not originally contain \r\n then convert any new
|
||||||
** \r\n back into \n */
|
** \r\n back into \n */
|
||||||
@ -3328,7 +3327,7 @@ static void exec_prepared_stmt(
|
|||||||
int nCol = sqlite3_column_count(pStmt);
|
int nCol = sqlite3_column_count(pStmt);
|
||||||
void *pData = sqlite3_malloc64(3*nCol*sizeof(const char*) + 1);
|
void *pData = sqlite3_malloc64(3*nCol*sizeof(const char*) + 1);
|
||||||
if( !pData ){
|
if( !pData ){
|
||||||
rc = SQLITE_NOMEM;
|
shell_out_of_memory();
|
||||||
}else{
|
}else{
|
||||||
char **azCols = (char **)pData; /* Names of result columns */
|
char **azCols = (char **)pData; /* Names of result columns */
|
||||||
char **azVals = &azCols[nCol]; /* Results */
|
char **azVals = &azCols[nCol]; /* Results */
|
||||||
@ -5774,8 +5773,7 @@ static void newTempFile(ShellState *p, const char *zSuffix){
|
|||||||
p->zTempFile = sqlite3_mprintf("%z.%s", p->zTempFile, zSuffix);
|
p->zTempFile = sqlite3_mprintf("%z.%s", p->zTempFile, zSuffix);
|
||||||
}
|
}
|
||||||
if( p->zTempFile==0 ){
|
if( p->zTempFile==0 ){
|
||||||
raw_printf(stderr, "out of memory\n");
|
shell_out_of_memory();
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8590,7 +8588,7 @@ static int do_meta_command(char *zLine, ShellState *p){
|
|||||||
rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0);
|
rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0);
|
||||||
sqlite3_free(zSql);
|
sqlite3_free(zSql);
|
||||||
i = 0;
|
i = 0;
|
||||||
while( sqlite3_step(pStmt)==SQLITE_ROW ){
|
while( rc==SQLITE_OK && sqlite3_step(pStmt)==SQLITE_ROW ){
|
||||||
char zLabel[20];
|
char zLabel[20];
|
||||||
const char *zCol = (const char*)sqlite3_column_text(pStmt,2);
|
const char *zCol = (const char*)sqlite3_column_text(pStmt,2);
|
||||||
i++;
|
i++;
|
||||||
@ -8832,10 +8830,11 @@ static int do_meta_command(char *zLine, ShellState *p){
|
|||||||
}else if( p->zNonce==0 || strcmp(azArg[1],p->zNonce)!=0 ){
|
}else if( p->zNonce==0 || strcmp(azArg[1],p->zNonce)!=0 ){
|
||||||
raw_printf(stderr, "line %d: incorrect nonce: \"%s\"\n", p->lineno, azArg[1]);
|
raw_printf(stderr, "line %d: incorrect nonce: \"%s\"\n", p->lineno, azArg[1]);
|
||||||
exit(1);
|
exit(1);
|
||||||
|
}else{
|
||||||
|
p->bSafeMode = 0;
|
||||||
|
return 0; /* Return immediately to bypass the safe mode reset
|
||||||
|
** at the end of this procedure */
|
||||||
}
|
}
|
||||||
p->bSafeMode = 0;
|
|
||||||
return 0; /* Return immediately to bypass the safe mode reset
|
|
||||||
** at the end of this procedure */
|
|
||||||
}else
|
}else
|
||||||
|
|
||||||
if( c=='n' && strncmp(azArg[0], "nullvalue", n)==0 ){
|
if( c=='n' && strncmp(azArg[0], "nullvalue", n)==0 ){
|
||||||
@ -9094,7 +9093,7 @@ static int do_meta_command(char *zLine, ShellState *p){
|
|||||||
rx = sqlite3_prepare_v2(p->db,
|
rx = sqlite3_prepare_v2(p->db,
|
||||||
"SELECT key, quote(value) "
|
"SELECT key, quote(value) "
|
||||||
"FROM temp.sqlite_parameters;", -1, &pStmt, 0);
|
"FROM temp.sqlite_parameters;", -1, &pStmt, 0);
|
||||||
while( sqlite3_step(pStmt)==SQLITE_ROW ){
|
while( rx==SQLITE_OK && sqlite3_step(pStmt)==SQLITE_ROW ){
|
||||||
utf8_printf(p->out, "%-*s %s\n", len, sqlite3_column_text(pStmt,0),
|
utf8_printf(p->out, "%-*s %s\n", len, sqlite3_column_text(pStmt,0),
|
||||||
sqlite3_column_text(pStmt,1));
|
sqlite3_column_text(pStmt,1));
|
||||||
}
|
}
|
||||||
@ -10067,8 +10066,10 @@ static int do_meta_command(char *zLine, ShellState *p){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
rc = sqlite3_finalize(pStmt);
|
rc = sqlite3_finalize(pStmt);
|
||||||
appendText(&s, " ORDER BY 1", 0);
|
if( rc==SQLITE_OK ){
|
||||||
rc = sqlite3_prepare_v2(p->db, s.z, -1, &pStmt, 0);
|
appendText(&s, " ORDER BY 1", 0);
|
||||||
|
rc = sqlite3_prepare_v2(p->db, s.z, -1, &pStmt, 0);
|
||||||
|
}
|
||||||
freeText(&s);
|
freeText(&s);
|
||||||
if( rc ) return shellDatabaseError(p->db);
|
if( rc ) return shellDatabaseError(p->db);
|
||||||
|
|
||||||
@ -10643,6 +10644,7 @@ static QuickScanState quickscan(char *zLine, QuickScanState qss){
|
|||||||
char cWait = (char)qss; /* intentional narrowing loss */
|
char cWait = (char)qss; /* intentional narrowing loss */
|
||||||
if( cWait==0 ){
|
if( cWait==0 ){
|
||||||
PlainScan:
|
PlainScan:
|
||||||
|
assert( cWait==0 );
|
||||||
while( (cin = *zLine++)!=0 ){
|
while( (cin = *zLine++)!=0 ){
|
||||||
if( IsSpace(cin) )
|
if( IsSpace(cin) )
|
||||||
continue;
|
continue;
|
||||||
|
@ -7735,7 +7735,6 @@ case OP_VFilter: { /* jump */
|
|||||||
iQuery = (int)pQuery->u.i;
|
iQuery = (int)pQuery->u.i;
|
||||||
|
|
||||||
/* Invoke the xFilter method */
|
/* Invoke the xFilter method */
|
||||||
res = 0;
|
|
||||||
apArg = p->apArg;
|
apArg = p->apArg;
|
||||||
for(i = 0; i<nArg; i++){
|
for(i = 0; i<nArg; i++){
|
||||||
apArg[i] = &pArgc[i+1];
|
apArg[i] = &pArgc[i+1];
|
||||||
@ -7825,7 +7824,6 @@ case OP_VNext: { /* jump */
|
|||||||
int res;
|
int res;
|
||||||
VdbeCursor *pCur;
|
VdbeCursor *pCur;
|
||||||
|
|
||||||
res = 0;
|
|
||||||
pCur = p->apCsr[pOp->p1];
|
pCur = p->apCsr[pOp->p1];
|
||||||
assert( pCur->eCurType==CURTYPE_VTAB );
|
assert( pCur->eCurType==CURTYPE_VTAB );
|
||||||
if( pCur->nullRow ){
|
if( pCur->nullRow ){
|
||||||
|
Reference in New Issue
Block a user