Tried with the latest 3.20.1, but same result.
My explain output is like this:

addr opcode p1 p2 p3 p4 p5 comment
0 Init 0 1 0  00 Start at 1
1 String8 0 1 0 application_id 00 r[1]='application_id'
2 ResultRow 1 1 0  00 output=r[1]
3 ResultRow 1 1 0  00 output=r[1]
4 String8 0 1 0 auto_vacuum 00 r[1]='auto_vacuum'
5 ResultRow 1 1 0  00 output=r[1]
6 ResultRow 1 1 0  00 output=r[1]
7 String8 0 1 0 automatic_index 00 r[1]='automatic_index'
8 ResultRow 1 1 0  00 output=r[1]
9 ResultRow 1 1 0  00 output=r[1]

I did comment out those same 4 lines.

I suppose it has to be something in my application code.

pragma database_list works fine though with this explain output:

addr opcode p1 p2 p3 p4 p5 comment
0 Init 0 1 0  00 Start at 1
1 Integer 0 1 0  00 r[1]=0
2 String8 0 2 0 main 00 r[2]='main'
3 String8 0 3 0 C:\Test\Test.db3 00 r[3]='C:\Test\Test.db3'
4 ResultRow 1 3 0  00 output=r[1..3]
5 Halt 0 0 0  00

No idea what is going on.


RBS

On Fri, Aug 25, 2017 at 10:08 PM, Keith Medcalf <kmedc...@dessus.com> wrote:

>
> 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 9501e22dfeebdcefa783575e47c60b
> 514d7c2e0cad73b2a496c0bc4b680900a8
> 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
>
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to