aboutsummaryrefslogtreecommitdiff
path: root/test/csv01.test
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2017-08-10 15:19:39 +0000
committerdrh <drh@noemail.net>2017-08-10 15:19:39 +0000
commite3740f272bf8fc7439d64e211c3093ff55a8c21c (patch)
tree74afd5b05b99cdc8f7d784fc277fe453e471c360 /test/csv01.test
parent6fa9375c019c66b237a33ede0dfafedde1d2f3ba (diff)
downloadsqlite-e3740f272bf8fc7439d64e211c3093ff55a8c21c.tar.gz
sqlite-e3740f272bf8fc7439d64e211c3093ff55a8c21c.zip
Experimental changes that allow a WITHOUT ROWID virtual table to be writable
as long as it has only a single-column PRIMARY KEY. FossilOrigin-Name: ab9ee4c1e64c09c7130e385a23d043d78bad95dff5509c7adc9b992350a4a537
Diffstat (limited to 'test/csv01.test')
-rw-r--r--test/csv01.test22
1 files changed, 19 insertions, 3 deletions
diff --git a/test/csv01.test b/test/csv01.test
index 8151c4771..8954aae12 100644
--- a/test/csv01.test
+++ b/test/csv01.test
@@ -93,6 +93,7 @@ do_catchsql_test 3.2 {
SELECT rowid, a FROM t3;
} {1 {no such column: rowid}}
+# Multi-column WITHOUT ROWID virtual tables may not be writable.
do_catchsql_test 4.0 {
DROP TABLE t3;
CREATE VIRTUAL TABLE temp.t4 USING csv_wr(
@@ -100,13 +101,28 @@ do_catchsql_test 4.0 {
'1,2,3,4
5,6,7,8
9,10,11,12
-13,14,15,16
-',
+13,14,15,16',
columns=4,
schema=
- 'CREATE TABLE t3(a PRIMARY KEY,b TEXT,c TEXT,d TEXT) WITHOUT ROWID',
+ 'CREATE TABLE t3(a,b,c,d,PRIMARY KEY(a,b)) WITHOUT ROWID',
testflags=1
);
} {1 {vtable constructor failed: t4}}
+# WITHOUT ROWID tables with a single-column PRIMARY KEY may be writable.
+do_catchsql_test 4.1 {
+ DROP TABLE IF EXISTS t4;
+ CREATE VIRTUAL TABLE temp.t4 USING csv_wr(
+ data=
+'1,2,3,4
+5,6,7,8
+9,10,11,12
+13,14,15,16',
+ columns=4,
+ schema=
+ 'CREATE TABLE t3(a,b,c,d,PRIMARY KEY(b)) WITHOUT ROWID',
+ testflags=1
+ );
+} {0 {}}
+
finish_test