Version 3.42.0 now in beta
(1) By Larry Brasfield (larrybr) on 2023-05-05 00:14:47 [link] [source]
The 3.42.0 release of SQLite is approaching.
The latest beta is available in the Prerelease Snapshot on the download page.
A draft website is available, including a summary of changes. For more change details, see the timeline of changes since 3.41.2.
The release checklist will soon be alive.
The target release date is 2023-05-15. The actual release date will be whenever the checklist goes all-green.
Please try out the latest code and report any issues. You can append trouble reports to this forum thread, or send email to drh at sqlite dot org.
(2) By anonymous on 2023-05-05 08:47:34 in reply to 1 [link] [source]
On windows with an old internal project, old mingw (mingwrt533\include, win32api533) gcc (9.2.0): snapshot\shell.c: In function 'console_prepare': snapshot\shell.c:650:50: error: '_O_U16TEXT' undeclared (first use in this function); did you mean 'O_TEXT'? 650 | conState.infsMode = _setmode(_fileno(stdin), _O_U16TEXT); From stackoverflow 11 years ago <https://stackoverflow.com/questions/8871540/o-wtext-o-u16text-o-u8text-are-these-modes-possible-in-mingw-compiler-ar>: ... simple workaround: just use values of these constants instead of their names. For example, _O_U16TEXT is 0x00020000 and _O_U8TEXT is 0x00040000. ... If there is no quick/easy solution from SQLite I will upgrade this old project... Philip
(3.1) By Larry Brasfield (larrybr) on 2023-05-05 14:19:58 edited from 3.0 in reply to 2 [source]
(Prepended via edit:)
The simplest cure would be to add -D_O_U16TEXT=0x20000 to your compile step. If using a SQLite project make file, just add "OPTS=-D_O_U16TEXT=0x20000" to the make invocation.
If you're running on a platform ancient enough to need only that semi-outdated compiler, the feature that uses _O_U16TEXT is probably not going to be useful anyway. You can #define SHELL_OMIT_WIN_UTF8 for the compilation to omit it.
As I understand the stackoverflow discussion, you may find relief by defining MSVCRT_VERSION , if that is used as a guard in the fcntl.h you have.
Another option is to define SQLITE_CUSTOM_INCLUDE so that it names a findable file which contains:
#ifndef _O_U16TEXT /* For build environments lacking this constant: */
# define _O_U16TEXT 0x20000
(4) By Roy Hashimoto (rhashimoto) on 2023-05-05 15:48:45 in reply to 1 [link] [source]
I would suggest elevating this fix in the summary, as it was a database integrity bug.