aboutsummaryrefslogtreecommitdiff
path: root/src/sqlite3ext.h
diff options
context:
space:
mode:
authordrh <>2022-02-02 19:51:44 +0000
committerdrh <>2022-02-02 19:51:44 +0000
commit044a017abc5a2322f7ca27350b18a5575e8be631 (patch)
treeba262fa2c55dfdd13d3c27aa8c9b4a31bca1e850 /src/sqlite3ext.h
parent9ede896ac15ef680f107aa77df6ab3e7163b0093 (diff)
parentcc0db61364b9eec3d91c069e280a258a555aa65d (diff)
downloadsqlite-044a017abc5a2322f7ca27350b18a5575e8be631.tar.gz
sqlite-044a017abc5a2322f7ca27350b18a5575e8be631.zip
Add the sqlite3_vtab_in() interface that allows virtual tables to process
IN constraints all at once, rather than one value at a time. FossilOrigin-Name: 52559af093809b572082b5ebaacf97b727ee1860ae118530761b62e937545163
Diffstat (limited to 'src/sqlite3ext.h')
-rw-r--r--src/sqlite3ext.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/sqlite3ext.h b/src/sqlite3ext.h
index 88010b9d8..2eac4f3f0 100644
--- a/src/sqlite3ext.h
+++ b/src/sqlite3ext.h
@@ -348,6 +348,9 @@ struct sqlite3_api_routines {
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**);
};
/*
@@ -663,6 +666,9 @@ typedef int (*sqlite3_loadext_entry)(
#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
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)