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

Reply via email to