Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-26 Thread Bart Smissaert
Fixed this now. Problem was that in the same folder as the MSVS .vcxproj
file there was an old amalgation file.
Somehow this must have been used although in MSVS the right sqlite3.c file
(3.20.1) was loaded and this new file seemed to be part of the project.
Fixed it by putting that 3.20.1 sqlite3.c file in the same folder as the
.vcxproj file.
Confusing thing that MSVS!

RBS

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

>
> Interesting.  That would indicate that the code where you commented out
> the extra ResultRow OP is still being executed.  Which it cannot be if you
> re-compiled the code and generated a new executable/dll/so with those
> instructions commented out.
>
> So I think somehow your compiler is not actually updating what you are
> running, or that you are not running what you think you are compiling ...
>
> ---
> 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 15:25
> >To: SQLite mailing list
> >Subject: Re: [sqlite] FIX FOR:: Duplicate output with pragma_list,
> >function_list, module_list
> >
> >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 p1p2p3p4 p5  comment
> >>   -        -  --  -
> >
> >> 0 Init   0 6 000  Start at
> >6
> >> 1 Noop   0 0 000  Begin
> >WHERE-core
> >> 2 Copy   2 1 000  r[1]=r[2]
> >> 3 ResultRow  1 1 000
> >output=r[1]
> >> 4 Noop   0 0 000  End
> >WHERE-core
> >> 5 Halt   0 0 000
> >> 6 Function0  0 0 2 sqlite_source_id(0)  00
> >> r[2]=func(r[0])
> >> 7 Goto   0 1 000
> >> 2017-08-01 13:24:15 9501e22dfeebdcefa783575e47c60b
> >> 514d7c2e0cad73b2a496c0bc4b680900a8
> >> sqlite> pragma module_list;
> >> addr  opcode p1p2p3p4 p5  comment
> >>   -        -  --  -
> >
> >> 0 Init   0 1 000  Start at
> >1
> >> 1 String80 1 0 sqlite_stmt00
> >> r[1]='sqlite_stmt'
> >> 2 ResultRow  1 1 000
> >output=r[1]
> >> 3 String80 1 0 json_tree  00
> >r[1]='json_tree'
> >> 4 ResultRow  1 1 000
> >output=r[1]
> >> 5 String80 1

Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-26 Thread Bart Smissaert
> So I think somehow your compiler is not actually updating what you are
running, or that you are not running what you think you are compiling ...

Yes, that seems the case, but can't see it. Will just double check
everything.

RBS

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

