mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
Further tweaking in both SQLTesters.
FossilOrigin-Name: 46b0eb98e7a56cc188836c46f4289de6281f80e6bc6eb33e0aa9133a0f86f00c
This commit is contained in:
@@ -475,12 +475,12 @@ public class SQLTester {
|
|||||||
the db's result code.
|
the db's result code.
|
||||||
|
|
||||||
appendMode specifies how/whether to append results to the result
|
appendMode specifies how/whether to append results to the result
|
||||||
buffer. lineMode specifies whether to output all results in a
|
buffer. rowMode specifies whether to output all results in a
|
||||||
single line or one line per row. If appendMode is
|
single line or one line per row. If appendMode is
|
||||||
ResultBufferMode.NONE then lineMode is ignored and may be null.
|
ResultBufferMode.NONE then rowMode is ignored and may be null.
|
||||||
*/
|
*/
|
||||||
public int execSql(sqlite3 db, boolean throwOnError,
|
public int execSql(sqlite3 db, boolean throwOnError,
|
||||||
ResultBufferMode appendMode, ResultRowMode lineMode,
|
ResultBufferMode appendMode, ResultRowMode rowMode,
|
||||||
String sql) throws SQLTesterException {
|
String sql) throws SQLTesterException {
|
||||||
if( null==db && null==aDb[0] ){
|
if( null==db && null==aDb[0] ){
|
||||||
// Delay opening of the initial db to enable tests to change its
|
// Delay opening of the initial db to enable tests to change its
|
||||||
@@ -562,7 +562,7 @@ public class SQLTester {
|
|||||||
throw new SQLTesterException("Unhandled ResultBufferMode: "+appendMode);
|
throw new SQLTesterException("Unhandled ResultBufferMode: "+appendMode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( ResultRowMode.NEWLINE == lineMode ){
|
if( ResultRowMode.NEWLINE == rowMode ){
|
||||||
spacing = 0;
|
spacing = 0;
|
||||||
sb.append('\n');
|
sb.append('\n');
|
||||||
}
|
}
|
||||||
@@ -1128,8 +1128,9 @@ class TestScript {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getOutputPrefix(){
|
public String getOutputPrefix(){
|
||||||
String rc = "["+(moduleName==null ? filename : moduleName)+"]";
|
String rc = "["+(moduleName==null ? "<unnamed>" : moduleName)+"]";
|
||||||
if( null!=testCaseName ) rc += "["+testCaseName+"]";
|
if( null!=testCaseName ) rc += "["+testCaseName+"]";
|
||||||
|
if( null!=filename ) rc += "["+filename+"]";
|
||||||
return rc + " line "+ cur.lineNo;
|
return rc + " line "+ cur.lineNo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1273,6 +1274,7 @@ class TestScript {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean checkRequiredProperties(SQLTester t, String[] props) throws SQLTesterException{
|
private boolean checkRequiredProperties(SQLTester t, String[] props) throws SQLTesterException{
|
||||||
|
if( true ) return false;
|
||||||
int nOk = 0;
|
int nOk = 0;
|
||||||
for(String rp : props){
|
for(String rp : props){
|
||||||
verbose1("REQUIRED_PROPERTIES: ",rp);
|
verbose1("REQUIRED_PROPERTIES: ",rp);
|
||||||
@@ -1293,6 +1295,12 @@ class TestScript {
|
|||||||
t.appendDbInitSql("pragma temp_store=0;");
|
t.appendDbInitSql("pragma temp_store=0;");
|
||||||
++nOk;
|
++nOk;
|
||||||
break;
|
break;
|
||||||
|
case "AUTOVACUUM":
|
||||||
|
t.appendDbInitSql("pragma auto_vacuum=full;");
|
||||||
|
++nOk;
|
||||||
|
case "INCRVACUUM":
|
||||||
|
t.appendDbInitSql("pragma auto_vacuum=incremental;");
|
||||||
|
++nOk;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1331,9 +1339,9 @@ class TestScript {
|
|||||||
m = patternRequiredProperties.matcher(line);
|
m = patternRequiredProperties.matcher(line);
|
||||||
if( m.find() ){
|
if( m.find() ){
|
||||||
final String rp = m.group(1);
|
final String rp = m.group(1);
|
||||||
//if( ! checkRequiredProperties( tester, rp.split("\\s+") ) ){
|
if( ! checkRequiredProperties( tester, rp.split("\\s+") ) ){
|
||||||
throw new IncompatibleDirective(this, "REQUIRED_PROPERTIES: "+rp);
|
throw new IncompatibleDirective(this, "REQUIRED_PROPERTIES: "+rp);
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
m = patternMixedModuleName.matcher(line);
|
m = patternMixedModuleName.matcher(line);
|
||||||
if( m.find() ){
|
if( m.find() ){
|
||||||
|
@@ -6,7 +6,8 @@
|
|||||||
** xMODULE_NAME: module-name
|
** xMODULE_NAME: module-name
|
||||||
** xREQUIRED_PROPERTIES: small fast reliable
|
** xREQUIRED_PROPERTIES: small fast reliable
|
||||||
** xREQUIRED_PROPERTIES: RECURSIVE_TRIGGERS
|
** xREQUIRED_PROPERTIES: RECURSIVE_TRIGGERS
|
||||||
** xREQUIRED_PROPERTIES: TEMPSTORE_MEM TEMPSTORE_FILE
|
** xREQUIRED_PROPERTIES: TEMPSTORE_FILE TEMPSTORE_MEM
|
||||||
|
** xREQUIRED_PROPERTIES: AUTOVACUUM INCRVACUUM
|
||||||
**
|
**
|
||||||
*/
|
*/
|
||||||
--print starting up 😃
|
--print starting up 😃
|
||||||
|
@@ -112,12 +112,6 @@ class SQLTesterException extends globalThis.Error {
|
|||||||
}
|
}
|
||||||
this.name = 'SQLTesterException';
|
this.name = 'SQLTesterException';
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
If this overrideable method returns false (the default) then
|
|
||||||
exceptions of that type are fatal to a whole test run, instead of
|
|
||||||
just the test which triggered it. If the the "keep going" flag
|
|
||||||
is set, this preference is ignored.
|
|
||||||
*/
|
|
||||||
isFatal() { return false; }
|
isFatal() { return false; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,6 +163,7 @@ const __SAB = ('undefined'===typeof globalThis.SharedArrayBuffer)
|
|||||||
? function(){} : globalThis.SharedArrayBuffer;
|
? function(){} : globalThis.SharedArrayBuffer;
|
||||||
|
|
||||||
|
|
||||||
|
/* Frequently-reused regexes. */
|
||||||
const Rx = newObj({
|
const Rx = newObj({
|
||||||
requiredProperties: / REQUIRED_PROPERTIES:[ \t]*(\S.*)\s*$/,
|
requiredProperties: / REQUIRED_PROPERTIES:[ \t]*(\S.*)\s*$/,
|
||||||
scriptModuleName: / SCRIPT_MODULE_NAME:[ \t]*(\S+)\s*$/,
|
scriptModuleName: / SCRIPT_MODULE_NAME:[ \t]*(\S+)\s*$/,
|
||||||
@@ -176,7 +171,6 @@ const Rx = newObj({
|
|||||||
command: /^--(([a-z-]+)( .*)?)$/,
|
command: /^--(([a-z-]+)( .*)?)$/,
|
||||||
//! "Special" characters - we have to escape output if it contains any.
|
//! "Special" characters - we have to escape output if it contains any.
|
||||||
special: /[\x00-\x20\x22\x5c\x7b\x7d]/,
|
special: /[\x00-\x20\x22\x5c\x7b\x7d]/,
|
||||||
//! Either of '{' or '}'.
|
|
||||||
squiggly: /[{}]/
|
squiggly: /[{}]/
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -189,7 +183,7 @@ const Util = newObj({
|
|||||||
|
|
||||||
argvToString: (list)=>{
|
argvToString: (list)=>{
|
||||||
const m = [...list];
|
const m = [...list];
|
||||||
m.shift();
|
m.shift() /* strip command name */;
|
||||||
return m.join(" ")
|
return m.join(" ")
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -257,9 +251,10 @@ class Outer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static #verboseLabel = ["🔈",/*"🔉",*/"🔊","📢"];
|
||||||
verboseN(lvl, args){
|
verboseN(lvl, args){
|
||||||
if( this.#verbosity>=lvl ){
|
if( this.#verbosity>=lvl ){
|
||||||
this.#outlnImpl(lvl,'VERBOSE ',lvl,': ',...args);
|
this.#outlnImpl(lvl, Outer.#verboseLabel[lvl-1],': ',...args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
verbose1(...args){ return this.verboseN(1,args); }
|
verbose1(...args){ return this.verboseN(1,args); }
|
||||||
@@ -364,6 +359,22 @@ class SQLTester {
|
|||||||
this.#resultBuffer.push(line);
|
this.#resultBuffer.push(line);
|
||||||
if( addNL ) this.#resultBuffer.push('\n');
|
if( addNL ) this.#resultBuffer.push('\n');
|
||||||
}
|
}
|
||||||
|
appendDbInitSql(sql){
|
||||||
|
this.#db.initSql.push(sql);
|
||||||
|
if( this.currentDb() ){
|
||||||
|
this.execSql(null, true, ResultBufferMode.NONE, null, sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#runInitSql(pDb){
|
||||||
|
let rc = 0;
|
||||||
|
for(const sql of this.#db.initSql){
|
||||||
|
this.#outer.verbose2("RUNNING DB INIT CODE: ",sql);
|
||||||
|
rc = this.execSql(pDb, false, ResultBufferMode.NONE, null, sql);
|
||||||
|
if( rc ) break;
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
#clearBuffer(buffer){
|
#clearBuffer(buffer){
|
||||||
buffer.length = 0;
|
buffer.length = 0;
|
||||||
@@ -390,27 +401,21 @@ class SQLTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nullValue(){
|
nullValue(){
|
||||||
if( 0==arguments.length ){
|
return (0==arguments.length)
|
||||||
return this.#nullView;
|
? this.#nullView
|
||||||
}else{
|
: (this.#nullView = ''+arguments[0]);
|
||||||
this.#nullView = ''+arguments[0];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
outputColumnNames(){
|
outputColumnNames(){
|
||||||
if( 0==arguments.length ){
|
return (0==arguments.length)
|
||||||
return this.#emitColNames;
|
? this.#emitColNames
|
||||||
}else{
|
: (this.#emitColNames = !!arguments[0]);
|
||||||
this.#emitColNames = !!arguments[0];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
currentDbId(){
|
currentDbId(){
|
||||||
if( 0==arguments.length ){
|
return (0==arguments.length)
|
||||||
return this.#db.iCurrentDb;
|
? this.#db.iCurrentDb
|
||||||
}else{
|
: (this.#affirmDbId(arguments[0]).#db.iCurrentDb = arguments[0]);
|
||||||
this.#affirmDbId(arguments[0]).#db.iCurrentDb = arguments[0];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#affirmDbId(id){
|
#affirmDbId(id){
|
||||||
@@ -438,9 +443,9 @@ class SQLTester {
|
|||||||
if( 0==arguments.length ){
|
if( 0==arguments.length ){
|
||||||
id = this.#db.iCurrentDb;
|
id = this.#db.iCurrentDb;
|
||||||
}
|
}
|
||||||
const db = this.#affirmDbId(id).#db.list[id];
|
const pDb = this.#affirmDbId(id).#db.list[id];
|
||||||
if( db ){
|
if( pDb ){
|
||||||
sqlite3.capi.sqlite3_close_v2(db);
|
sqlite3.capi.sqlite3_close_v2(pDb);
|
||||||
this.#db.list[id] = null;
|
this.#db.list[id] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -474,10 +479,9 @@ class SQLTester {
|
|||||||
rc = sqlite3.capi.sqlite3_open_v2(name, ppOut, flags, null);
|
rc = sqlite3.capi.sqlite3_open_v2(name, ppOut, flags, null);
|
||||||
pDb = wasm.peekPtr(ppOut);
|
pDb = wasm.peekPtr(ppOut);
|
||||||
});
|
});
|
||||||
|
let sql;
|
||||||
if( 0==rc && this.#db.initSql.length > 0){
|
if( 0==rc && this.#db.initSql.length > 0){
|
||||||
this.#outer.verbose2("RUNNING DB INIT CODE: ",this.#db.initSql.toString());
|
rc = this.#runInitSql(pDb);
|
||||||
rc = this.execSql(pDb, false, ResultBufferMode.NONE,
|
|
||||||
null, this.#db.initSql.join(''));
|
|
||||||
}
|
}
|
||||||
if( 0!=rc ){
|
if( 0!=rc ){
|
||||||
sqlite3.SQLite3Error.toss(
|
sqlite3.SQLite3Error.toss(
|
||||||
@@ -613,7 +617,7 @@ class SQLTester {
|
|||||||
sqlite3.oo1.DB.checkRc(pDb, rc);
|
sqlite3.oo1.DB.checkRc(pDb, rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
execSql(pDb, throwOnError, appendMode, lineMode, sql){
|
execSql(pDb, throwOnError, appendMode, rowMode, sql){
|
||||||
if( !pDb && !this.#db.list[0] ){
|
if( !pDb && !this.#db.list[0] ){
|
||||||
this.#setupInitialDb();
|
this.#setupInitialDb();
|
||||||
}
|
}
|
||||||
@@ -685,7 +689,7 @@ class SQLTester {
|
|||||||
}
|
}
|
||||||
}/* column loop */
|
}/* column loop */
|
||||||
}/* row loop */
|
}/* row loop */
|
||||||
if( ResultRowMode.NEWLINE === lineMode ){
|
if( ResultRowMode.NEWLINE === rowMode ){
|
||||||
spacing = 0;
|
spacing = 0;
|
||||||
sb.push('\n');
|
sb.push('\n');
|
||||||
}
|
}
|
||||||
@@ -806,8 +810,9 @@ class TestScript {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getOutputPrefix() {
|
getOutputPrefix() {
|
||||||
let rc = "["+(this.#moduleName || this.#filename)+"]";
|
let rc = "["+(this.#moduleName || '<unnamed>')+"]";
|
||||||
if( this.#testCaseName ) rc += "["+this.#testCaseName+"]";
|
if( this.#testCaseName ) rc += "["+this.#testCaseName+"]";
|
||||||
|
if( this.#filename ) rc += '['+this.#filename+']';
|
||||||
return rc + " line "+ this.#cursor.lineNo;
|
return rc + " line "+ this.#cursor.lineNo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -829,6 +834,42 @@ class TestScript {
|
|||||||
return args.length ? this : rc;
|
return args.length ? this : rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#checkRequiredProperties(tester, props){
|
||||||
|
if(true) return false;
|
||||||
|
let nOk = 0;
|
||||||
|
for(const rp of props){
|
||||||
|
this.verbose2("REQUIRED_PROPERTIES: ",rp);
|
||||||
|
switch(rp){
|
||||||
|
case "RECURSIVE_TRIGGERS":
|
||||||
|
tester.appendDbInitSql("pragma recursive_triggers=on;");
|
||||||
|
++nOk;
|
||||||
|
break;
|
||||||
|
case "TEMPSTORE_FILE":
|
||||||
|
/* This _assumes_ that the lib is built with SQLITE_TEMP_STORE=1 or 2,
|
||||||
|
which we just happen to know is the case */
|
||||||
|
tester.appendDbInitSql("pragma temp_store=1;");
|
||||||
|
++nOk;
|
||||||
|
break;
|
||||||
|
case "TEMPSTORE_MEM":
|
||||||
|
/* This _assumes_ that the lib is built with SQLITE_TEMP_STORE=1 or 2,
|
||||||
|
which we just happen to know is the case */
|
||||||
|
tester.appendDbInitSql("pragma temp_store=0;");
|
||||||
|
++nOk;
|
||||||
|
break;
|
||||||
|
case "AUTOVACUUM":
|
||||||
|
tester.appendDbInitSql("pragma auto_vacuum=full;");
|
||||||
|
++nOk;
|
||||||
|
break;
|
||||||
|
case "INCRVACUUM":
|
||||||
|
tester.appendDbInitSql("pragma auto_vacuum=incremental;");
|
||||||
|
++nOk;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return props.length == nOk;
|
||||||
|
}
|
||||||
|
|
||||||
#checkForDirective(tester,line){
|
#checkForDirective(tester,line){
|
||||||
if(line.startsWith("#")){
|
if(line.startsWith("#")){
|
||||||
throw new IncompatibleDirective(this, "C-preprocessor input: "+line);
|
throw new IncompatibleDirective(this, "C-preprocessor input: "+line);
|
||||||
@@ -843,9 +884,9 @@ class TestScript {
|
|||||||
m = Rx.requiredProperties.exec(line);
|
m = Rx.requiredProperties.exec(line);
|
||||||
if( m ){
|
if( m ){
|
||||||
const rp = m[1];
|
const rp = m[1];
|
||||||
//if( ! checkRequiredProperties( tester, rp.split("\\s+") ) ){
|
if( !this.#checkRequiredProperties( tester, rp.split(/\s+/).filter(v=>!!v) ) ){
|
||||||
throw new IncompatibleDirective(this, "REQUIRED_PROPERTIES: "+rp);
|
throw new IncompatibleDirective(this, "REQUIRED_PROPERTIES: "+rp);
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m = Rx.mixedModuleName.exec(line);
|
m = Rx.mixedModuleName.exec(line);
|
||||||
|
@@ -42,7 +42,8 @@ let ts = new ns.TestScript('/foo.test',`
|
|||||||
** xMODULE_NAME: module-name
|
** xMODULE_NAME: module-name
|
||||||
** xREQUIRED_PROPERTIES: small fast reliable
|
** xREQUIRED_PROPERTIES: small fast reliable
|
||||||
** xREQUIRED_PROPERTIES: RECURSIVE_TRIGGERS
|
** xREQUIRED_PROPERTIES: RECURSIVE_TRIGGERS
|
||||||
** xREQUIRED_PROPERTIES: TEMPSTORE_MEM TEMPSTORE_FILE
|
** xREQUIRED_PROPERTIES: TEMPSTORE_FILE TEMPSTORE_MEM
|
||||||
|
** xREQUIRED_PROPERTIES: AUTOVACUUM INCRVACUUM
|
||||||
**
|
**
|
||||||
*/
|
*/
|
||||||
/* --verbosity 3 */
|
/* --verbosity 3 */
|
||||||
|
18
manifest
18
manifest
@@ -1,5 +1,5 @@
|
|||||||
C When\sa\sJS\sSQLTester\sscript\sthrows,\sreport\sthe\sexception\sdetails\sback\sto\sthe\sUI\sregardless\sof\swhether\sit's\sfatal.
|
C Further\stweaking\sin\sboth\sSQLTesters.
|
||||||
D 2023-08-30T14:20:02.025
|
D 2023-08-30T15:51:42.969
|
||||||
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
|
||||||
@@ -283,9 +283,9 @@ F ext/jni/src/org/sqlite/jni/sqlite3.java 62b1b81935ccf3393472d17cb883dc5ff39c38
|
|||||||
F ext/jni/src/org/sqlite/jni/sqlite3_context.java 66ca95ce904044263a4aff684abe262d56f73e6b06bca6cf650761d79d7779ad
|
F ext/jni/src/org/sqlite/jni/sqlite3_context.java 66ca95ce904044263a4aff684abe262d56f73e6b06bca6cf650761d79d7779ad
|
||||||
F ext/jni/src/org/sqlite/jni/sqlite3_stmt.java 78e6d1b95ac600a9475e9db4623f69449322b0c93d1bd4e1616e76ed547ed9fc
|
F ext/jni/src/org/sqlite/jni/sqlite3_stmt.java 78e6d1b95ac600a9475e9db4623f69449322b0c93d1bd4e1616e76ed547ed9fc
|
||||||
F ext/jni/src/org/sqlite/jni/sqlite3_value.java 3d1d4903e267bc0bc81d57d21f5e85978eff389a1a6ed46726dbe75f85e6914a
|
F ext/jni/src/org/sqlite/jni/sqlite3_value.java 3d1d4903e267bc0bc81d57d21f5e85978eff389a1a6ed46726dbe75f85e6914a
|
||||||
F ext/jni/src/org/sqlite/jni/tester/SQLTester.java e5a1a4b55ed940e61558be1292aa66563219f360c7c1f9d40d770307e6da3c07
|
F ext/jni/src/org/sqlite/jni/tester/SQLTester.java a6863d0284c8ec8ca5abd3d40e1fb297e7ae57fb97282ba335cd896a770e3918
|
||||||
F ext/jni/src/org/sqlite/jni/tester/test-script-interpreter.md f9f25126127045d051e918fe59004a1485311c50a13edbf18c79a6ff9160030e
|
F ext/jni/src/org/sqlite/jni/tester/test-script-interpreter.md f9f25126127045d051e918fe59004a1485311c50a13edbf18c79a6ff9160030e
|
||||||
F ext/jni/src/tests/000-000-sanity.test cfe6dc1b950751d6096e3f5695becaadcdaa048bfe9567209d6eb676e693366d
|
F ext/jni/src/tests/000-000-sanity.test c3427a0e0ac84d7cbe4c95fdc1cd4b61f9ddcf43443408f3000139478c4dc745
|
||||||
F ext/jni/src/tests/000-001-ignored.test e17e874c6ab3c437f1293d88093cf06286083b65bf162317f91bbfd92f961b70
|
F ext/jni/src/tests/000-001-ignored.test e17e874c6ab3c437f1293d88093cf06286083b65bf162317f91bbfd92f961b70
|
||||||
F ext/jni/src/tests/900-001-fts.test bf0ce17a8d082773450e91f2388f5bbb2dfa316d0b676c313c637a91198090f0
|
F ext/jni/src/tests/900-001-fts.test bf0ce17a8d082773450e91f2388f5bbb2dfa316d0b676c313c637a91198090f0
|
||||||
F ext/lsm1/Makefile a553b728bba6c11201b795188c5708915cc4290f02b7df6ba7e8c4c943fd5cd9
|
F ext/lsm1/Makefile a553b728bba6c11201b795188c5708915cc4290f02b7df6ba7e8c4c943fd5cd9
|
||||||
@@ -549,8 +549,8 @@ F ext/wasm/GNUmakefile 0e362f3fc04eab6628cbe4f1e35f4ab4a200881f6b5f753b27fb45eab
|
|||||||
F ext/wasm/README-dist.txt 6382cb9548076fca472fb3330bbdba3a55c1ea0b180ff9253f084f07ff383576
|
F ext/wasm/README-dist.txt 6382cb9548076fca472fb3330bbdba3a55c1ea0b180ff9253f084f07ff383576
|
||||||
F ext/wasm/README.md a8a2962c3aebdf8d2104a9102e336c5554e78fc6072746e5daf9c61514e7d193
|
F ext/wasm/README.md a8a2962c3aebdf8d2104a9102e336c5554e78fc6072746e5daf9c61514e7d193
|
||||||
F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
|
F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
|
||||||
F ext/wasm/SQLTester/SQLTester.mjs 20309ff838209601711087932b008734bab00176e6a47e41d95e11f6d363bae0
|
F ext/wasm/SQLTester/SQLTester.mjs ec2f6ba63a0f2f0562941a0fb8e46b7dc55589711513f1952349785966edfe50
|
||||||
F ext/wasm/SQLTester/SQLTester.run.mjs addeb962f33fb6bca723ab12f0b018303ff962dfc57ee969d051fcbf4f191569
|
F ext/wasm/SQLTester/SQLTester.run.mjs c72b7fe2072d05992f7a3d8c6a1d34e95712513ceabe40849784e24e41c84638
|
||||||
F ext/wasm/SQLTester/index.html 3a12895015c165281307eb47786ce3c46b3c3f06383ad6a9fe3a8526105632f1
|
F ext/wasm/SQLTester/index.html 3a12895015c165281307eb47786ce3c46b3c3f06383ad6a9fe3a8526105632f1
|
||||||
F ext/wasm/SQLTester/touint8array.c 2d5ece04ec1393a6a60c4bf96385bda5e1a10ad49f3038b96460fc5e5aa7e536
|
F ext/wasm/SQLTester/touint8array.c 2d5ece04ec1393a6a60c4bf96385bda5e1a10ad49f3038b96460fc5e5aa7e536
|
||||||
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api d6a5078f48a5301ed17b9a30331075d9b2506e1360c1f0dee0c7816c10acd9ab
|
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api d6a5078f48a5301ed17b9a30331075d9b2506e1360c1f0dee0c7816c10acd9ab
|
||||||
@@ -2115,8 +2115,8 @@ 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 b530792a514d95c4e8f93cf2170d9fc4de367055fa1704fc171551c946024fa9
|
P 273d3b05f630d399d42914e95c416b107b4746bbef129cfba9d00fd921666261
|
||||||
R 27c4b366fbb2810d013255774a7479ce
|
R 137dd20583c129ec3973659fafa81f04
|
||||||
U stephan
|
U stephan
|
||||||
Z 3efc7b20eec1af6f89785f42be992e20
|
Z b64a49daabb87406caca79373e21eb07
|
||||||
# Remove this line to create a well-formed Fossil manifest.
|
# Remove this line to create a well-formed Fossil manifest.
|
||||||
|
@@ -1 +1 @@
|
|||||||
273d3b05f630d399d42914e95c416b107b4746bbef129cfba9d00fd921666261
|
46b0eb98e7a56cc188836c46f4289de6281f80e6bc6eb33e0aa9133a0f86f00c
|
Reference in New Issue
Block a user