1
0
Fork 0
mirror of https://github.com/DBD-SQLite/DBD-SQLite synced 2025-06-07 14:19:10 -04:00

Compare commits

..

25 commits
1.72 ... master

Author SHA1 Message Date
Kenichi Ishigaki
60515b30f8 Release 1.76 2024-10-19 13:46:02 +09:00
Kenichi Ishigaki
6f99c8ce41 Release 1.75_01 2024-09-17 23:04:35 +09:00
Kenichi Ishigaki
db7ea91d83 Bump bundled SQLite to 3.46.1 2024-09-17 22:54:53 +09:00
Kenichi Ishigaki
4ac600434f
Merge pull request #115 from sisyphus/win32_quadmath
Fix for Windows quadmath builds.
2024-09-17 22:50:16 +09:00
Kenichi Ishigaki
41957ce749
Merge pull request #116 from DBD-SQLite/use_checkout_v4
Use checkout v4
2024-09-17 22:48:10 +09:00
Kenichi Ishigaki
29167a0d65 Use buster images for older perls 2024-09-17 22:43:35 +09:00
Kenichi Ishigaki
fb80b73a8a Use checkout@v4 2024-09-17 22:37:20 +09:00
sisyphus
c5374438f4 dbdimp.c - Fix for Windows quadmath builds. 2024-09-17 22:03:29 +10:00
Kenichi Ishigaki
2ab93a4e41 Update constants 2024-03-17 22:32:36 +09:00
Kenichi Ishigaki
3e8df90227 Bump bundled SQLite to 3.45.2 2024-03-17 22:32:19 +09:00
Kenichi Ishigaki
b433d17436 Update SQLiteUtil 2024-03-17 22:31:23 +09:00
Kenichi Ishigaki
9014dd6f35
Merge pull request #112 from DBD-SQLite/fix/omit_load_extension_if_static
Omit load_extension if static perl
2024-03-17 22:18:46 +09:00
Kenichi Ishigaki
922c82b0ea Omit load_extension if static perl 2024-03-17 22:08:52 +09:00
Kenichi Ishigaki
01615f8630 Bump SQLite to 3.44.0 2023-11-03 15:08:24 +09:00
Kenichi Ishigaki
fea0e3268f Release 1.74 2023-09-20 02:24:48 +09:00
Kenichi Ishigaki
d4bb44460f Release 1.73_01 2023-07-09 10:03:24 +09:00
Kenichi Ishigaki
f9e3cb6b75 Update constants 2023-07-09 10:02:25 +09:00
Kenichi Ishigaki
3f66a57dd4 Update SQLiteUtil 2023-07-09 10:02:11 +09:00
Kenichi Ishigaki
7e63e18472 Bump sqlite3 from 3.41.0 to 3.42.0 2023-07-09 09:57:07 +09:00
Kenichi Ishigaki
c08f3400e8 Add a new constant 2023-02-23 11:20:23 +09:00
Kenichi Ishigaki
f764a74395 Upgrade SQLite to 3.41.0 2023-02-23 11:19:58 +09:00
Kenichi Ishigaki
ad5125d99d Ignore newly-added prepared_statement_scan_status constants 2023-02-23 11:19:14 +09:00
Kenichi Ishigaki
dd62355f48 Add year 2023 condition 2023-02-23 11:18:55 +09:00
Kenichi Ishigaki
0dc561d920
Merge pull request #105 from dboehmer/patch-1
Add missing possible table_type values to POD
2022-11-13 03:06:42 +09:00
Daniel Böhmer
1f413acd88 Add missing possible table_type values to POD
I noticed that table_info() returns table_types that are not listed in POD.
This copies every possible value from the SQLite documentation.
'LOCAL TEMPORARY' and 'SYSTEM TABLE' are not mentioned there
but come from SQLite.pm.

SQLite documentation on possible values:
https://www.sqlite.org/schematab.html#interpretation_of_the_schema_table
2022-11-12 18:42:30 +01:00
12 changed files with 27811 additions and 11083 deletions

View file

@ -15,10 +15,10 @@ jobs:
strategy: strategy:
matrix: matrix:
perl-version: perl-version:
- '5.8' - '5.8-buster'
- '5.10' - '5.10-buster'
- '5.18' - '5.18-buster'
- '5.20' - '5.20-buster'
- '5.26' - '5.26'
- 'latest' - 'latest'
@ -26,7 +26,7 @@ jobs:
image: perl:${{ matrix.perl-version }} image: perl:${{ matrix.perl-version }}
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v4
- name: perl -V - name: perl -V
run: perl -V run: perl -V
- name: Install dependencies - name: Install dependencies

