summaryrefslogtreecommitdiffstats
path: root/third_party/sqlite/src/test/capi2.test
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/sqlite/src/test/capi2.test')
-rw-r--r--third_party/sqlite/src/test/capi2.test16
1 files changed, 13 insertions, 3 deletions
diff --git a/third_party/sqlite/src/test/capi2.test b/third_party/sqlite/src/test/capi2.test
index 8bcb25a8..8b36ac6 100644
--- a/third_party/sqlite/src/test/capi2.test
+++ b/third_party/sqlite/src/test/capi2.test
@@ -71,15 +71,25 @@ do_test capi2-1.6 {
do_test capi2-1.7 {
list [sqlite3_column_count $VM] [get_row_values $VM] [get_column_names $VM]
} {2 {} {name rowid text INTEGER}}
-do_test capi2-1.8-misuse {
- sqlite3_step $VM
-} {SQLITE_MISUSE}
+
+# This used to be SQLITE_MISUSE. But now we automatically reset prepared
+# statements.
+ifcapable autoreset {
+ do_test capi2-1.8 {
+ sqlite3_step $VM
+ } {SQLITE_ROW}
+} else {
+ do_test capi2-1.8 {
+ sqlite3_step $VM
+ } {SQLITE_MISUSE}
+}
# Update: In v2, once SQLITE_MISUSE is returned the statement handle cannot
# be interrogated for more information. However in v3, since the column
# count, names and types are determined at compile time, these are still
# accessible after an SQLITE_MISUSE error.
do_test capi2-1.9 {
+ sqlite3_reset $VM
list [sqlite3_column_count $VM] [get_row_values $VM] [get_column_names $VM]
} {2 {} {name rowid text INTEGER}}
do_test capi2-1.10 {