@@ -295,6 +295,30 @@ struct sqlite3_api_routines {
295295 int (* vtab_nochange )(sqlite3_context * );
296296 int (* value_nochange )(sqlite3_value * );
297297 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 * );
298322};
299323
300324/*
@@ -563,8 +587,27 @@ typedef int (*sqlite3_loadext_entry)(
563587#define sqlite3_value_pointer sqlite3_api->value_pointer
564588/* Version 3.22.0 and later */
565589#define sqlite3_vtab_nochange sqlite3_api->vtab_nochange
566- #define sqlite3_value_nochange sqltie3_api->value_nochange
567- #define sqlite3_vtab_collation sqltie3_api->vtab_collation
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
568611#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
569612
570613#if !defined(SQLITE_CORE ) && !defined(SQLITE_OMIT_LOAD_EXTENSION )
0 commit comments