Upgrade sqlite to 3.39.0 for RIGHT OUTER JOIN support (and various bug

fixes)
This commit is contained in:
casey langen 2022-06-25 16:51:59 -07:00
parent 7385c25f87
commit cca5c46c6e
7 changed files with 24399 additions and 12580 deletions

View File

@ -18,6 +18,7 @@
* updated Windows build to use Visual Studio 2022
* updated Linux/macOS dependencies for standalone *nix builds: boost 1.79.0,
openssl 3.0.2 (1.1.1n for rpi), curl 7.83.0, ffmpeg 5.0.1, libopenmtp 0.6.2
* updated sqlite to 3.39.0
--------------------------------------------------------------------------------

View File

@ -0,0 +1,11 @@
set PATH=%PATH%;C:\Program Files\NASM
set _CL_=/MT
set PREFIX=z:\src\vendor\bin\
set OPENSSLDIR=z:\src\vendor\bin\
mkdir z:\src\vendor\bin\
cd z:\src\vendor\openssl-3.0.2
perl Configure VC-WIN64A
nmake
nmake install

View File

@ -0,0 +1,57 @@
#!/bin/bash
function copy_or_download {
url_path=$1
fn=$2
wget_cache="/tmp/musikcube_build_wget_cache"
mkdir -p wget_cache 2> /dev/null
if [[ -f "$wget_cache/$fn" ]]; then
cp "$wget_cache/$fn" .
else
wget -P $wget_cache "$url_path/$fn" || exit $?
cp "$wget_cache/$fn" . || exit $?
fi
unzip $fn
}
function stage_arch {
arch=$1
mkdir -p $arch/lib
mkdir -p $arch/dll
mkdir -p $arch/include
mv stage/bin/
mkdir lib
}
function process_x86() {
mkdir x86
cd x86
copy_or_download https://windows.php.net/downloads/php-sdk/deps/vs16/x86 zlib-1.2.12-vs16-x86.zip
copy_or_download https://windows.php.net/downloads/php-sdk/deps/vs16/x86 openssl-1.1.1n-vs16-x86.zip
copy_or_download https://windows.php.net/downloads/php-sdk/deps/vs16/x86 libcurl-7.83.0-vs16-x86.zip
copy_or_download https://lib.openmpt.org/files/libopenmpt/dev libopenmpt-0.6.3+release.dev.windows.vs2022.zip
rm *.zip
mkdir stage
mv * stage/
cd ..
}
function process_x64() {
mkdir x64
cd x64
copy_or_download https://windows.php.net/downloads/php-sdk/deps/vs16/x64 zlib-1.2.12-vs16-x64.zip
copy_or_download https://windows.php.net/downloads/php-sdk/deps/vs16/x64 openssl-1.1.1n-vs16-x64.zip
copy_or_download https://windows.php.net/downloads/php-sdk/deps/vs16/x64 libcurl-7.83.0-vs16-x64.zip
copy_or_download https://lib.openmpt.org/files/libopenmpt/dev libopenmpt-0.6.3+release.dev.windows.vs2022.zip
rm *.zip
mkdir stage
mv * stage
cd ..
}
rm -rf vendor
mkdir vendor
cd vendor
process_x86
process_x64
cd ..

File diff suppressed because it is too large Load Diff

View File

@ -335,6 +335,28 @@ struct sqlite3_api_routines {
int,const char**);
void (*free_filename)(char*);
sqlite3_file *(*database_file_object)(const char*);
/* Version 3.34.0 and later */
int (*txn_state)(sqlite3*,const char*);
/* Version 3.36.1 and later */
sqlite3_int64 (*changes64)(sqlite3*);
sqlite3_int64 (*total_changes64)(sqlite3*);
/* Version 3.37.0 and later */
int (*autovacuum_pages)(sqlite3*,
unsigned int(*)(void*,const char*,unsigned int,unsigned int,unsigned int),
void*, void(*)(void*));
/* Version 3.38.0 and later */
int (*error_offset)(sqlite3*);
int (*vtab_rhs_value)(sqlite3_index_info*,int,sqlite3_value**);
int (*vtab_distinct)(sqlite3_index_info*);
int (*vtab_in)(sqlite3_index_info*,int,int);
int (*vtab_in_first)(sqlite3_value*,sqlite3_value**);
int (*vtab_in_next)(sqlite3_value*,sqlite3_value**);
/* Version 3.39.0 and later */
int (*deserialize)(sqlite3*,const char*,unsigned char*,
sqlite3_int64,sqlite3_int64,unsigned);
unsigned char *(*serialize)(sqlite3*,const char *,sqlite3_int64*,
unsigned int);
const char *(*db_name)(sqlite3*,int);
};
/*
@ -639,6 +661,26 @@ typedef int (*sqlite3_loadext_entry)(
#define sqlite3_create_filename sqlite3_api->create_filename
#define sqlite3_free_filename sqlite3_api->free_filename
#define sqlite3_database_file_object sqlite3_api->database_file_object
/* Version 3.34.0 and later */
#define sqlite3_txn_state sqlite3_api->txn_state
/* Version 3.36.1 and later */
#define sqlite3_changes64 sqlite3_api->changes64
#define sqlite3_total_changes64 sqlite3_api->total_changes64
/* Version 3.37.0 and later */
#define sqlite3_autovacuum_pages sqlite3_api->autovacuum_pages
/* Version 3.38.0 and later */
#define sqlite3_error_offset sqlite3_api->error_offset
#define sqlite3_vtab_rhs_value sqlite3_api->vtab_rhs_value
#define sqlite3_vtab_distinct sqlite3_api->vtab_distinct
#define sqlite3_vtab_in sqlite3_api->vtab_in
#define sqlite3_vtab_in_first sqlite3_api->vtab_in_first
#define sqlite3_vtab_in_next sqlite3_api->vtab_in_next
/* Version 3.39.0 and later */
#ifndef SQLITE_OMIT_DESERIALIZE
#define sqlite3_deserialize sqlite3_api->deserialize
#define sqlite3_serialize sqlite3_api->serialize
#endif
#define sqlite3_db_name sqlite3_api->db_name
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)

File diff suppressed because it is too large Load Diff

View File

@ -53,7 +53,7 @@ using namespace musik::core::runtime;
using namespace std::chrono;
#define DATABASE_VERSION 10
#define VERBOSE_LOGGING 0
#define VERBOSE_LOGGING 1
#define MESSAGE_QUERY_COMPLETED 5000
class LocalResourceLocator: public ILibrary::IResourceLocator {