SQLite

Check-in [0cb83c84d1]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Minor changes to test script upsert4.test.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 0cb83c84d10b89ef7a5504862566a609307c63e7571dd711d8b9f995d29e5a8c
User & Date: dan 2018-04-18 19:45:14.101
Context
2018-04-18
19:56
Add the "sorter-reference" optimization, allowing SQLite to be configured so that some required values may be loaded from the database after external sorting occurs for SELECT statements with ORDER BY clauses that are not satisfied by database indexes. (check-in: ef74090a40 user: dan tags: trunk)
19:45
Minor changes to test script upsert4.test. (check-in: 0cb83c84d1 user: dan tags: trunk)
18:19
Fix a test case inside distinct.test. (check-in: 61cb8a391a user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to test/upsert4.test.
111
112
113
114
115
116
117

118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
    1 "ON CONFLICT (b COLLATE nocase, c, d) DO NOTHING"   0
    2 "ON CONFLICT (b, c, d) DO NOTHING"                  0
    3 "ON CONFLICT (b, c COLLATE nocase, d) DO NOTHING"   2
    4 "ON CONFLICT (a) DO NOTHING"                        1
    5 "ON CONFLICT DO NOTHING"                            0
    6 "ON CONFLICT (b, c, d) WHERE a!=0 DO NOTHING"       0
    7 "ON CONFLICT (d, c, c) WHERE a!=0 DO NOTHING"       2

  } {

    do_catchsql_test 2.$tn.2.$tn2 "
      INSERT INTO xyz VALUES(11, 1, 1, 'one') $oc
    " $rtbl($res)
  }

  do_execsql_test 2.$tn.3 {
    SELECT * FROM xyz;
  } {10 1 1 one}
}

foreach {tn sql} {
  1 { 
    CREATE TABLE abc(a INTEGER PRIMARY KEY, x, y);
    CREATE UNIQUE INDEX abc1 ON abc(('x' || x) COLLATE nocase);
  }
  2 { 
    CREATE TABLE abc(a INT PRIMARY KEY, x, y);
    CREATE UNIQUE INDEX abc1 ON abc(('x' || x) COLLATE nocase);
  }
  3 { 
    CREATE TABLE abc(a INT PRIMARY KEY, x, y) WITHOUT ROWID;
    CREATE UNIQUE INDEX abc1 ON abc(('x' || x) COLLATE nocase);
  }







>













|



|







111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
    1 "ON CONFLICT (b COLLATE nocase, c, d) DO NOTHING"   0
    2 "ON CONFLICT (b, c, d) DO NOTHING"                  0
    3 "ON CONFLICT (b, c COLLATE nocase, d) DO NOTHING"   2
    4 "ON CONFLICT (a) DO NOTHING"                        1
    5 "ON CONFLICT DO NOTHING"                            0
    6 "ON CONFLICT (b, c, d) WHERE a!=0 DO NOTHING"       0
    7 "ON CONFLICT (d, c, c) WHERE a!=0 DO NOTHING"       2
    8 "ON CONFLICT (b COLLATE nocase, c COLLATE nocase, d) DO NOTHING"   2
  } {

    do_catchsql_test 2.$tn.2.$tn2 "
      INSERT INTO xyz VALUES(11, 1, 1, 'one') $oc
    " $rtbl($res)
  }

  do_execsql_test 2.$tn.3 {
    SELECT * FROM xyz;
  } {10 1 1 one}
}

foreach {tn sql} {
  1 {
    CREATE TABLE abc(a INTEGER PRIMARY KEY, x, y);
    CREATE UNIQUE INDEX abc1 ON abc(('x' || x) COLLATE nocase);
  }
  2 {
    CREATE TABLE abc(a INT PRIMARY KEY, x, y);
    CREATE UNIQUE INDEX abc1 ON abc(('x' || x) COLLATE nocase);
  }
  3 { 
    CREATE TABLE abc(a INT PRIMARY KEY, x, y) WITHOUT ROWID;
    CREATE UNIQUE INDEX abc1 ON abc(('x' || x) COLLATE nocase);
  }
161
162
163
164
165
166
167






168
169
170
  }

  do_execsql_test 2.$tn.3 {
    SELECT * FROM abc
  } {1 one two}
}








finish_test








>
>
>
>
>
>



162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
  }

  do_execsql_test 2.$tn.3 {
    SELECT * FROM abc
  } {1 one two}
}

do_catchsql_test 3.0 {
  CREATE TABLE w1(a INT PRIMARY KEY, x, y);
  CREATE UNIQUE INDEX w1expr ON w1(('x' || x));
  INSERT INTO w1 VALUES(2, 'one', NULL)
    ON CONFLICT (('x' || x) COLLATE nocase) DO NOTHING;
} {1 {ON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint}}

finish_test