Support function_list in pre-built binaries from SQLite download page

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Support function_list in pre-built binaries from SQLite download page

Dominique Devienne
sqlite> pragma function_list;
sqlite>

Nothing returned, so obviously the -DSQLITE_INTROSPECTION_PRAGMAS
compile-time option is not used [1]. Could it be ON by default please? TIA,
--DD

[1] https://www.sqlite.org/pragma.html#pragma_function_list
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: Support function_list in pre-built binaries from SQLite download page

Dominique Devienne
On Fri, Nov 30, 2018 at 4:11 PM Dominique Devienne <[hidden email]>
wrote:

> Nothing returned, so obviously the -DSQLITE_INTROSPECTION_PRAGMAS
> compile-time option is not used [1]. Could it be ON by default please?
> TIA, --DD
>

ping.
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: Support function_list in pre-built binaries from SQLite download page

Dominique Devienne
On Tue, Dec 4, 2018 at 10:08 AM Dominique Devienne <[hidden email]>
wrote:

> On Fri, Nov 30, 2018 at 4:11 PM Dominique Devienne <[hidden email]>
> wrote:
>
>> Nothing returned, so obviously the -DSQLITE_INTROSPECTION_PRAGMAS
>> compile-time option is not used [1]. Could it be ON by default please?
>> TIA, --DD
>>
>
C:\Users\ddevienne>sqlite3
SQLite version 3.26.0 2018-12-01 12:34:55
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> pragma function_list;
sqlite>

Tried latest 3.26 from pre-built Windows binaries at [1], and still no
function listing :(

Am I misusing that feature? Wrong pragma never give errors AFAIK, so hard
to say.

Also, I tried using .dbconfig, and function_list is not listed there either.

sqlite> .dbconfig
       enable_fkey off
    enable_trigger on
    fts3_tokenizer off
    load_extension on
  no_ckpt_on_close off
       enable_qpsg off
       trigger_eqp off
    reset_database off
         defensive off
sqlite>

Should it be?

Thanks, --DD

[1] https://www.sqlite.org/download.html
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: Support function_list in pre-built binaries from SQLite download page

Richard Hipp-3
On 12/4/18, Dominique Devienne <[hidden email]> wrote:
> Wrong pragma never give errors AFAIK,

That is how pragmas are designed to work, yes.  Unknown pragmas are
silently ignored.
--
D. Richard Hipp
[hidden email]
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: Support function_list in pre-built binaries from SQLite download page

Dominique Devienne
On Tue, Dec 4, 2018 at 3:30 PM Richard Hipp <[hidden email]> wrote:

> On 12/4/18, Dominique Devienne <[hidden email]> wrote:
> > Wrong pragma never give errors AFAIK,
>
> That is how pragmas are designed to work, yes.  Unknown pragmas are
> silently ignored.


Thanks for confirming my "AFAIK" Richard.

But no comment on my request to compile-in pragma_function_list by default
in the pre-built Windows shell?
Or ehther to add it as a .dbconfig option?
Or my question about finding out which compile-time features are used in
the library?

--DD
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: Support function_list in pre-built binaries from SQLite download page

Keith Medcalf

My introspection pragma's work, and always have.  Then again, I compile with them turned on.  Perhaps if they are available the option should appear in the compile_options output, at least?

---
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-
>[hidden email]] On Behalf Of Dominique Devienne
>Sent: Tuesday, 4 December, 2018 07:37
>To: General Discussion of SQLite Database
>Subject: Re: [sqlite] Support function_list in pre-built binaries
>from SQLite download page
>
>On Tue, Dec 4, 2018 at 3:30 PM Richard Hipp <[hidden email]> wrote:
>
>> On 12/4/18, Dominique Devienne <[hidden email]> wrote:
>> > Wrong pragma never give errors AFAIK,
>>
>> That is how pragmas are designed to work, yes.  Unknown pragmas are
>> silently ignored.
>
>
>Thanks for confirming my "AFAIK" Richard.
>
>But no comment on my request to compile-in pragma_function_list by
>default
>in the pre-built Windows shell?
>Or ehther to add it as a .dbconfig option?
>Or my question about finding out which compile-time features are used
>in
>the library?
>
>--DD
>_______________________________________________
>sqlite-users mailing list
>[hidden email]
>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users



_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: Support function_list in pre-built binaries from SQLite download page

Dominique Devienne
On Tue, Dec 4, 2018 at 6:16 PM Keith Medcalf <[hidden email]> wrote:
>
> My introspection pragma's work, and always have.  Then again, I compile
with them turned on.  Perhaps if they are available the option should
appear in the compile_options output, at least?

Indeed, that too Keith. But from the looks of it, this lists only
explicitly turned on features, not OFF-by-default ones I guess.
I wish SQLITE_INTROSPECTION_PRAGMAS [1] was ON by default in downloaded
shell. Perhaps patience is needed (see below).

BTW, googling around, I found I asked about function_list almost 10 years
ago! See [2]. Time flies...
SQLite is amazing software. But it is very "opinionated" software too :)
Oh, well, another 10 years, and maybe I'll get over that...

--DD

PS: Strange how the compiler is reported as GCC 5.2. Mingw-build? Instead
of native MSVC? Cross-Compiled?

[1] https://www.sqlite.org/compile.html#introspection_pragmas
[2]
http://sqlite.1065341.n5.nabble.com/listing-registered-SQL-functions-aggregate-or-scalar-td47951.html


