mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-27 20:41:58 +03:00
Correct a one-too-many-exclamation-points bug which caused the opposite of intended semantics in oo1.Stmt.pointer ownership.
FossilOrigin-Name: 91e709f36d36174534b4cf4ff548a558e66cca5e23a6c8c106bc43375fc3ce72
This commit is contained in:
@ -532,7 +532,7 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
|
|||||||
}
|
}
|
||||||
this.db = arguments[0];
|
this.db = arguments[0];
|
||||||
__ptrMap.set(this, arguments[1]);
|
__ptrMap.set(this, arguments[1]);
|
||||||
if( arguments.length>3 && !!arguments[3] ){
|
if( arguments.length>3 && !arguments[3] ){
|
||||||
__doesNotOwnHandle.add(this);
|
__doesNotOwnHandle.add(this);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1273,15 +1273,22 @@ globalThis.sqlite3InitModule = sqlite3InitModule;
|
|||||||
}
|
}
|
||||||
T.assert( dw===dw.exec("select 1") );
|
T.assert( dw===dw.exec("select 1") );
|
||||||
dw.affirmOpen();
|
dw.affirmOpen();
|
||||||
rc = capi.sqlite3_prepare_v2( dw, "select 1", -1, ppOut, 0 );
|
const select1 = "select 1";
|
||||||
|
rc = capi.sqlite3_prepare_v2( dw, select1, -1, ppOut, 0 );
|
||||||
T.assert( 0===rc, 'prepare_v2() rc='+rc );
|
T.assert( 0===rc, 'prepare_v2() rc='+rc );
|
||||||
pStmt = wasm.peekPtr(ppOut);
|
pStmt = wasm.peekPtr(ppOut);
|
||||||
|
T.assert( pStmt && wasm.isPtr(pStmt), 'pStmt is valid?' );
|
||||||
try {
|
try {
|
||||||
|
//log( "capi.sqlite3_sql() =",capi.sqlite3_sql(pStmt));
|
||||||
|
T.assert( select1 === capi.sqlite3_sql(pStmt), 'SQL mismatch' );
|
||||||
q = sqlite3.oo1.Stmt.wrapHandle(dw, pStmt, false);
|
q = sqlite3.oo1.Stmt.wrapHandle(dw, pStmt, false);
|
||||||
|
//log("q@"+pStmt+" does not own handle");
|
||||||
T.assert( q.step(), "step()" )
|
T.assert( q.step(), "step()" )
|
||||||
.assert( !q.step(), "!step()" );
|
.assert( !q.step(), "!step()" );
|
||||||
q.finalize();
|
q.finalize();
|
||||||
q = undefined;
|
q = undefined;
|
||||||
|
T.assert( select1 === capi.sqlite3_sql(pStmt), 'SQL mismatch'
|
||||||
|
/* This will fail if we've mismanaged pStmt's lifetime */);
|
||||||
q = sqlite3.oo1.Stmt.wrapHandle(dw, pStmt, true);
|
q = sqlite3.oo1.Stmt.wrapHandle(dw, pStmt, true);
|
||||||
pStmt = 0;
|
pStmt = 0;
|
||||||
q.reset();
|
q.reset();
|
||||||
|
14
manifest
14
manifest
@ -1,5 +1,5 @@
|
|||||||
C Minor\sJS\sdoc\stweaks.
|
C Correct\sa\sone-too-many-exclamation-points\sbug\swhich\scaused\sthe\sopposite\sof\sintended\ssemantics\sin\soo1.Stmt.pointer\sownership.
|
||||||
D 2025-07-10T09:25:57.652
|
D 2025-07-11T19:34:30.706
|
||||||
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
|
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
|
||||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||||
@ -641,7 +641,7 @@ F ext/wasm/api/post-js-header.js 53740d824e5d9027eb1e6fd59e216abbd2136740ce260ea
|
|||||||
F ext/wasm/api/pre-js.c-pp.js a614a2c82b12c4d96d8e3ba77330329efc53c4d56a8a7e60ade900f341866cfb
|
F ext/wasm/api/pre-js.c-pp.js a614a2c82b12c4d96d8e3ba77330329efc53c4d56a8a7e60ade900f341866cfb
|
||||||
F ext/wasm/api/sqlite3-api-cleanup.js 3ac1786e461ada63033143be8c3b00b26b939540661f3e839515bb92f2e35359
|
F ext/wasm/api/sqlite3-api-cleanup.js 3ac1786e461ada63033143be8c3b00b26b939540661f3e839515bb92f2e35359
|
||||||
F ext/wasm/api/sqlite3-api-glue.c-pp.js 0b76510f3650053bac67ca8947cb6ab9d050ad2218118a2e7796dd37be832ffa
|
F ext/wasm/api/sqlite3-api-glue.c-pp.js 0b76510f3650053bac67ca8947cb6ab9d050ad2218118a2e7796dd37be832ffa
|
||||||
F ext/wasm/api/sqlite3-api-oo1.c-pp.js bc472af6c3aada06ad94b332bf23cef2407932e5bb4c0c34c12a6ced343c2e51
|
F ext/wasm/api/sqlite3-api-oo1.c-pp.js 19067fa3939d355db7bb5b02ee79dbb5e7ca4a8bd24216e24a2b4320b81ebb8d
|
||||||
F ext/wasm/api/sqlite3-api-prologue.js 8708570165f5b4bce9a78ccd91bc9ddf8735970ac1c4d659e36c9a7d9a644bb4
|
F ext/wasm/api/sqlite3-api-prologue.js 8708570165f5b4bce9a78ccd91bc9ddf8735970ac1c4d659e36c9a7d9a644bb4
|
||||||
F ext/wasm/api/sqlite3-api-worker1.c-pp.js f646a65257973b8c4481f8a6a216370b85644f23e64b126e7ae113570587c0ab
|
F ext/wasm/api/sqlite3-api-worker1.c-pp.js f646a65257973b8c4481f8a6a216370b85644f23e64b126e7ae113570587c0ab
|
||||||
F ext/wasm/api/sqlite3-license-version-header.js 0c807a421f0187e778dc1078f10d2994b915123c1223fe752b60afdcd1263f89
|
F ext/wasm/api/sqlite3-license-version-header.js 0c807a421f0187e778dc1078f10d2994b915123c1223fe752b60afdcd1263f89
|
||||||
@ -698,7 +698,7 @@ F ext/wasm/test-opfs-vfs.html 1f2d672f3f3fce810dfd48a8d56914aba22e45c6834e262555
|
|||||||
F ext/wasm/test-opfs-vfs.js 1618670e466f424aa289859fe0ec8ded223e42e9e69b5c851f809baaaca1a00c
|
F ext/wasm/test-opfs-vfs.js 1618670e466f424aa289859fe0ec8ded223e42e9e69b5c851f809baaaca1a00c
|
||||||
F ext/wasm/tester1-worker.html ebc4b820a128963afce328ecf63ab200bd923309eb939f4110510ab449e9814c
|
F ext/wasm/tester1-worker.html ebc4b820a128963afce328ecf63ab200bd923309eb939f4110510ab449e9814c
|
||||||
F ext/wasm/tester1.c-pp.html 1c1bc78b858af2019e663b1a31e76657b73dc24bede28ca92fbe917c3a972af2
|
F ext/wasm/tester1.c-pp.html 1c1bc78b858af2019e663b1a31e76657b73dc24bede28ca92fbe917c3a972af2
|
||||||
F ext/wasm/tester1.c-pp.js 830749ee21bde538f52e150878c0078a3f6d294ba183900efd8488a9e6debf4f
|
F ext/wasm/tester1.c-pp.js 0abba4bd54f6b22adaadf836c04d3163399f7a8a490fd60f20daac5f9c42b47d
|
||||||
F ext/wasm/tests/opfs/concurrency/index.html 657578a6e9ce1e9b8be951549ed93a6a471f4520a99e5b545928668f4285fb5e
|
F ext/wasm/tests/opfs/concurrency/index.html 657578a6e9ce1e9b8be951549ed93a6a471f4520a99e5b545928668f4285fb5e
|
||||||
F ext/wasm/tests/opfs/concurrency/test.js d08889a5bb6e61937d0b8cbb78c9efbefbf65ad09f510589c779b7cc6a803a88
|
F ext/wasm/tests/opfs/concurrency/test.js d08889a5bb6e61937d0b8cbb78c9efbefbf65ad09f510589c779b7cc6a803a88
|
||||||
F ext/wasm/tests/opfs/concurrency/worker.js 0a8c1a3e6ebb38aabbee24f122693f1fb29d599948915c76906681bb7da1d3d2
|
F ext/wasm/tests/opfs/concurrency/worker.js 0a8c1a3e6ebb38aabbee24f122693f1fb29d599948915c76906681bb7da1d3d2
|
||||||
@ -2208,8 +2208,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
|
|||||||
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
|
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
|
||||||
F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
|
F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
|
||||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||||
P 0ee19db02a9b9320681d4393d9ba52889d149eac8ee114fc7b7f52a57271c139
|
P 34d893b4837be8bb679e9809befd98201dd79c8d2054f41429b18793b77e840f
|
||||||
R 9671bcb7870e122ad1976f1fae21a064
|
R 3857d6c93e170f8a2978e6a4274a481e
|
||||||
U stephan
|
U stephan
|
||||||
Z adaaff03d3b0b893bc2eaac10b306778
|
Z 42d47a808b11dbced254adeb3041a5ca
|
||||||
# Remove this line to create a well-formed Fossil manifest.
|
# Remove this line to create a well-formed Fossil manifest.
|
||||||
|
@ -1 +1 @@
|
|||||||
34d893b4837be8bb679e9809befd98201dd79c8d2054f41429b18793b77e840f
|
91e709f36d36174534b4cf4ff548a558e66cca5e23a6c8c106bc43375fc3ce72
|
||||||
|
Reference in New Issue
Block a user