[oi-dev] sqlite-3 mapfile needs API updates

Peter Tribble peter.tribble at gmail.com
Fri Mar 10 08:31:27 UTC 2023


For what it's worth, rather than try and continually chase the API changes,
in
Tribblix I recently dropped the mapfile entirely, and Solaris has done the
same
(the file is in the repo, but it's no longer used). I suggest you follow
that path too.

https://twitter.com/ptribble/status/1592625542435835905


On Fri, Mar 10, 2023 at 7:42 AM Tim Mooney via oi-dev <
oi-dev at openindiana.org> wrote:

>
> All-
>
> I think the mapfile that's being used with our sqlite-3 is out of date,
> and it's causing symbols that should be part of the public API to be
> tagged as 'local', rather than 'global'.
>
> The two I've noticed that should be 'global' are
>
>         sqlite3_bind_pointer
>         sqlite3_result_blob64
>
> but now that I know it's because of our mapfile, I've found many more,
> and I've only begun looking.   Example:
>
>         https://www.sqlite.org/bindptr.html
>
> Those functions were added at 3.20.0 in 2017, but are being marked 'local'
> by our mapfile.
>
> If I modify our mapfile so the most recent group:
>
> SYMBOL_VERSION sqlite_3.31.1 {
>      global:
>          sqlite3_column_origin_name;
>          sqlite3_column_origin_name16;
>          sqlite3_column_table_name;
>          sqlite3_column_table_name16;
>          sqlite3_drop_modules;
>          sqlite3_filename_database;
>          sqlite3_filename_journal;
>          sqlite3_filename_wal;
>          sqlite3_hard_heap_limit64;
>          sqlite3_keyword_check;
>          sqlite3_keyword_count;
>          sqlite3_keyword_name;
>          sqlite3_stmt_isexplain;
>          sqlite3_uri_key;
>          sqlite3_value_frombind;
> } sqlite_3.19.0;
>
>
> Becomes something like this:
>
> SYMBOL_VERSION sqlite_3.31.1 {
>      global:
>                 # some symbols listed here
> } sqlite_3.28.0;
>
> SYMBOL_VERSION sqlite_3.28.0 {
>      global:
>                 # some symbols listed here
> } sqlite_3.23.0;
>
> SYMBOL_VERSION sqlite_3.23.0 {
>      global:
>                 # some symbols listed here
> } sqlite_3.22.0;
>
> SYMBOL_VERSION sqlite_3.22.0 {
>      global:
>                 # some symbols listed here
> } sqlite_3.20.0;
>
> SYMBOL_VERSION sqlite_3.20.0 {
>      global:
>                 # some symbols listed here
> } sqlite_3.19.0;
>
>
> is that going to break everything that uses symbols in the current
> sqlite_3.31.1 "block"?  Obviously I would add blocks for function
> additions since 3.31.1.
>
> BTW, I looked at the Solaris userland mapfile for sqlite-3 and theirs
> differs significantly from ours, but it actually appears ours is more
> up to date.
>
> Tim
> --
> Tim Mooney                                             Tim.Mooney at ndsu.edu
> Enterprise Computing & Infrastructure /
> Division of Information Technology    /                701-231-1076 (Voice)
> North Dakota State University, Fargo, ND 58105-5164
>
> _______________________________________________
> oi-dev mailing list
> oi-dev at openindiana.org
> https://openindiana.org/mailman/listinfo/oi-dev
>


-- 
-Peter Tribble
http://www.petertribble.co.uk/ - http://ptribble.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openindiana.org/pipermail/oi-dev/attachments/20230310/3f9201ac/attachment.html>


More information about the oi-dev mailing list