I have a file named SQLite3.dll, but I don't know which sqlite version it is.
Any help on how to finding that out?TIA
ArbolOne.caUsing Fire Fox and Thunderbird.ArbolOne is composed of students and
volunteers dedicated to providing free services to charitable
organizations.ArbolOne on Java Development in progress ⏳
-- Original message--From: Jens AlfkeDate: Mon, Sep 11, 2017 7:05 PMTo:
SQLite mailing list;Subject:[sqlite] Table-valued function crashing in SQLite
3.20
We have a virtual table serving as a table-valued function, which has worked
fine up through SQLite 3.19, but now in 3.20.1 is crashing whenever it’s used.
I know there were changes in 3.20 relating to native functions taking pointers,
but this doesn’t seem to be related to that. Were there any other
possibly-breaking changes to the way virtual tables work? I didn’t see any in
the release notes.As virtual tables go it’s pretty simple. It was shamelessly
copied from the json_each implementation in json1.c, then adapted from there,
and it’s still quite similar (it’s just that the data collection it’s iterating
over is not in JSON format.)What I’m seeing is that our fl_each's xConnect and
xBestIndex are called at compile/prepare time, then xOpen is called during the
first call to sqlite3_step, and immediately after that comes a crash in
sqlite3VdbeCursorMoveto() because the passed-in VdbeCursor is NULL. (Actually
pp is a valid pointer, but *pp is NULL.) This is right at the start of handling
the next opcode, Column.Top of the backtrace is:* thread #1, queue =
'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: sqlite3VdbeCursorMoveto(pp=0x7ffeefbfb028,
piCol=0x7ffeefbfb034) at sqlite3.c:75132 * frame #1:
sqlite3VdbeExec(p=0x000101171680) at sqlite3.c:81369frame #2:
sqlite3Step(p=0x000101171680) at sqlite3.c:77352frame #3:
sqlite3_step(pStmt=0x000101171680) at sqlite3.c:77416The SQL query looks
like:SELECT sequence, key, version, flags FROM kv_default WHERE (EXISTS (SELECT
1 FROM fl_each(body, 'likes') AS _like WHERE _like.value = 'climbing’))EXPLAIN
returns:0Init024000Start at 241Integer02000r[2]=0; Init EXISTS
result2Integer13000r[3]=1; LIMIT
counter3VOpen100vtab:10116FC4Column04600r[6]=kv_default.body<==CRASH AT
THIS
OPCODE5String8070likes00r[7]='likes'6Integer24000r[4]=27Integer25000r[5]=28VFilter114400iplan=r[4]
zplan=''9VColumn11800r[8]=vcolumn(1); fl_each.value10Ne9138(BINARY)51if
r[8]!=r[9] goto 1311Integer12000r[2]=112DecrJumpZero314000if (--r[3])==0 goto
1413VNext1900014IfNot22310015OpenRead040500root=4 iDb=0;
kv_default16Rewind02300017Column011100r[11]=kv_default.sequence18Column001200r[12]=kv_default.key19Column031300r[13]=kv_default.version20Column0214000r[14]=kv_default.flags21ResultRow114000output=r[11..14]22Next01700123Halt024Transaction004001usesStmtJournal=025String8090climbing00r[9]='climbing'26Goto01000(This
is on Mac OS; I’m on the current beta of 10.13, though that shouldn’t make a
difference.)—Jens___sqlite-users
mailing
listsqlite-users@mailinglists.sqlite.orghttp://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users