@@ -134,7 +134,7 @@ struct sqlite3_api_routines {
134134 int (* set_authorizer )(sqlite3 * ,int (* )(void * ,int ,const char * ,const char * ,
135135 const char * ,const char * ),void * );
136136 void (* set_auxdata )(sqlite3_context * ,int ,void * ,void (* )(void * ));
137- char * (* snprintf )(int ,char * ,const char * ,...);
137+ char * (* xsnprintf )(int ,char * ,const char * ,...);
138138 int (* step )(sqlite3_stmt * );
139139 int (* table_column_metadata )(sqlite3 * ,const char * ,const char * ,const char * ,
140140 char const * * ,char const * * ,int * ,int * ,int * );
@@ -246,7 +246,7 @@ struct sqlite3_api_routines {
246246 int (* uri_boolean )(const char * ,const char * ,int );
247247 sqlite3_int64 (* uri_int64 )(const char * ,const char * ,sqlite3_int64 );
248248 const char * (* uri_parameter )(const char * ,const char * );
249- char * (* vsnprintf )(int ,char * ,const char * ,va_list );
249+ char * (* xvsnprintf )(int ,char * ,const char * ,va_list );
250250 int (* wal_checkpoint_v2 )(sqlite3 * ,const char * ,int ,int * ,int * );
251251 /* Version 3.8.7 and later */
252252 int (* auto_extension )(void (* )(void ));
@@ -282,6 +282,43 @@ struct sqlite3_api_routines {
282282 /* Version 3.14.0 and later */
283283 int (* trace_v2 )(sqlite3 * ,unsigned ,int (* )(unsigned ,void * ,void * ,void * ),void * );
284284 char * (* expanded_sql )(sqlite3_stmt * );
285+ /* Version 3.18.0 and later */
286+ void (* set_last_insert_rowid )(sqlite3 * ,sqlite3_int64 );
287+ /* Version 3.20.0 and later */
288+ int (* prepare_v3 )(sqlite3 * ,const char * ,int ,unsigned int ,
289+ sqlite3_stmt * * ,const char * * );
290+ int (* prepare16_v3 )(sqlite3 * ,const void * ,int ,unsigned int ,
291+ sqlite3_stmt * * ,const void * * );
292+ int (* bind_pointer )(sqlite3_stmt * ,int ,void * ,const char * ,void (* )(void * ));
293+ void (* result_pointer )(sqlite3_context * ,void * ,const char * ,void (* )(void * ));
294+ void * (* value_pointer )(sqlite3_value * ,const char * );
295+ int (* vtab_nochange )(sqlite3_context * );
296+ int (* value_nochange )(sqlite3_value * );
297+ const char * (* vtab_collation )(sqlite3_index_info * ,int );
298+ /* Version 3.24.0 and later */
299+ int (* keyword_count )(void );
300+ int (* keyword_name )(int ,const char * * ,int * );
301+ int (* keyword_check )(const char * ,int );
302+ sqlite3_str * (* str_new )(sqlite3 * );
303+ char * (* str_finish )(sqlite3_str * );
304+ void (* str_appendf )(sqlite3_str * , const char * zFormat , ...);
305+ void (* str_vappendf )(sqlite3_str * , const char * zFormat , va_list );
306+ void (* str_append )(sqlite3_str * , const char * zIn , int N );
307+ void (* str_appendall )(sqlite3_str * , const char * zIn );
308+ void (* str_appendchar )(sqlite3_str * , int N , char C );
309+ void (* str_reset )(sqlite3_str * );
310+ int (* str_errcode )(sqlite3_str * );
311+ int (* str_length )(sqlite3_str * );
312+ char * (* str_value )(sqlite3_str * );
313+ /* Version 3.25.0 and later */
314+ int (* create_window_function )(sqlite3 * ,const char * ,int ,int ,void * ,
315+ void (* xStep )(sqlite3_context * ,int ,sqlite3_value * * ),
316+ void (* xFinal )(sqlite3_context * ),
317+ void (* xValue )(sqlite3_context * ),
318+ void (* xInv )(sqlite3_context * ,int ,sqlite3_value * * ),
319+ void (* xDestroy )(void * ));
320+ /* Version 3.26.0 and later */
321+ const char * (* normalized_sql )(sqlite3_stmt * );
285322};
286323
287324/*
@@ -408,7 +445,7 @@ typedef int (*sqlite3_loadext_entry)(
408445#define sqlite3_rollback_hook sqlite3_api->rollback_hook
409446#define sqlite3_set_authorizer sqlite3_api->set_authorizer
410447#define sqlite3_set_auxdata sqlite3_api->set_auxdata
411- #define sqlite3_snprintf sqlite3_api->snprintf
448+ #define sqlite3_snprintf sqlite3_api->xsnprintf
412449#define sqlite3_step sqlite3_api->step
413450#define sqlite3_table_column_metadata sqlite3_api->table_column_metadata
414451#define sqlite3_thread_cleanup sqlite3_api->thread_cleanup
@@ -432,7 +469,7 @@ typedef int (*sqlite3_loadext_entry)(
432469#define sqlite3_value_text16le sqlite3_api->value_text16le
433470#define sqlite3_value_type sqlite3_api->value_type
434471#define sqlite3_vmprintf sqlite3_api->vmprintf
435- #define sqlite3_vsnprintf sqlite3_api->vsnprintf
472+ #define sqlite3_vsnprintf sqlite3_api->xvsnprintf
436473#define sqlite3_overload_function sqlite3_api->overload_function
437474#define sqlite3_prepare_v2 sqlite3_api->prepare_v2
438475#define sqlite3_prepare16_v2 sqlite3_api->prepare16_v2
@@ -508,7 +545,7 @@ typedef int (*sqlite3_loadext_entry)(
508545#define sqlite3_uri_boolean sqlite3_api->uri_boolean
509546#define sqlite3_uri_int64 sqlite3_api->uri_int64
510547#define sqlite3_uri_parameter sqlite3_api->uri_parameter
511- #define sqlite3_uri_vsnprintf sqlite3_api->vsnprintf
548+ #define sqlite3_uri_vsnprintf sqlite3_api->xvsnprintf
512549#define sqlite3_wal_checkpoint_v2 sqlite3_api->wal_checkpoint_v2
513550/* Version 3.8.7 and later */
514551#define sqlite3_auto_extension sqlite3_api->auto_extension
@@ -540,6 +577,37 @@ typedef int (*sqlite3_loadext_entry)(
540577/* Version 3.14.0 and later */
541578#define sqlite3_trace_v2 sqlite3_api->trace_v2
542579#define sqlite3_expanded_sql sqlite3_api->expanded_sql
580+ /* Version 3.18.0 and later */
581+ #define sqlite3_set_last_insert_rowid sqlite3_api->set_last_insert_rowid
582+ /* Version 3.20.0 and later */
583+ #define sqlite3_prepare_v3 sqlite3_api->prepare_v3
584+ #define sqlite3_prepare16_v3 sqlite3_api->prepare16_v3
585+ #define sqlite3_bind_pointer sqlite3_api->bind_pointer
586+ #define sqlite3_result_pointer sqlite3_api->result_pointer
587+ #define sqlite3_value_pointer sqlite3_api->value_pointer
588+ /* Version 3.22.0 and later */
589+ #define sqlite3_vtab_nochange sqlite3_api->vtab_nochange
590+ #define sqlite3_value_nochange sqlite3_api->value_nochange
591+ #define sqlite3_vtab_collation sqlite3_api->vtab_collation
592+ /* Version 3.24.0 and later */
593+ #define sqlite3_keyword_count sqlite3_api->keyword_count
594+ #define sqlite3_keyword_name sqlite3_api->keyword_name
595+ #define sqlite3_keyword_check sqlite3_api->keyword_check
596+ #define sqlite3_str_new sqlite3_api->str_new
597+ #define sqlite3_str_finish sqlite3_api->str_finish
598+ #define sqlite3_str_appendf sqlite3_api->str_appendf
599+ #define sqlite3_str_vappendf sqlite3_api->str_vappendf
600+ #define sqlite3_str_append sqlite3_api->str_append
601+ #define sqlite3_str_appendall sqlite3_api->str_appendall
602+ #define sqlite3_str_appendchar sqlite3_api->str_appendchar
603+ #define sqlite3_str_reset sqlite3_api->str_reset
604+ #define sqlite3_str_errcode sqlite3_api->str_errcode
605+ #define sqlite3_str_length sqlite3_api->str_length
606+ #define sqlite3_str_value sqlite3_api->str_value
607+ /* Version 3.25.0 and later */
608+ #define sqlite3_create_window_function sqlite3_api->create_window_function
609+ /* Version 3.26.0 and later */
610+ #define sqlite3_normalized_sql sqlite3_api->normalized_sql
543611#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
544612
545613#if !defined(SQLITE_CORE ) && !defined(SQLITE_OMIT_LOAD_EXTENSION )
0 commit comments