From: shearer Date: Fri, 25 Sep 2020 13:56:31 +0000 (+0000) Subject: More classification of functions. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc1070bfc4868df69313d27a82d292aa5129c039;p=thirdparty%2Fsqlite.git More classification of functions. Fix incorrect comment that sqlite3BtreeCursorHasHint() is only used within asserts. FossilOrigin-Name: 78d8db7cb73284644cde1636a14e4e3598e1a2a7e94a04dfc7406422aab93ae5 --- diff --git a/manifest b/manifest index a98e1d9d4e..c02102a1d7 100644 --- a/manifest +++ b/manifest @@ -1,6 +1,6 @@ B 3d35fa0be866213274fc09250225b345f6b08a9b4ec373d53d95e627e24512be -C Merging\swith\strunk -D 2020-09-25T09:42:37.685 +C More\sclassification\sof\sfunctions.\nFix\sincorrect\scomment\sthat\ssqlite3BtreeCursorHasHint()\sis\sonly\sused\swithin\nasserts. +D 2020-09-25T13:56:31.904 F ext/expert/expert1.test dba6e752cc701621771f925f3872b183fa688f7b4a9f4822631fc02bdbffc45a F ext/expert/sqlite3expert.c 2778d9f06b3a8bfa859cb6b75b82f004477bf5dd78edd17d954319750ca963f3 F ext/fts5/fts5Int.h ba835c165bb87650fc806008969799a7a1fbe3e221fd5a850dd044eb6a87b243 @@ -12,7 +12,8 @@ F ext/fts5/test/fts5corrupt3.test b8d4d6f167b8189999dac7162ddec614ab9dca4fe5e9dc F ext/fts5/test/fts5hash.test dc7bc7e0cdeb42cfce31294ad2f8fcf43192bfd0145bb7f3ecc5465d8c72696f F ext/fts5/test/fts5integrity.test e387b2bd1c83e50f4a12f58a5fd399111bbab36be2f1c9fd5bb974be08a32de6 F ext/rtree/rtree.c 60f6f1675134201974be4189dbd219494c13e1ed30e80bd92ae0dcc86df1b035 -F src/btree.h a36f07d3b2a654293b477d80d6f0eff2ce2420dcf964c857eaa44980f1a15a6d +F src/btree.c fb7970654479f968ab09321f6a6c8b796174860b641f7d8879f221dd6667e272 +F src/btree.h 3bf68d60824f6495904ceb0df9102a3413fed933d80c43aefc8e094875105e30 F src/func.c 01d7b7226a02aaa471f667aad348206c55b59390f50250af84260a13aa77285e F src/pragma.c 6daaaecc26a4b09481d21722525b079ce756751a43a79cc1d8f122d686806193 F src/select.c 6c3f7d60295f06ce7fa128bb23b1159648f0aa96a78c257af35dfef727ac63f1 @@ -22,7 +23,7 @@ F src/wherecode.c 9afd600ca9fe831f342121cca48ad8839c8a18ca4e0372518a0a3c8123a8f0 F test/with1.test 323659eaf309787add657d05e5943e437a7a3494f2b6602a0deb18fdebc1ab4c F tool/lemon.c 70eedc31614a58fe31a71025c17ebd1502a6ce9cfef0ed5e33acb0b5b737b291 F tool/lempar.c 0e1d5eeb9736108d3dba782a9dd56f4e7cb69006b6ee181308b7ebfb15313a12 -P 6f5c1fde245e18d80dd5b1d33ad36b8320960dc644c666351b0c9b60d8e545ca 4591ee03d7a1ef3f0f6ad0629493fdb7a1c0ddb3277a9e87aa244cb0ca770593 -R 0e9edefb63ce9f41795a68747782ae2c +P 3a576608e6f26ae8642ec4b2b1c2f2b91b1acda3dc9928b9d67e401684c254b3 +R fcbee21c7e42fda63f727e06739686dd U shearer -Z c775ed6f7bbec62d2d57c8bc40fbbf43 +Z bbb54d9bd1cac5be9cfe1852d403631f diff --git a/manifest.uuid b/manifest.uuid index 0342ed2f90..f10df1aff0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -3a576608e6f26ae8642ec4b2b1c2f2b91b1acda3dc9928b9d67e401684c254b3 \ No newline at end of file +78d8db7cb73284644cde1636a14e4e3598e1a2a7e94a04dfc7406422aab93ae5 \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index 7f1a15198b..436bb7989d 100644 --- a/src/btree.c +++ b/src/btree.c @@ -10542,7 +10542,7 @@ int sqlite3BtreeSetVersion(Btree *pBtree, int iVersion){ /* ** Return true if the cursor has a hint specified. This routine is -** only used from within assert() statements +** only used from within or around assert() statements */ int sqlite3BtreeCursorHasHint(BtCursor *pCsr, unsigned int mask){ return (pCsr->hints & mask)!=0; diff --git a/src/btree.h b/src/btree.h index 03a9c61aeb..dc2a223801 100644 --- a/src/btree.h +++ b/src/btree.h @@ -182,16 +182,10 @@ int sqlite3BtreeSavepoint(Btree *, int, int); /* ** Reading and Traversing the Database Image +** +** Mostly functions for seeking and cursor control */ -int sqlite3BtreeIsReadonly(Btree *pBt); -int sqlite3HeaderSizeBtree(void); - -/* Estimate number of rows in table - * called only by OP IsSmaller, from PRAGMA optimize -*/ -i64 sqlite3BtreeRowCountEst(BtCursor*); - /* ** Kinds of hints that can be passed into the sqlite3BtreeCursorHint() ** interface. @@ -270,6 +264,10 @@ int sqlite3BtreeCursor( struct KeyInfo*, /* First argument to compare function */ BtCursor *pCursor /* Space to write cursor structure */ ); + +/* True if hint specified, used in or around assert statements only */ +int sqlite3BtreeCursorHasHint(BtCursor*, unsigned int mask); + BtCursor *sqlite3BtreeFakeValidCursor(void); #ifdef SQLITE_DEBUG @@ -328,6 +326,17 @@ int sqlite3BtreeCursorInfo(BtCursor*, int*, int); void sqlite3BtreeCursorList(Btree*); #endif +/* Set all relevant cursors to error state on transaction rollback */ +int sqlite3BtreeTripAllCursors(Btree*, int, int); + +int sqlite3BtreeIsReadonly(Btree *pBt); + +/* Estimate number of rows in table + * called only by OP IsSmaller, from PRAGMA optimize +*/ +i64 sqlite3BtreeRowCountEst(BtCursor*); + + /* ** Modifying The Database Image @@ -452,6 +461,10 @@ int sqlite3BtreeIncrVacuum(Btree *); #define BTREE_DATA_VERSION 15 /* A virtual meta-value */ +/* Refers to the size of the per-page header, not per-database header */ +/* Used for configuring the size of the pages in the page cache */ +int sqlite3HeaderSizeBtree(void); + /* TODO: This definition is only used in asserts to determine whether * the metadata index (second parameter of Get/UpdateMeta functions) * is out of range. It is only included here so other modules compile. It @@ -464,22 +477,19 @@ int sqlite3BtreeUpdateMeta(Btree*, int idx, u32 value); /* This returns the size of the current database file, ie the same */ /* result as sqlite3OsFileSize in os.h . */ -/* This is another kind of metadata */ sqlite3_int64 sqlite3BtreeMaxRecordSize(BtCursor*); -/* This may not in fact be even kind-of metadata. More research needed */ +/* Version number of the file format must be either 1 or 2 */ +/* 1=legacy, 2=WAL . Read and write versions set to same value */ int sqlite3BtreeSetVersion(Btree *pBt, int iVersion); - /* ** Hard to Classify / More research needed */ int sqlite3BtreeCopyFile(Btree *, Btree *); -int sqlite3BtreeTripAllCursors(Btree*, int, int); - char *sqlite3BtreeIntegrityCheck(sqlite3*,Btree*,Pgno*aRoot,int nRoot,int,int*); struct Pager *sqlite3BtreePager(Btree*); @@ -490,7 +500,4 @@ int sqlite3BtreePutData(BtCursor*, u32 offset, u32 amt, void*); void sqlite3BtreeIncrblobCursor(BtCursor *); #endif -int sqlite3BtreeCursorHasHint(BtCursor*, unsigned int mask); - - #endif /* SQLITE_BTREE_H */