C:\Users\ddevienne>sqlite3 -version
3.26.0 2018-12-01 12:34:55
bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9

C:\Users\ddevienne>sqlite3
SQLite version 3.26.0 2018-12-01 12:34:55
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> pragma compile_options;
COMPILER=gcc-5.2.0
ENABLE_DBSTAT_VTAB
ENABLE_FTS3
ENABLE_FTS5
ENABLE_JSON1
ENABLE_RTREE
ENABLE_STMTVTAB
ENABLE_UNKNOWN_SQL_FUNCTION
THREADSAFE=0
sqlite>
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: Support function_list in pre-built binaries from SQLite download page

Keith Medcalf

On Thursday, 3 January, 2019 03:33, Dominique Devienne <[hidden email]> wrote:

>PS: Strange how the compiler is reported as GCC 5.2. Mingw-build?
>Instead of native MSVC? Cross-Compiled?

>C:\Users\ddevienne>sqlite3 -version
>3.26.0 2018-12-01 12:34:55
>bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9

>C:\Users\ddevienne>sqlite3
>SQLite version 3.26.0 2018-12-01 12:34:55
>Enter ".help" for usage hints.
>Connected to a transient in-memory database.
>Use ".open FILENAME" to reopen on a persistent database.
>sqlite> pragma compile_options;
>COMPILER=gcc-5.2.0
>ENABLE_DBSTAT_VTAB
>ENABLE_FTS3
>ENABLE_FTS5
>ENABLE_JSON1
>ENABLE_RTREE
>ENABLE_STMTVTAB
>ENABLE_UNKNOWN_SQL_FUNCTION
>THREADSAFE=0
>sqlite>

It is probably compiled with (one or another) MinGW port of GCC 5.2.0.  I use the MinGW port of GCC 8.1.0 found here
https://sourceforge.net/projects/mingw-w64/files/?source=navbar
Specifically the 8.1.0 x86_64-win32-sjlj version
https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-win32/sjlj/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0.7z

Primarily this is because MSVC cannot do arithmetic -- it cannot do a lot of things -- it is a really crappy compiler -- as "lets pretend I'm an optimizing compiler" go.  Of course, I have a real old version installed because it is a nightmare to install and takes many days of effort to turn off all the "bundled with crap" (especially that horrid Visual Studio crap) and return the computer to a useable state.  Why cannot Microsoft have a compiler, just a compiler, with none of the added crap?  (Then again, I find that the Windows gooey itself is nothing more than an environment to allow multiple command prompts at the same time, with none of this PowerSmell to stink up the place -- call me old-fashioned or even an old curmudgeon).

This is a "native" port of GCC to Windows that produces "native" executables in either i86 or x64 (depending on the -m flag) and has all the necessary (and then some) x86 and i64 runtime libraries included.  It is a "native windows" GCC compiler not a cross-compiler.  Whether the distribution SQLite3 modules are built with native GCC or a cross-compiler I do not know.

>sqlite -version
3.27.0 2019-01-03 00:44:03 120cb1768338eb86412fb69d4c7677247775bb37875ab3a98766cffd535falt2

2019-01-03  9:19:00 PY32 2.7 [D:\Source\SQLite]
>sqlite
SQLite version 3.27.0 2019-01-03 00:44:03
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> pragma compile_options;
ALLOW_COVERING_INDEX_SCAN
ALLOW_URI_AUTHORITY
COMPILER=gcc-8.1.0
DATETIME_NEW
DEFAULT_CACHE_SIZE=262144
DEFAULT_FOREIGN_KEYS
DEFAULT_MMAP_SIZE=0
DEFAULT_PAGE_SIZE=4096
DEFAULT_PROXYDIR_PERMISSIONS=0755
DEFAULT_RECURSIVE_TRIGGERS
DEFAULT_WAL_AUTOCHECKPOINT=256
DEFAULT_WAL_SYNCHRONOUS=1
DEFAULT_WORKER_THREADS=8
ENABLE_8_3_NAMES=1
ENABLE_API_ARMOR
ENABLE_COLUMN_METADATA
ENABLE_COLUMN_USED_MASK
ENABLE_COSTMULT
ENABLE_CURSOR_HINTS
ENABLE_DBSTAT_VTAB
ENABLE_FTS3
ENABLE_FTS3_PARENTHESIS
ENABLE_FTS4
ENABLE_FTS5
ENABLE_GEOPOLY
ENABLE_JSON1
ENABLE_LOAD_EXTENSION
ENABLE_LOCKING_STYLE=1
ENABLE_MEMORY_MANAGEMENT
ENABLE_PREUPDATE_HOOK
ENABLE_RBU
ENABLE_RTREE
ENABLE_SORTER_REFERENCES
ENABLE_STMTVTAB
ENABLE_STMT_SCANSTATUS
EXPLAIN_ESTIMATED_ROWS
EXTRA_INIT=core_init
HAVE_ISNAN
LIKE_DOESNT_MATCH_BLOBS
MAX_ATTACHED=15
MAX_WORKER_THREADS=8
PRECISE_TIME
SOUNDEX
TEMP_STORE=2
THREADSAFE=1
USE_URI
sqlite>

---
The fact that there's a Highway to Hell but only a Stairway to Heaven says a lot about anticipated traffic volume.





_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users