Doesn't help a lot. Works for me though with the standard 3.20.0 release
though ...
SQLite version 3.20.0 2017-08-01 13:24:15
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .eqp full
sqlite> select sqlite_source_id();
addr opcode p1 p2 p3 p4 p5 comment
---- ------------- ---- ---- ---- ------------- -- -------------
0 Init 0 6 0 00 Start at 6
1 Noop 0 0 0 00 Begin WHERE-core
2 Copy 2 1 0 00 r[1]=r[2]
3 ResultRow 1 1 0 00 output=r[1]
4 Noop 0 0 0 00 End WHERE-core
5 Halt 0 0 0 00
6 Function0 0 0 2 sqlite_source_id(0) 00 r[2]=func(r[0])
7 Goto 0 1 0 00
2017-08-01 13:24:15
9501e22dfeebdcefa783575e47c60b514d7c2e0cad73b2a496c0bc4b680900a8
sqlite> pragma module_list;
addr opcode p1 p2 p3 p4 p5 comment
---- ------------- ---- ---- ---- ------------- -- -------------
0 Init 0 1 0 00 Start at 1
1 String8 0 1 0 sqlite_stmt 00 r[1]='sqlite_stmt'
2 ResultRow 1 1 0 00 output=r[1]
3 String8 0 1 0 json_tree 00 r[1]='json_tree'
4 ResultRow 1 1 0 00 output=r[1]
5 String8 0 1 0 rtree_i32 00 r[1]='rtree_i32'
6 ResultRow 1 1 0 00 output=r[1]
7 String8 0 1 0 fts3tokenize 00 r[1]='fts3tokenize'
8 ResultRow 1 1 0 00 output=r[1]
9 String8 0 1 0 fts3 00 r[1]='fts3'
10 ResultRow 1 1 0 00 output=r[1]
11 String8 0 1 0 fts4aux 00 r[1]='fts4aux'
12 ResultRow 1 1 0 00 output=r[1]
13 String8 0 1 0 interpolate 00 r[1]='interpolate'
14 ResultRow 1 1 0 00 output=r[1]
15 String8 0 1 0 vfsstat 00 r[1]='vfsstat'
16 ResultRow 1 1 0 00 output=r[1]
17 String8 0 1 0 dbstat 00 r[1]='dbstat'
18 ResultRow 1 1 0 00 output=r[1]
19 String8 0 1 0 rtree 00 r[1]='rtree'
20 ResultRow 1 1 0 00 output=r[1]
21 String8 0 1 0 carray 00 r[1]='carray'
22 ResultRow 1 1 0 00 output=r[1]
23 String8 0 1 0 fts5 00 r[1]='fts5'
24 ResultRow 1 1 0 00 output=r[1]
25 String8 0 1 0 json_each 00 r[1]='json_each'
26 ResultRow 1 1 0 00 output=r[1]
27 String8 0 1 0 approximate_match 00
r[1]='approximate_match'
28 ResultRow 1 1 0 00 output=r[1]
29 String8 0 1 0 fts4 00 r[1]='fts4'
30 ResultRow 1 1 0 00 output=r[1]
31 String8 0 1 0 transitive_closure 00
r[1]='transitive_closure'
32 ResultRow 1 1 0 00 output=r[1]
33 String8 0 1 0 completion 00 r[1]='completion'
34 ResultRow 1 1 0 00 output=r[1]
35 String8 0 1 0 fuzzer 00 r[1]='fuzzer'
36 ResultRow 1 1 0 00 output=r[1]
37 String8 0 1 0 spellfix1 00 r[1]='spellfix1'
38 ResultRow 1 1 0 00 output=r[1]
39 String8 0 1 0 wholenumber 00 r[1]='wholenumber'
40 ResultRow 1 1 0 00 output=r[1]
41 String8 0 1 0 fts5vocab 00 r[1]='fts5vocab'
42 ResultRow 1 1 0 00 output=r[1]
43 String8 0 1 0 generate_series 00
r[1]='generate_series'
44 ResultRow 1 1 0 00 output=r[1]
45 String8 0 1 0 csv 00 r[1]='csv'
46 ResultRow 1 1 0 00 output=r[1]
47 Halt 0 0 0 00
sqlite_stmt
json_tree
rtree_i32
fts3tokenize
fts3
fts4aux
interpolate
vfsstat
dbstat
rtree
carray
fts5
json_each
approximate_match
fts4
transitive_closure
completion
fuzzer
spellfix1
wholenumber
fts5vocab
generate_series
csv
sqlite>
sqlite3.c
#ifdef SQLITE_INTROSPECTION_PRAGMAS
case PragTyp_FUNCTION_LIST: {
int i;
HashElem *j;
FuncDef *p;
pParse->nMem = 2;
for(i=0; i<SQLITE_FUNC_HASH_SZ; i++){
for(p=sqlite3BuiltinFunctions.a[i]; p; p=p->u.pHash ){
sqlite3VdbeMultiLoad(v, 1, "si", p->zName, 1);
// sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 2);
}
}
for(j=sqliteHashFirst(&db->aFunc); j; j=sqliteHashNext(j)){
p = (FuncDef*)sqliteHashData(j);
sqlite3VdbeMultiLoad(v, 1, "si", p->zName, 0);
// sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 2);
}
}
break;
#ifndef SQLITE_OMIT_VIRTUALTABLE
case PragTyp_MODULE_LIST: {
HashElem *j;
pParse->nMem = 1;
for(j=sqliteHashFirst(&db->aModule); j; j=sqliteHashNext(j)){
Module *pMod = (Module*)sqliteHashData(j);
sqlite3VdbeMultiLoad(v, 1, "s", pMod->zName);
// sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 1);
}
}
break;
#endif /* SQLITE_OMIT_VIRTUALTABLE */
case PragTyp_PRAGMA_LIST: {
int i;
for(i=0; i<ArraySize(aPragmaName); i++){
sqlite3VdbeMultiLoad(v, 1, "s", aPragmaName[i].zName);
// sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 1);
}
}
break;
#endif /* SQLITE_INTROSPECTION_PRAGMAS */
---
The fact that there's a Highway to Hell but only a Stairway to Heaven says a
lot about anticipated traffic volume.
>-----Original Message-----
>From: sqlite-users [mailto:sqlite-users-
>[email protected]] On Behalf Of Bart Smissaert
>Sent: Friday, 25 August, 2017 14:57
>To: SQLite mailing list
>Subject: Re: [sqlite] FIX FOR:: Duplicate output with pragma_list,
>function_list, module_list
>
>The standard 3.20.0, second down on this page:
>https://www.sqlite.org/download.html
>
>Noticed though there is a new version and will try that one.
>
>RBS
>
>On Fri, Aug 25, 2017 at 9:48 PM, Keith Medcalf <[email protected]>
>wrote:
>
>>
>> Which amalgamation?
>>
>>
>>
>> ---
>> The fact that there's a Highway to Hell but only a Stairway to
>Heaven says
>> a lot about anticipated traffic volume.
>>
>>
>> >-----Original Message-----
>> >From: sqlite-users [mailto:sqlite-users-
>> >[email protected]] On Behalf Of Bart Smissaert
>> >Sent: Friday, 25 August, 2017 14:13
>> >To: SQLite mailing list
>> >Subject: Re: [sqlite] FIX FOR:: Duplicate output with pragma_list,
>> >function_list, module_list
>> >
>> >I copied the exact code block as in
>> >http://www.sqlite.org/src/info/b79cc8dc88c8ae03
>> >compiled in MSVS, no errors and dll works fine, but still
>duplicate
>> >output.
>> >This is in Windows 8.
>> >I compiled the edited amalgation. I checked in Notepad that
>sqlite3.c
>> >had
>> >indeed the needed changes
>> >and it had, so no idea why I still get the duplicates. Must be
>some
>> >silly
>> >mistake I am making, but no idea what.
>> >
>> >RBS
>> >
>> >
>> >On Fri, Aug 25, 2017 at 8:28 PM, Keith Medcalf
><[email protected]>
>> >wrote:
>> >
>> >>
>> >> Thanks Dan. That works for me ...
>> >>
>> >> ---
>> >> The fact that there's a Highway to Hell but only a Stairway to
>> >Heaven says
>> >> a lot about anticipated traffic volume.
>> >>
>> >>
>> >> >-----Original Message-----
>> >> >From: sqlite-users [mailto:sqlite-users-
>> >> >[email protected]] On Behalf Of Dan Kennedy
>> >> >Sent: Friday, 25 August, 2017 03:45
>> >> >To: [email protected]
>> >> >Subject: Re: [sqlite] FIX FOR:: Duplicate output with
>pragma_list,
>> >> >function_list, module_list
>> >> >
>> >> >On 08/25/2017 06:41 AM, Keith Medcalf wrote:
>> >> >> If you search sqlite3.c for the SQLITE3_INTROSPECTION_PRAGMAS
>> >you
>> >> >will see in pragma.c (or in sqlite3.c) the following code:
>> >> >
>> >> >Thanks for looking into this. Now fixed here:
>> >> >
>> >> > http://www.sqlite.org/src/info/b79cc8dc88c8ae03
>> >> >
>> >> >Dan.
>> >> >
>> >> >
>> >> >_______________________________________________
>> >> >sqlite-users mailing list
>> >> >[email protected]
>> >> >http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-
>> >users
>> >>
>> >>
>> >>
>> >> _______________________________________________
>> >> sqlite-users mailing list
>> >> [email protected]
>> >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-
>> >users
>> >>
>> >_______________________________________________
>> >sqlite-users mailing list
>> >[email protected]
>> >http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-
>users
>>
>>
>>
>> _______________________________________________
>> sqlite-users mailing list
>> [email protected]
>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-
>users
>>
>_______________________________________________
>sqlite-users mailing list
>[email protected]
>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users