169f3d048Smistachkin# 2013 March 10 269f3d048Smistachkin# 369f3d048Smistachkin# The author disclaims copyright to this source code. In place of 469f3d048Smistachkin# a legal notice, here is a blessing: 569f3d048Smistachkin# 669f3d048Smistachkin# May you do good and not evil. 769f3d048Smistachkin# May you find forgiveness for yourself and forgive others. 869f3d048Smistachkin# May you share freely, never taking more than you give. 969f3d048Smistachkin# 1069f3d048Smistachkin#*********************************************************************** 1169f3d048Smistachkin# This file implements regression tests for SQLite library. The 1269f3d048Smistachkin# focus of this file is testing the TOINTEGER() and TODOUBLE() 1369f3d048Smistachkin# functions. 1469f3d048Smistachkin# 1569f3d048Smistachkinset testdir [file dirname $argv0] 1669f3d048Smistachkinsource $testdir/tester.tcl 1769f3d048Smistachkin 1869f3d048Smistachkinset i 0 1969f3d048Smistachkindo_execsql_test func4-1.[incr i] { 2069f3d048Smistachkin SELECT tointeger(NULL); 2169f3d048Smistachkin} {{}} 2269f3d048Smistachkindo_execsql_test func4-1.[incr i] { 2369f3d048Smistachkin SELECT tointeger(''); 2469f3d048Smistachkin} {{}} 2569f3d048Smistachkindo_execsql_test func4-1.[incr i] { 2669f3d048Smistachkin SELECT tointeger(' '); 2769f3d048Smistachkin} {{}} 2869f3d048Smistachkindo_execsql_test func4-1.[incr i] { 2969f3d048Smistachkin SELECT tointeger('1234'); 3069f3d048Smistachkin} {1234} 3169f3d048Smistachkindo_execsql_test func4-1.[incr i] { 3269f3d048Smistachkin SELECT tointeger(' 1234'); 3369f3d048Smistachkin} {1234} 3469f3d048Smistachkindo_execsql_test func4-1.[incr i] { 3569f3d048Smistachkin SELECT tointeger('bad'); 3669f3d048Smistachkin} {{}} 3769f3d048Smistachkindo_execsql_test func4-1.[incr i] { 3869f3d048Smistachkin SELECT tointeger('0xBAD'); 3969f3d048Smistachkin} {{}} 4069f3d048Smistachkindo_execsql_test func4-1.[incr i] { 4169f3d048Smistachkin SELECT tointeger('123BAD'); 4269f3d048Smistachkin} {{}} 4369f3d048Smistachkindo_execsql_test func4-1.[incr i] { 4469f3d048Smistachkin SELECT tointeger('0x123BAD'); 4569f3d048Smistachkin} {{}} 4669f3d048Smistachkindo_execsql_test func4-1.[incr i] { 4769f3d048Smistachkin SELECT tointeger('123NO'); 4869f3d048Smistachkin} {{}} 4969f3d048Smistachkindo_execsql_test func4-1.[incr i] { 5069f3d048Smistachkin SELECT tointeger('0x123NO'); 5169f3d048Smistachkin} {{}} 5269f3d048Smistachkindo_execsql_test func4-1.[incr i] { 5369f3d048Smistachkin SELECT tointeger('-0x1'); 5469f3d048Smistachkin} {{}} 5569f3d048Smistachkindo_execsql_test func4-1.[incr i] { 5669f3d048Smistachkin SELECT tointeger('-0x0'); 5769f3d048Smistachkin} {{}} 5869f3d048Smistachkindo_execsql_test func4-1.[incr i] { 5969f3d048Smistachkin SELECT tointeger('0x0'); 6069f3d048Smistachkin} {{}} 6169f3d048Smistachkindo_execsql_test func4-1.[incr i] { 6269f3d048Smistachkin SELECT tointeger('0x1'); 6369f3d048Smistachkin} {{}} 6469f3d048Smistachkindo_execsql_test func4-1.[incr i] { 6569f3d048Smistachkin SELECT tointeger(-1); 6669f3d048Smistachkin} {-1} 6769f3d048Smistachkindo_execsql_test func4-1.[incr i] { 6869f3d048Smistachkin SELECT tointeger(-0); 6969f3d048Smistachkin} {0} 7069f3d048Smistachkindo_execsql_test func4-1.[incr i] { 7169f3d048Smistachkin SELECT tointeger(0); 7269f3d048Smistachkin} {0} 7369f3d048Smistachkindo_execsql_test func4-1.[incr i] { 7469f3d048Smistachkin SELECT tointeger(1); 7569f3d048Smistachkin} {1} 7669f3d048Smistachkindo_execsql_test func4-1.[incr i] { 7769f3d048Smistachkin SELECT tointeger(-1.79769313486232e308 - 1); 7869f3d048Smistachkin} {-9223372036854775808} 7969f3d048Smistachkindo_execsql_test func4-1.[incr i] { 8069f3d048Smistachkin SELECT tointeger(-1.79769313486232e308); 8169f3d048Smistachkin} {-9223372036854775808} 8269f3d048Smistachkindo_execsql_test func4-1.[incr i] { 8369f3d048Smistachkin SELECT tointeger(-1.79769313486232e308 + 1); 8469f3d048Smistachkin} {-9223372036854775808} 8569f3d048Smistachkindo_execsql_test func4-1.[incr i] { 8669f3d048Smistachkin SELECT tointeger(-9223372036854775808 - 1); 8769f3d048Smistachkin} {-9223372036854775808} 8869f3d048Smistachkindo_execsql_test func4-1.[incr i] { 8969f3d048Smistachkin SELECT tointeger(-9223372036854775808); 9069f3d048Smistachkin} {-9223372036854775808} 9169f3d048Smistachkindo_execsql_test func4-1.[incr i] { 9269f3d048Smistachkin SELECT tointeger(-9223372036854775808 + 1); 9369f3d048Smistachkin} {-9223372036854775807} 9469f3d048Smistachkindo_execsql_test func4-1.[incr i] { 9569f3d048Smistachkin SELECT tointeger(-2147483648 - 1); 9669f3d048Smistachkin} {-2147483649} 9769f3d048Smistachkindo_execsql_test func4-1.[incr i] { 9869f3d048Smistachkin SELECT tointeger(-2147483648); 9969f3d048Smistachkin} {-2147483648} 10069f3d048Smistachkindo_execsql_test func4-1.[incr i] { 10169f3d048Smistachkin SELECT tointeger(-2147483648 + 1); 10269f3d048Smistachkin} {-2147483647} 10369f3d048Smistachkindo_execsql_test func4-1.[incr i] { 10469f3d048Smistachkin SELECT tointeger(2147483647 - 1); 10569f3d048Smistachkin} {2147483646} 10669f3d048Smistachkindo_execsql_test func4-1.[incr i] { 10769f3d048Smistachkin SELECT tointeger(2147483647); 10869f3d048Smistachkin} {2147483647} 10969f3d048Smistachkindo_execsql_test func4-1.[incr i] { 11069f3d048Smistachkin SELECT tointeger(2147483647 + 1); 11169f3d048Smistachkin} {2147483648} 11269f3d048Smistachkindo_execsql_test func4-1.[incr i] { 11369f3d048Smistachkin SELECT tointeger(9223372036854775807 - 1); 11469f3d048Smistachkin} {9223372036854775806} 11569f3d048Smistachkindo_execsql_test func4-1.[incr i] { 11669f3d048Smistachkin SELECT tointeger(9223372036854775807); 11769f3d048Smistachkin} {9223372036854775807} 11869f3d048Smistachkindo_execsql_test func4-1.[incr i] { 11969f3d048Smistachkin SELECT tointeger(9223372036854775807 + 1); 12069f3d048Smistachkin} {-9223372036854775808} 12169f3d048Smistachkindo_execsql_test func4-1.[incr i] { 12269f3d048Smistachkin SELECT tointeger(1.79769313486232e308 - 1); 12369f3d048Smistachkin} {-9223372036854775808} 12469f3d048Smistachkindo_execsql_test func4-1.[incr i] { 12569f3d048Smistachkin SELECT tointeger(1.79769313486232e308); 12669f3d048Smistachkin} {-9223372036854775808} 12769f3d048Smistachkindo_execsql_test func4-1.[incr i] { 12869f3d048Smistachkin SELECT tointeger(1.79769313486232e308 + 1); 12969f3d048Smistachkin} {-9223372036854775808} 13069f3d048Smistachkindo_execsql_test func4-1.[incr i] { 13169f3d048Smistachkin SELECT tointeger(4503599627370496 - 1); 13269f3d048Smistachkin} {4503599627370495} 13369f3d048Smistachkindo_execsql_test func4-1.[incr i] { 13469f3d048Smistachkin SELECT tointeger(4503599627370496); 13569f3d048Smistachkin} {4503599627370496} 13669f3d048Smistachkindo_execsql_test func4-1.[incr i] { 13769f3d048Smistachkin SELECT tointeger(4503599627370496 + 1); 13869f3d048Smistachkin} {4503599627370497} 13969f3d048Smistachkindo_execsql_test func4-1.[incr i] { 14069f3d048Smistachkin SELECT tointeger(9007199254740992 - 1); 14169f3d048Smistachkin} {9007199254740991} 14269f3d048Smistachkindo_execsql_test func4-1.[incr i] { 14369f3d048Smistachkin SELECT tointeger(9007199254740992); 14469f3d048Smistachkin} {9007199254740992} 14569f3d048Smistachkindo_execsql_test func4-1.[incr i] { 14669f3d048Smistachkin SELECT tointeger(9007199254740992 + 1); 14769f3d048Smistachkin} {9007199254740993} 14869f3d048Smistachkindo_execsql_test func4-1.[incr i] { 14969f3d048Smistachkin SELECT tointeger(9223372036854775808 - 1); 15069f3d048Smistachkin} {-9223372036854775808} 15169f3d048Smistachkindo_execsql_test func4-1.[incr i] { 15269f3d048Smistachkin SELECT tointeger(9223372036854775808); 15369f3d048Smistachkin} {-9223372036854775808} 15469f3d048Smistachkindo_execsql_test func4-1.[incr i] { 15569f3d048Smistachkin SELECT tointeger(9223372036854775808 + 1); 15669f3d048Smistachkin} {-9223372036854775808} 15769f3d048Smistachkindo_execsql_test func4-1.[incr i] { 15869f3d048Smistachkin SELECT tointeger(18446744073709551616 - 1); 15969f3d048Smistachkin} {-9223372036854775808} 16069f3d048Smistachkindo_execsql_test func4-1.[incr i] { 16169f3d048Smistachkin SELECT tointeger(18446744073709551616); 16269f3d048Smistachkin} {-9223372036854775808} 16369f3d048Smistachkindo_execsql_test func4-1.[incr i] { 16469f3d048Smistachkin SELECT tointeger(18446744073709551616 + 1); 16569f3d048Smistachkin} {-9223372036854775808} 16669f3d048Smistachkin 16769f3d048Smistachkinifcapable floatingpoint { 16869f3d048Smistachkin set i 0 16969f3d048Smistachkin do_execsql_test func4-2.[incr i] { 17069f3d048Smistachkin SELECT todouble(NULL); 17169f3d048Smistachkin } {{}} 17269f3d048Smistachkin do_execsql_test func4-2.[incr i] { 17369f3d048Smistachkin SELECT todouble(''); 17469f3d048Smistachkin } {{}} 17569f3d048Smistachkin do_execsql_test func4-2.[incr i] { 17669f3d048Smistachkin SELECT todouble(' '); 17769f3d048Smistachkin } {{}} 17869f3d048Smistachkin do_execsql_test func4-2.[incr i] { 17969f3d048Smistachkin SELECT todouble('1234'); 18069f3d048Smistachkin } {1234.0} 18169f3d048Smistachkin do_execsql_test func4-2.[incr i] { 18269f3d048Smistachkin SELECT todouble(' 1234'); 18369f3d048Smistachkin } {1234.0} 18469f3d048Smistachkin do_execsql_test func4-2.[incr i] { 18569f3d048Smistachkin SELECT todouble('bad'); 18669f3d048Smistachkin } {{}} 18769f3d048Smistachkin do_execsql_test func4-2.[incr i] { 18869f3d048Smistachkin SELECT todouble('0xBAD'); 18969f3d048Smistachkin } {{}} 19069f3d048Smistachkin do_execsql_test func4-2.[incr i] { 19169f3d048Smistachkin SELECT todouble('123BAD'); 19269f3d048Smistachkin } {{}} 19369f3d048Smistachkin do_execsql_test func4-2.[incr i] { 19469f3d048Smistachkin SELECT todouble('0x123BAD'); 19569f3d048Smistachkin } {{}} 19669f3d048Smistachkin do_execsql_test func4-2.[incr i] { 19769f3d048Smistachkin SELECT todouble('123NO'); 19869f3d048Smistachkin } {{}} 19969f3d048Smistachkin do_execsql_test func4-2.[incr i] { 20069f3d048Smistachkin SELECT todouble('0x123NO'); 20169f3d048Smistachkin } {{}} 20269f3d048Smistachkin do_execsql_test func4-2.[incr i] { 20369f3d048Smistachkin SELECT todouble('-0x1'); 20469f3d048Smistachkin } {{}} 20569f3d048Smistachkin do_execsql_test func4-2.[incr i] { 20669f3d048Smistachkin SELECT todouble('-0x0'); 20769f3d048Smistachkin } {{}} 20869f3d048Smistachkin do_execsql_test func4-2.[incr i] { 20969f3d048Smistachkin SELECT todouble('0x0'); 21069f3d048Smistachkin } {{}} 21169f3d048Smistachkin do_execsql_test func4-2.[incr i] { 21269f3d048Smistachkin SELECT todouble('0x1'); 21369f3d048Smistachkin } {{}} 21469f3d048Smistachkin do_execsql_test func4-2.[incr i] { 21569f3d048Smistachkin SELECT todouble(-1); 21669f3d048Smistachkin } {-1.0} 21769f3d048Smistachkin do_execsql_test func4-2.[incr i] { 21869f3d048Smistachkin SELECT todouble(-0); 21969f3d048Smistachkin } {0.0} 22069f3d048Smistachkin do_execsql_test func4-2.[incr i] { 22169f3d048Smistachkin SELECT todouble(0); 22269f3d048Smistachkin } {0.0} 22369f3d048Smistachkin do_execsql_test func4-2.[incr i] { 22469f3d048Smistachkin SELECT todouble(1); 22569f3d048Smistachkin } {1.0} 22669f3d048Smistachkin do_execsql_test func4-2.[incr i] { 22769f3d048Smistachkin SELECT todouble(-1.79769313486232e308 - 1); 22869f3d048Smistachkin } {-Inf} 22969f3d048Smistachkin do_execsql_test func4-2.[incr i] { 23069f3d048Smistachkin SELECT todouble(-1.79769313486232e308); 23169f3d048Smistachkin } {-Inf} 23269f3d048Smistachkin do_execsql_test func4-2.[incr i] { 23369f3d048Smistachkin SELECT todouble(-1.79769313486232e308 + 1); 23469f3d048Smistachkin } {-Inf} 23569f3d048Smistachkin do_execsql_test func4-2.[incr i] { 23669f3d048Smistachkin SELECT todouble(-9223372036854775808 - 1); 23769f3d048Smistachkin } {-9.22337203685478e+18} 23869f3d048Smistachkin do_execsql_test func4-2.[incr i] { 23969f3d048Smistachkin SELECT todouble(-9223372036854775808); 24069f3d048Smistachkin } {-9.22337203685478e+18} 24169f3d048Smistachkin do_execsql_test func4-2.[incr i] { 24269f3d048Smistachkin SELECT todouble(-9223372036854775808 + 1); 24369f3d048Smistachkin } {-9.22337203685478e+18} 24469f3d048Smistachkin do_execsql_test func4-2.[incr i] { 24569f3d048Smistachkin SELECT todouble(-2147483648 - 1); 24669f3d048Smistachkin } {-2147483649.0} 24769f3d048Smistachkin do_execsql_test func4-2.[incr i] { 24869f3d048Smistachkin SELECT todouble(-2147483648); 24969f3d048Smistachkin } {-2147483648.0} 25069f3d048Smistachkin do_execsql_test func4-2.[incr i] { 25169f3d048Smistachkin SELECT todouble(-2147483648 + 1); 25269f3d048Smistachkin } {-2147483647.0} 25369f3d048Smistachkin do_execsql_test func4-2.[incr i] { 25469f3d048Smistachkin SELECT todouble(2147483647 - 1); 25569f3d048Smistachkin } {2147483646.0} 25669f3d048Smistachkin do_execsql_test func4-2.[incr i] { 25769f3d048Smistachkin SELECT todouble(2147483647); 25869f3d048Smistachkin } {2147483647.0} 25969f3d048Smistachkin do_execsql_test func4-2.[incr i] { 26069f3d048Smistachkin SELECT todouble(2147483647 + 1); 26169f3d048Smistachkin } {2147483648.0} 26269f3d048Smistachkin do_execsql_test func4-2.[incr i] { 26369f3d048Smistachkin SELECT todouble(9223372036854775807 - 1); 26469f3d048Smistachkin } {9.22337203685478e+18} 26569f3d048Smistachkin do_execsql_test func4-2.[incr i] { 26669f3d048Smistachkin SELECT todouble(9223372036854775807); 26769f3d048Smistachkin } {9.22337203685478e+18} 26869f3d048Smistachkin do_execsql_test func4-2.[incr i] { 26969f3d048Smistachkin SELECT todouble(9223372036854775807 + 1); 27069f3d048Smistachkin } {9.22337203685478e+18} 27169f3d048Smistachkin do_execsql_test func4-2.[incr i] { 27269f3d048Smistachkin SELECT todouble(1.79769313486232e308 - 1); 27369f3d048Smistachkin } {Inf} 27469f3d048Smistachkin do_execsql_test func4-2.[incr i] { 27569f3d048Smistachkin SELECT todouble(1.79769313486232e308); 27669f3d048Smistachkin } {Inf} 27769f3d048Smistachkin do_execsql_test func4-2.[incr i] { 27869f3d048Smistachkin SELECT todouble(1.79769313486232e308 + 1); 27969f3d048Smistachkin } {Inf} 28069f3d048Smistachkin do_execsql_test func4-2.[incr i] { 28169f3d048Smistachkin SELECT todouble(4503599627370496 - 1); 28269f3d048Smistachkin } {4503599627370500.0} 28369f3d048Smistachkin do_execsql_test func4-2.[incr i] { 28469f3d048Smistachkin SELECT todouble(4503599627370496); 28569f3d048Smistachkin } {4503599627370500.0} 28669f3d048Smistachkin do_execsql_test func4-2.[incr i] { 28769f3d048Smistachkin SELECT todouble(4503599627370496 + 1); 28869f3d048Smistachkin } {4503599627370500.0} 28969f3d048Smistachkin do_execsql_test func4-2.[incr i] { 29069f3d048Smistachkin SELECT todouble(9007199254740992 - 1); 29169f3d048Smistachkin } {9007199254740990.0} 29269f3d048Smistachkin do_execsql_test func4-2.[incr i] { 29369f3d048Smistachkin SELECT todouble(9007199254740992); 29469f3d048Smistachkin } {9007199254740990.0} 29569f3d048Smistachkin do_execsql_test func4-2.[incr i] { 29669f3d048Smistachkin SELECT todouble(9007199254740992 + 1); 29769f3d048Smistachkin } {9007199254740990.0} 29869f3d048Smistachkin do_execsql_test func4-2.[incr i] { 29969f3d048Smistachkin SELECT todouble(9223372036854775808 - 1); 30069f3d048Smistachkin } {9.22337203685478e+18} 30169f3d048Smistachkin do_execsql_test func4-2.[incr i] { 30269f3d048Smistachkin SELECT todouble(9223372036854775808); 30369f3d048Smistachkin } {9.22337203685478e+18} 30469f3d048Smistachkin do_execsql_test func4-2.[incr i] { 30569f3d048Smistachkin SELECT todouble(9223372036854775808 + 1); 30669f3d048Smistachkin } {9.22337203685478e+18} 30769f3d048Smistachkin do_execsql_test func4-2.[incr i] { 30869f3d048Smistachkin SELECT todouble(18446744073709551616 - 1); 30969f3d048Smistachkin } {1.84467440737096e+19} 31069f3d048Smistachkin do_execsql_test func4-2.[incr i] { 31169f3d048Smistachkin SELECT todouble(18446744073709551616); 31269f3d048Smistachkin } {1.84467440737096e+19} 31369f3d048Smistachkin do_execsql_test func4-2.[incr i] { 31469f3d048Smistachkin SELECT todouble(18446744073709551616 + 1); 31569f3d048Smistachkin } {1.84467440737096e+19} 31669f3d048Smistachkin} 31769f3d048Smistachkin 318*32be00a5Smistachkinifcapable check { 319*32be00a5Smistachkin set i 0 320*32be00a5Smistachkin do_execsql_test func4-3.[incr i] { 321*32be00a5Smistachkin CREATE TABLE t1( 322*32be00a5Smistachkin x INTEGER CHECK(tointeger(x) IS NOT NULL AND x = CAST(x AS INTEGER)) 323*32be00a5Smistachkin ); 324*32be00a5Smistachkin } {} 325*32be00a5Smistachkin do_test func4-3.[incr i] { 326*32be00a5Smistachkin catchsql { 327*32be00a5Smistachkin INSERT INTO t1 (x) VALUES (NULL); 328*32be00a5Smistachkin } 329*32be00a5Smistachkin } {1 {constraint failed}} 330*32be00a5Smistachkin do_test func4-3.[incr i] { 331*32be00a5Smistachkin catchsql { 332*32be00a5Smistachkin INSERT INTO t1 (x) VALUES (NULL); 333*32be00a5Smistachkin } 334*32be00a5Smistachkin } {1 {constraint failed}} 335*32be00a5Smistachkin do_test func4-3.[incr i] { 336*32be00a5Smistachkin catchsql { 337*32be00a5Smistachkin INSERT INTO t1 (x) VALUES (''); 338*32be00a5Smistachkin } 339*32be00a5Smistachkin } {1 {constraint failed}} 340*32be00a5Smistachkin do_test func4-3.[incr i] { 341*32be00a5Smistachkin catchsql { 342*32be00a5Smistachkin INSERT INTO t1 (x) VALUES ('bad'); 343*32be00a5Smistachkin } 344*32be00a5Smistachkin } {1 {constraint failed}} 345*32be00a5Smistachkin do_test func4-3.[incr i] { 346*32be00a5Smistachkin catchsql { 347*32be00a5Smistachkin INSERT INTO t1 (x) VALUES ('1234bad'); 348*32be00a5Smistachkin } 349*32be00a5Smistachkin } {1 {constraint failed}} 350*32be00a5Smistachkin do_test func4-3.[incr i] { 351*32be00a5Smistachkin catchsql { 352*32be00a5Smistachkin INSERT INTO t1 (x) VALUES (1234); 353*32be00a5Smistachkin } 354*32be00a5Smistachkin } {0 {}} 355*32be00a5Smistachkin do_test func4-3.[incr i] { 356*32be00a5Smistachkin catchsql { 357*32be00a5Smistachkin INSERT INTO t1 (x) VALUES (1234.56); 358*32be00a5Smistachkin } 359*32be00a5Smistachkin } {1 {constraint failed}} 360*32be00a5Smistachkin do_test func4-3.[incr i] { 361*32be00a5Smistachkin catchsql { 362*32be00a5Smistachkin INSERT INTO t1 (x) VALUES ('1234'); 363*32be00a5Smistachkin } 364*32be00a5Smistachkin } {0 {}} 365*32be00a5Smistachkin do_test func4-3.[incr i] { 366*32be00a5Smistachkin catchsql { 367*32be00a5Smistachkin INSERT INTO t1 (x) VALUES ('1234.56'); 368*32be00a5Smistachkin } 369*32be00a5Smistachkin } {1 {constraint failed}} 370*32be00a5Smistachkin do_test func4-3.[incr i] { 371*32be00a5Smistachkin catchsql { 372*32be00a5Smistachkin INSERT INTO t1 (x) VALUES (ZEROBLOB(4)); 373*32be00a5Smistachkin } 374*32be00a5Smistachkin } {1 {constraint failed}} 375*32be00a5Smistachkin do_test func4-3.[incr i] { 376*32be00a5Smistachkin catchsql { 377*32be00a5Smistachkin INSERT INTO t1 (x) VALUES (X''); 378*32be00a5Smistachkin } 379*32be00a5Smistachkin } {1 {constraint failed}} 380*32be00a5Smistachkin do_test func4-3.[incr i] { 381*32be00a5Smistachkin catchsql { 382*32be00a5Smistachkin INSERT INTO t1 (x) VALUES (X'1234'); 383*32be00a5Smistachkin } 384*32be00a5Smistachkin } {1 {constraint failed}} 385*32be00a5Smistachkin do_test func4-3.[incr i] { 386*32be00a5Smistachkin catchsql { 387*32be00a5Smistachkin INSERT INTO t1 (x) VALUES (X'12345678'); 388*32be00a5Smistachkin } 389*32be00a5Smistachkin } {1 {constraint failed}} 390*32be00a5Smistachkin do_execsql_test func4-3.[incr i] { 391*32be00a5Smistachkin SELECT x FROM t1 ORDER BY x; 392*32be00a5Smistachkin } {1234 1234} 393*32be00a5Smistachkin} 394*32be00a5Smistachkin 39569f3d048Smistachkinfinish_test 396