[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1865523 - /subversion/trunk/subversion/libsvn_subr/sqlite3wrapper.c

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Tue, 20 Aug 2019 18:02:30 +0000

kotkov_at_apache.org wrote on Tue, 20 Aug 2019 09:23 +00:00:
> +++ subversion/trunk/subversion/libsvn_subr/sqlite3wrapper.c Tue Aug 20 09:23:55 2019
> @@ -26,6 +26,7 @@
> #ifdef SVN_SQLITE_INLINE
> # define SQLITE_OMIT_DEPRECATED 1
> # define SQLITE_DEFAULT_MEMSTATUS 0
> +# define SQLITE_OMIT_WAL 1

Quoting https://sqlite.org/compile.html#_options_to_omit_features:

         Important Note: The SQLITE_OMIT_* options may not work with
         the amalgamation. SQLITE_OMIT_* compile-time options usually
         work correctly only when SQLite is built from canonical
         source files.

and a bit later:

     Also, not all SQLITE_OMIT_* options are tested. Some
     SQLITE_OMIT_* options might cause SQLite to malfunction and/or
     provide incorrect answers.

I think we should:

- Revert r1865523
  (feel free to add it to INSTALL, notes/knobs, etc; but off by default, please)

- Stop defining SQLITE_OMIT_DEPRECATED

- Backport the latter change to stable branches.

To the latter two bullet points: I'm aware that
https://sqlite.org/compile.html#recommended_compile_time_options
recommends SQLITE_OMIT_DEPRECATED, but
https://sqlite.org/compile.html#_options_to_omit_features says using
that macro may break correctness (!), and I'm voting to err on the side
of caution.

Thanks for linking the upstream documentation in the log message!

Cheers,

Daniel

> # define SQLITE_API static
> # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)
> # pragma GCC diagnostic ignored "-Wunreachable-code"
>
>
>
Received on 2019-08-20 20:02:38 CEST

This is an archived mail posted to the Subversion Dev mailing list.