15
Changes
View file

@ -1,5 +1,20 @@
Changes for Perl extension DBD-SQLite Changes for Perl extension DBD-SQLite
1.76 2024-10-19
- Switched to a production version
1.75_01 2024-09-17
- Upgraded SQLite to 3.46.1
- Fix for Windows quadmath builds (GH#115, sisyphus++)
- Omit load_extension if static build
1.74 2023-09-20
- Switched to a production version
1.73_01 2023-07-09
- Upgraded SQLite to 3.42.0
- Add missing possible table_type values to POD (GH#105, dboehmer++)
1.72 2022-11-04 1.72 2022-11-04
- Switched to a production version - Switched to a production version

View file

@ -288,6 +288,10 @@ if ($^O =~ /bsd/i && $^O !~ /(?:open|net)bsd/) {
push @CC_DEFINE, '-D_XOPEN_SOURCE'; push @CC_DEFINE, '-D_XOPEN_SOURCE';
} }
if (!$Config{usedl}) {
push @CC_DEFINE, '-DSQLITE_OMIT_LOAD_EXTENSION';
}
my (@CCFLAGS, @LDFLAGS, @LDDLFLAGS); my (@CCFLAGS, @LDFLAGS, @LDDLFLAGS);
if ($ENV{TEST_DBD_SQLITE_WITH_ASAN}) { if ($ENV{TEST_DBD_SQLITE_WITH_ASAN}) {

View file

@ -493,6 +493,32 @@ _const_database_connection_configuration_options_3031000_zero()
#endif #endif
#if SQLITE_VERSION_NUMBER >= 3042000
IV
_const_database_connection_configuration_options_3042000()
ALIAS:
SQLITE_DBCONFIG_STMT_SCANSTATUS = SQLITE_DBCONFIG_STMT_SCANSTATUS
SQLITE_DBCONFIG_REVERSE_SCANORDER = SQLITE_DBCONFIG_REVERSE_SCANORDER
CODE:
RETVAL = ix;
OUTPUT:
RETVAL
#else
IV
_const_database_connection_configuration_options_3042000_zero()
ALIAS:
SQLITE_DBCONFIG_STMT_SCANSTATUS = 1
SQLITE_DBCONFIG_REVERSE_SCANORDER = 2
CODE:
RETVAL = 0;
OUTPUT:
RETVAL
#endif
#if SQLITE_VERSION_NUMBER >= 3006002 #if SQLITE_VERSION_NUMBER >= 3006002
IV IV
@ -1213,6 +1239,54 @@ _const_extended_result_codes_3037000_zero()
#endif #endif
#if SQLITE_VERSION_NUMBER >= 3041000
IV
_const_extended_result_codes_3041000()
ALIAS:
SQLITE_NOTICE_RBU = SQLITE_NOTICE_RBU
CODE:
RETVAL = ix;
OUTPUT:
RETVAL
#else
IV
_const_extended_result_codes_3041000_zero()
ALIAS:
SQLITE_NOTICE_RBU = 1
CODE:
RETVAL = 0;
OUTPUT:
RETVAL
#endif
#if SQLITE_VERSION_NUMBER >= 3043000
IV
_const_extended_result_codes_3043000()
ALIAS:
SQLITE_IOERR_IN_PAGE = SQLITE_IOERR_IN_PAGE
CODE:
RETVAL = ix;
OUTPUT:
RETVAL
#else
IV
_const_extended_result_codes_3043000_zero()
ALIAS:
SQLITE_IOERR_IN_PAGE = 1
CODE:
RETVAL = 0;
OUTPUT:
RETVAL
#endif
IV IV
_const_flags_for_file_open_operations() _const_flags_for_file_open_operations()
ALIAS: ALIAS:
@ -1469,6 +1543,30 @@ _const_function_flags_3031000_zero()
#endif #endif
#if SQLITE_VERSION_NUMBER >= 3044001
IV
_const_function_flags_3044001()
ALIAS:
SQLITE_RESULT_SUBTYPE = SQLITE_RESULT_SUBTYPE
CODE:
RETVAL = ix;
OUTPUT:
RETVAL
#else
IV
_const_function_flags_3044001_zero()
ALIAS:
SQLITE_RESULT_SUBTYPE = 1
CODE:
RETVAL = 0;
OUTPUT:
RETVAL
#endif
IV IV
_const_fundamental_datatypes() _const_fundamental_datatypes()
ALIAS: ALIAS:

View file

@ -407,10 +407,16 @@ sqlite_is_number(pTHX_ const char *v, int sql_type)
if (sql_type != SQLITE_INTEGER) { if (sql_type != SQLITE_INTEGER) {
#ifdef USE_QUADMATH #ifdef USE_QUADMATH
sprintf(format, (has_plus ? "+%%.%dQf" : "%%.%dQf"), precision); sprintf(format, (has_plus ? "+%%.%dQf" : "%%.%dQf"), precision);
# if defined(WIN32)
/* On Windows quadmath, we need to use strtoflt128(), not atov() */
if (strEQ(form(format, strtoflt128(v, NULL)), v)) return 2;
# else
if (strEQ(form(format, atof(v)), v)) return 2;
# endif
#else #else
sprintf(format, (has_plus ? "+%%.%df" : "%%.%df" ), precision); sprintf(format, (has_plus ? "+%%.%df" : "%%.%df" ), precision);
#endif
if (strEQ(form(format, atof(v)), v)) return 2; if (strEQ(form(format, atof(v)), v)) return 2;
#endif
} }
return 0; return 0;
} }

View file

@ -5,7 +5,7 @@ use strict;
use DBI 1.57 (); use DBI 1.57 ();
use XSLoader (); use XSLoader ();
our $VERSION = '1.72'; our $VERSION = '1.76';
# sqlite_version cache (set in the XS bootstrap) # sqlite_version cache (set in the XS bootstrap)
our ($sqlite_version, $sqlite_version_number); our ($sqlite_version, $sqlite_version_number);
@ -1074,7 +1074,7 @@ are limited by the typeless nature of the SQLite database.
=head1 SQLITE VERSION =head1 SQLITE VERSION
DBD::SQLite is usually compiled with a bundled SQLite library DBD::SQLite is usually compiled with a bundled SQLite library
(SQLite version S<3.39.4> as of this release) for consistency. (SQLite version S<3.46.1> as of this release) for consistency.
However, a different version of SQLite may sometimes be used for However, a different version of SQLite may sometimes be used for
some reasons like security, or some new experimental features. some reasons like security, or some new experimental features.
@ -1749,7 +1749,8 @@ Returns all tables and schemas (databases) as specified in L<DBI/table_info>.
The schema and table arguments will do a C<LIKE> search. You can specify an The schema and table arguments will do a C<LIKE> search. You can specify an
ESCAPE character by including an 'Escape' attribute in \%attr. The C<$type> ESCAPE character by including an 'Escape' attribute in \%attr. The C<$type>
argument accepts a comma separated list of the following types 'TABLE', argument accepts a comma separated list of the following types 'TABLE',
'VIEW', 'LOCAL TEMPORARY' and 'SYSTEM TABLE' (by default all are returned). 'INDEX', 'VIEW', 'TRIGGER', 'LOCAL TEMPORARY' and 'SYSTEM TABLE'
(by default all are returned).
Note that a statement handle is returned, and not a direct list of tables. Note that a statement handle is returned, and not a direct list of tables.
The following fields are returned: The following fields are returned:
@ -1762,8 +1763,8 @@ databases will be in the name given when the database was attached.
B<TABLE_NAME>: The name of the table or view. B<TABLE_NAME>: The name of the table or view.
B<TABLE_TYPE>: The type of object returned. Will be one of 'TABLE', 'VIEW', B<TABLE_TYPE>: The type of object returned. Will be one of 'TABLE', 'INDEX',
'LOCAL TEMPORARY' or 'SYSTEM TABLE'. 'VIEW', 'TRIGGER', 'LOCAL TEMPORARY' or 'SYSTEM TABLE'.
=head2 primary_key, primary_key_info =head2 primary_key, primary_key_info

View file

@ -87,6 +87,8 @@ our @EXPORT_OK = (
SQLITE_DBCONFIG_MAX SQLITE_DBCONFIG_MAX
SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE
SQLITE_DBCONFIG_RESET_DATABASE SQLITE_DBCONFIG_RESET_DATABASE
SQLITE_DBCONFIG_REVERSE_SCANORDER
SQLITE_DBCONFIG_STMT_SCANSTATUS
SQLITE_DBCONFIG_TRIGGER_EQP SQLITE_DBCONFIG_TRIGGER_EQP
SQLITE_DBCONFIG_TRUSTED_SCHEMA SQLITE_DBCONFIG_TRUSTED_SCHEMA
SQLITE_DBCONFIG_WRITABLE_SCHEMA SQLITE_DBCONFIG_WRITABLE_SCHEMA
@ -140,6 +142,7 @@ our @EXPORT_OK = (
SQLITE_IOERR_FSTAT SQLITE_IOERR_FSTAT
SQLITE_IOERR_FSYNC SQLITE_IOERR_FSYNC
SQLITE_IOERR_GETTEMPPATH SQLITE_IOERR_GETTEMPPATH
SQLITE_IOERR_IN_PAGE
SQLITE_IOERR_LOCK SQLITE_IOERR_LOCK
SQLITE_IOERR_MMAP SQLITE_IOERR_MMAP
SQLITE_IOERR_NOMEM SQLITE_IOERR_NOMEM
@ -158,6 +161,7 @@ our @EXPORT_OK = (
SQLITE_IOERR_WRITE SQLITE_IOERR_WRITE
SQLITE_LOCKED_SHAREDCACHE SQLITE_LOCKED_SHAREDCACHE
SQLITE_LOCKED_VTAB SQLITE_LOCKED_VTAB
SQLITE_NOTICE_RBU
SQLITE_NOTICE_RECOVER_ROLLBACK SQLITE_NOTICE_RECOVER_ROLLBACK
SQLITE_NOTICE_RECOVER_WAL SQLITE_NOTICE_RECOVER_WAL
SQLITE_OK_SYMLINK SQLITE_OK_SYMLINK
@ -191,6 +195,7 @@ our @EXPORT_OK = (
SQLITE_DETERMINISTIC SQLITE_DETERMINISTIC
SQLITE_DIRECTONLY SQLITE_DIRECTONLY
SQLITE_INNOCUOUS SQLITE_INNOCUOUS
SQLITE_RESULT_SUBTYPE
SQLITE_SUBTYPE SQLITE_SUBTYPE
/, /,
@ -320,6 +325,8 @@ our %EXPORT_TAGS = (
SQLITE_DBCONFIG_MAX SQLITE_DBCONFIG_MAX
SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE
SQLITE_DBCONFIG_RESET_DATABASE SQLITE_DBCONFIG_RESET_DATABASE
SQLITE_DBCONFIG_REVERSE_SCANORDER
SQLITE_DBCONFIG_STMT_SCANSTATUS
SQLITE_DBCONFIG_TRIGGER_EQP SQLITE_DBCONFIG_TRIGGER_EQP
SQLITE_DBCONFIG_TRUSTED_SCHEMA SQLITE_DBCONFIG_TRUSTED_SCHEMA
SQLITE_DBCONFIG_WRITABLE_SCHEMA SQLITE_DBCONFIG_WRITABLE_SCHEMA
@ -376,6 +383,7 @@ our %EXPORT_TAGS = (
SQLITE_IOERR_FSTAT SQLITE_IOERR_FSTAT
SQLITE_IOERR_FSYNC SQLITE_IOERR_FSYNC
SQLITE_IOERR_GETTEMPPATH SQLITE_IOERR_GETTEMPPATH
SQLITE_IOERR_IN_PAGE
SQLITE_IOERR_LOCK SQLITE_IOERR_LOCK
SQLITE_IOERR_MMAP SQLITE_IOERR_MMAP
SQLITE_IOERR_NOMEM SQLITE_IOERR_NOMEM
@ -414,6 +422,7 @@ our %EXPORT_TAGS = (
SQLITE_NOTADB SQLITE_NOTADB
SQLITE_NOTFOUND SQLITE_NOTFOUND
SQLITE_NOTICE SQLITE_NOTICE
SQLITE_NOTICE_RBU
SQLITE_NOTICE_RECOVER_ROLLBACK SQLITE_NOTICE_RECOVER_ROLLBACK
SQLITE_NOTICE_RECOVER_WAL SQLITE_NOTICE_RECOVER_WAL
SQLITE_NULL SQLITE_NULL
@ -445,6 +454,7 @@ our %EXPORT_TAGS = (
SQLITE_READONLY_ROLLBACK SQLITE_READONLY_ROLLBACK
SQLITE_RECURSIVE SQLITE_RECURSIVE
SQLITE_REINDEX SQLITE_REINDEX
SQLITE_RESULT_SUBTYPE
SQLITE_ROW SQLITE_ROW
SQLITE_SAVEPOINT SQLITE_SAVEPOINT
SQLITE_SCHEMA SQLITE_SCHEMA
@ -531,6 +541,8 @@ our %EXPORT_TAGS = (
SQLITE_DBCONFIG_MAX SQLITE_DBCONFIG_MAX
SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE
SQLITE_DBCONFIG_RESET_DATABASE SQLITE_DBCONFIG_RESET_DATABASE
SQLITE_DBCONFIG_REVERSE_SCANORDER
SQLITE_DBCONFIG_STMT_SCANSTATUS
SQLITE_DBCONFIG_TRIGGER_EQP SQLITE_DBCONFIG_TRIGGER_EQP
SQLITE_DBCONFIG_TRUSTED_SCHEMA SQLITE_DBCONFIG_TRUSTED_SCHEMA
SQLITE_DBCONFIG_WRITABLE_SCHEMA SQLITE_DBCONFIG_WRITABLE_SCHEMA
@ -591,6 +603,7 @@ our %EXPORT_TAGS = (
SQLITE_IOERR_FSTAT SQLITE_IOERR_FSTAT
SQLITE_IOERR_FSYNC SQLITE_IOERR_FSYNC
SQLITE_IOERR_GETTEMPPATH SQLITE_IOERR_GETTEMPPATH
SQLITE_IOERR_IN_PAGE
SQLITE_IOERR_LOCK SQLITE_IOERR_LOCK
SQLITE_IOERR_MMAP SQLITE_IOERR_MMAP
SQLITE_IOERR_NOMEM SQLITE_IOERR_NOMEM
@ -609,6 +622,7 @@ our %EXPORT_TAGS = (
SQLITE_IOERR_WRITE SQLITE_IOERR_WRITE
SQLITE_LOCKED_SHAREDCACHE SQLITE_LOCKED_SHAREDCACHE
SQLITE_LOCKED_VTAB SQLITE_LOCKED_VTAB
SQLITE_NOTICE_RBU
SQLITE_NOTICE_RECOVER_ROLLBACK SQLITE_NOTICE_RECOVER_ROLLBACK
SQLITE_NOTICE_RECOVER_WAL SQLITE_NOTICE_RECOVER_WAL
SQLITE_OK_SYMLINK SQLITE_OK_SYMLINK
@ -640,6 +654,7 @@ our %EXPORT_TAGS = (
SQLITE_DETERMINISTIC SQLITE_DETERMINISTIC
SQLITE_DIRECTONLY SQLITE_DIRECTONLY
SQLITE_INNOCUOUS SQLITE_INNOCUOUS
SQLITE_RESULT_SUBTYPE
SQLITE_SUBTYPE SQLITE_SUBTYPE
/], /],
@ -873,6 +888,10 @@ This module does not export anything by default.
=item SQLITE_DBCONFIG_TRUSTED_SCHEMA =item SQLITE_DBCONFIG_TRUSTED_SCHEMA
=item SQLITE_DBCONFIG_STMT_SCANSTATUS
=item SQLITE_DBCONFIG_REVERSE_SCANORDER
=back =back
=head2 dbd_sqlite_string_mode =head2 dbd_sqlite_string_mode
@ -1043,6 +1062,10 @@ This module does not export anything by default.
=item SQLITE_CONSTRAINT_DATATYPE =item SQLITE_CONSTRAINT_DATATYPE
=item SQLITE_NOTICE_RBU
=item SQLITE_IOERR_IN_PAGE
=back =back
=head2 file_open (flags_for_file_open_operations) =head2 file_open (flags_for_file_open_operations)
@ -1087,6 +1110,8 @@ This module does not export anything by default.
=item SQLITE_INNOCUOUS =item SQLITE_INNOCUOUS
=item SQLITE_RESULT_SUBTYPE
=back =back
=head2 datatypes (fundamental_datatypes) =head2 datatypes (fundamental_datatypes)

View file

@ -5,7 +5,7 @@ use strict;
use warnings; use warnings;
use Scalar::Util qw/weaken/; use Scalar::Util qw/weaken/;
our $VERSION = '1.72'; our $VERSION = '1.76';
our @ISA; our @ISA;

37637
sqlite3.c

File diff suppressed because it is too large Load diff

1053
sqlite3.h

File diff suppressed because it is too large Load diff

View file

@ -331,9 +331,9 @@ struct sqlite3_api_routines {
const char *(*filename_journal)(const char*); const char *(*filename_journal)(const char*);
const char *(*filename_wal)(const char*); const char *(*filename_wal)(const char*);
/* Version 3.32.0 and later */ /* Version 3.32.0 and later */
char *(*create_filename)(const char*,const char*,const char*, const char *(*create_filename)(const char*,const char*,const char*,
int,const char**); int,const char**);
void (*free_filename)(char*); void (*free_filename)(const char*);
sqlite3_file *(*database_file_object)(const char*); sqlite3_file *(*database_file_object)(const char*);
/* Version 3.34.0 and later */ /* Version 3.34.0 and later */
int (*txn_state)(sqlite3*,const char*); int (*txn_state)(sqlite3*,const char*);
@ -357,6 +357,15 @@ struct sqlite3_api_routines {
unsigned char *(*serialize)(sqlite3*,const char *,sqlite3_int64*, unsigned char *(*serialize)(sqlite3*,const char *,sqlite3_int64*,
unsigned int); unsigned int);
const char *(*db_name)(sqlite3*,int); const char *(*db_name)(sqlite3*,int);
/* Version 3.40.0 and later */
int (*value_encoding)(sqlite3_value*);
/* Version 3.41.0 and later */
int (*is_interrupted)(sqlite3*);
/* Version 3.43.0 and later */
int (*stmt_explain)(sqlite3_stmt*,int);
/* Version 3.44.0 and later */
void *(*get_clientdata)(sqlite3*,const char*);
int (*set_clientdata)(sqlite3*, const char*, void*, void(*)(void*));
}; };
/* /*
@ -681,6 +690,15 @@ typedef int (*sqlite3_loadext_entry)(
#define sqlite3_serialize sqlite3_api->serialize #define sqlite3_serialize sqlite3_api->serialize
#endif #endif
#define sqlite3_db_name sqlite3_api->db_name #define sqlite3_db_name sqlite3_api->db_name
/* Version 3.40.0 and later */
#define sqlite3_value_encoding sqlite3_api->value_encoding
/* Version 3.41.0 and later */
#define sqlite3_is_interrupted sqlite3_api->is_interrupted
/* Version 3.43.0 and later */
#define sqlite3_stmt_explain sqlite3_api->stmt_explain
/* Version 3.44.0 and later */
#define sqlite3_get_clientdata sqlite3_api->get_clientdata
#define sqlite3_set_clientdata sqlite3_api->set_clientdata
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)

View file

@ -187,6 +187,11 @@ my %since = (
SESSION_OBJCONFIG_SIZE => '3036000', SESSION_OBJCONFIG_SIZE => '3036000',
CONSTRAINT_DATATYPE => '3037000', CONSTRAINT_DATATYPE => '3037000',
OPEN_EXRESCODE => '3037000', OPEN_EXRESCODE => '3037000',
NOTICE_RBU => '3041000',
DBCONFIG_STMT_SCANSTATUS => '3042000',
DBCONFIG_REVERSE_SCANORDER => '3042000',
IOERR_IN_PAGE => '3043000',
RESULT_SUBTYPE => '3044001',
status_parameters_for_prepared_statements => '3006004', status_parameters_for_prepared_statements => '3006004',
extended_result_codes => '3006005', extended_result_codes => '3006005',
@ -233,6 +238,7 @@ my $ignore_tag_re = join '|', (
'prepare_flags', # for sqlite3_prepare_v3 'prepare_flags', # for sqlite3_prepare_v3
'delete_a_session_object', 'delete_a_session_object',
'prepared_statement_scan_status',
# status flags (status methods are read-only at the moment) # status flags (status methods are read-only at the moment)
'status_parameters', 'status_parameters',
@ -259,6 +265,7 @@ my $ignore_tag_re = join '|', (
'text_encodings', 'text_encodings',
'virtual_table_constraint_operator_codes', 'virtual_table_constraint_operator_codes',
'virtual_table_indexing_information', 'virtual_table_indexing_information',
'options_for_sqlite3session_object_config',
); );
my %compat = map {$_ => 1} qw/ my %compat = map {$_ => 1} qw/
@ -471,6 +478,8 @@ sub year {
my $self = shift; my $self = shift;
return "snapshot" if $self->is_snapshot; return "snapshot" if $self->is_snapshot;
my $version = $self->as_num; my $version = $self->as_num;
return 2024 if $version >= 3450000;
return 2023 if $version >= 3410000;
return 2022 if $version >= 3370200; return 2022 if $version >= 3370200;
return 2021 if $version >= 3340100; return 2021 if $version >= 3340100;
return 2020 if $version >= 3310000; return 2020 if $version >= 3310000;