>
> Interesting.  That would indicate that the code where you commented out
> the extra ResultRow OP is still being executed.  Which it cannot be if you
> re-compiled the code and generated a new executable/dll/so with those
> instructions commented out.
>
> So I think somehow your compiler is not actually updating what you are
> running, or that you are not running what you think you are compiling ...
>
> ---
> 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 15:25
> >To: SQLite mailing list
> >Subject: Re: [sqlite] FIX FOR:: Duplicate output with pragma_list,
> >function_list, module_list
> >
> >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 p1p2p3p4 p5  comment
> >>   -        -  --  -
> >
> >> 0 Init   0 6 000  Start at
> >6
> >> 1 Noop   0 0 000  Begin
> >WHERE-core
> >> 2 Copy   2 1 000  r[1]=r[2]
> >> 3 ResultRow  1 1 000
> >output=r[1]
> >> 4 Noop   0 0 000  End
> >WHERE-core
> >> 5 Halt   0 0 000
> >> 6 Function0  0 0 2 sqlite_source_id(0)  00
> >> r[2]=func(r[0])
> >> 7 Goto   0 1 000
> >> 2017-08-01 13:24:15 9501e22dfeebdcefa783575e47c60b
> >> 514d7c2e0cad73b2a496c0bc4b680900a8
> >> sqlite> pragma module_list;
> >> addr  opcode p1p2p3p4 p5  comment
> >>   -        -  --  -
> >
> >> 0 Init   0 1 000  Start at
> >1
> >> 1 String80 1 0 sqlite_stmt00
> >> r[1]='sqlite_stmt'
> >> 2 ResultRow  1 1 000
> >output=r[1]
> >> 3 String80 1 0 json_tree  00
> >r[1]='json_tree'
> >> 4 ResultRow  1 1 000
> >output=r[1]
> >> 5 String80 1 0 rtree_i32  00
> >r[1]='rtree_i32'
> >> 6 ResultRow  1 1 000
> >output=r[1

Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-25 Thread Keith Medcalf

Interesting.  That would indicate that the code where you commented out the 
extra ResultRow OP is still being executed.  Which it cannot be if you 
re-compiled the code and generated a new executable/dll/so with those 
instructions commented out.

So I think somehow your compiler is not actually updating what you are running, 
or that you are not running what you think you are compiling ...

---
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 15:25
>To: SQLite mailing list
>Subject: Re: [sqlite] FIX FOR:: Duplicate output with pragma_list,
>function_list, module_list
>
>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 p1p2p3p4 p5  comment
>>   -        -  --  -
>
>> 0 Init   0 6 000  Start at
>6
>> 1 Noop   0 0 000  Begin
>WHERE-core
>> 2 Copy   2 1 000  r[1]=r[2]
>> 3 ResultRow  1 1 000
>output=r[1]
>> 4 Noop   0 0 000  End
>WHERE-core
>> 5 Halt   0 0 000
>> 6 Function0  0 0 2 sqlite_source_id(0)  00
>> r[2]=func(r[0])
>> 7 Goto   0 1 000
>> 2017-08-01 13:24:15 9501e22dfeebdcefa783575e47c60b
>> 514d7c2e0cad73b2a496c0bc4b680900a8
>> sqlite> pragma module_list;
>> addr  opcode p1p2p3p4 p5  comment
>>   -        -  --  -
>
>> 0 Init   0 1 000  Start at
>1
>> 1 String80 1 0 sqlite_stmt00
>> r[1]='sqlite_stmt'
>> 2 ResultRow  1 1 000
>output=r[1]
>> 3 String80 1 0 json_tree  00
>r[1]='json_tree'
>> 4 ResultRow  1 1 000
>output=r[1]
>> 5 String80 1 0 rtree_i32  00
>r[1]='rtree_i32'
>> 6 ResultRow  1 1 000
>output=r[1]
>> 7 String80 1 0 fts3tokenize   00
>> r[1]='fts3tokenize'
>> 8 ResultRow  1 1 000
>output=r[1]
>> 9 String80 1 0 fts3   00
>r[1]='fts3'
>> 10ResultRow  1 1 000
>output=r[1]
>> 11String80 1 0 fts4aux00
>r[1]='fts4aux'
>> 12ResultRow  1 1 000
>output=r[1]
>> 13String80 1 0 interpolate00
>> r[1]='interpolate'
>> 14ResultRow  1 1 000
>output=r[1]
>> 15String80 1 0 vfsstat00
>r[1]='vfsstat'
>> 16ResultRow  1 1 0   

Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-25 Thread Bart Smissaert
  00  output=r[1]
> 33String80 1 0 completion 00  r[1]='completion'
> 34ResultRow  1 1 000  output=r[1]
> 35String80 1 0 fuzzer 00  r[1]='fuzzer'
> 36ResultRow  1 1 000  output=r[1]
> 37String80 1 0 spellfix1  00  r[1]='spellfix1'
> 38ResultRow  1 1 000  output=r[1]
> 39String80 1 0 wholenumber00
> r[1]='wholenumber'
> 40ResultRow  1 1 000  output=r[1]
> 41String80 1 0 fts5vocab  00  r[1]='fts5vocab'
> 42ResultRow  1 1 000  output=r[1]
> 43String80 1 0 generate_series  00
> r[1]='generate_series'
> 44ResultRow  1 1 000  output=r[1]
> 45String80 1 0 csv00  r[1]='csv'
> 46ResultRow  1 1 000  output=r[1]
> 47Halt   0 0 000
> 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(>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(>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

Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-25 Thread Keith Medcalf
sv
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(>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(>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
>> >>
>> >

Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-25 Thread Bart Smissaert
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


Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-25 Thread Keith Medcalf

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


Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-25 Thread Bart Smissaert
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


Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-25 Thread Keith Medcalf

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


Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-25 Thread Bart Smissaert
I applied this fix, but still get the duplicate output.

RBS

On Fri, Aug 25, 2017 at 10:45 AM, Dan Kennedy  wrote:

> 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


Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-25 Thread Dan Kennedy

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


Re: [sqlite] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-25 Thread Bart Smissaert
I removed (commented out) all the lines with sqlite3VdbeAddOp2 in that
mentioned code block, so that is 4 code lines.
Still I get the duplicate output.
I am using the the 3.20.0 amalgation.

RBS













On Fri, Aug 25, 2017 at 12: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:
>
> #ifdef SQLITE_INTROSPECTION_PRAGMAS
>   case PragTyp_FUNCTION_LIST: {
> int i;
> HashElem *j;
> FuncDef *p;
> pParse->nMem = 2;
> for(i=0; 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(>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(>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   sqlite3VdbeMultiLoad(v, 1, "s", aPragmaName[i].zName);
>   sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 1);
> }
>   }
>   break;
> #endif /* SQLITE_INTROSPECTION_PRAGMAS */
>
> In each, the sqlite3VdbeAddOp2 should be removed.  sqlite3VdbeMultiLoad,
> as well as adding the data to the vdbe program also generates an
> OP_ResultRow instruction ...
>
> ---
> 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: Thursday, 24 August, 2017 14:53
> >To: General Discussion of SQLite Database
> >Subject: [sqlite] Duplicate output with pragma_list, function_list,
> >module_list
> >
> >The pragma names and function names are duplicated with these
> >pragma's.
> >Is this a bug?
> >
> >RBS
> >___
> >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] FIX FOR:: Duplicate output with pragma_list, function_list, module_list

2017-08-24 Thread Keith Medcalf

If you search sqlite3.c for the SQLITE3_INTROSPECTION_PRAGMAS you will see in 
pragma.c (or in sqlite3.c) the following code:

#ifdef SQLITE_INTROSPECTION_PRAGMAS
  case PragTyp_FUNCTION_LIST: {
int i;
HashElem *j;
FuncDef *p;
pParse->nMem = 2;
for(i=0; iu.pHash ){
sqlite3VdbeMultiLoad(v, 1, "si", p->zName, 1);
sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 2);
  }
}
for(j=sqliteHashFirst(>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(>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-Original Message-
>From: sqlite-users [mailto:sqlite-users-
>boun...@mailinglists.sqlite.org] On Behalf Of Bart Smissaert
>Sent: Thursday, 24 August, 2017 14:53
>To: General Discussion of SQLite Database
>Subject: [sqlite] Duplicate output with pragma_list, function_list,
>module_list
>
>The pragma names and function names are duplicated with these
>pragma's.
>Is this a bug?
>
>RBS
>___
>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