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- >boun...@mailinglists.sqlite.org] 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 <kmedc...@dessus.com> >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- >> >boun...@mailinglists.sqlite.org] 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 ><kmedc...@dessus.com> >> >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- >> >> >boun...@mailinglists.sqlite.org] On Behalf Of Dan Kennedy >> >> >Sent: Friday, 25 August, 2017 03:45 >> >> >To: sqlite-users@mailinglists.sqlite.org >> >> >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 >> >> >sqlite-users@mailinglists.sqlite.org >> >> >http://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 >> >> >> >_______________________________________________ >> >sqlite-users mailing list >> >sqlite-users@mailinglists.sqlite.org >> >http://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 >> >_______________________________________________ >sqlite-users mailing list >sqlite-users@mailinglists.sqlite.org >http://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