--- parser3/tests/388-sql.html 2020/01/18 20:52:01 1.14 +++ parser3/tests/388-sql.html 2024/12/12 20:34:23 1.21 @@ -1,4 +1,4 @@ -@main[] +@auto[] $path[^os[Release/;.libs/lib]] $ext[^os[dll;so]] @@ -6,14 +6,28 @@ $ext[^os[dll;so]] $SQL[ $.drivers[^table::create{protocol driver client connect sqlite ../../sql/sqlite/${path}parser3sqlite.$ext ^os[sqlite3.dll;libsqlite3.so] sqlite://:memory:?multi_statements=1 -mysql ../../sql/mysql/${path}parser3mysql.$ext ^os[libmySQL.dll;libmariadbclient.so] mysql://@/?config_group=parser3&multi_statements=1 +mysql ../../sql/mysql/${path}parser3mysql.$ext ^os[libmySQL.dll;libmariadb.so.3] mysql://@/?config_group=parser3&multi_statements=1 pgsql ../../sql/pgsql/${path}parser3pgsql.$ext libpq.$ext pgsql://test@localhost/test }] ] -$sql[sqlite] +$sql[mysql] $ignore[^SQL.drivers.locate[protocol;$sql]] +@prepare-data[] + $ignore[^try-catch{ ^void:sql{drop table pets} }] + + ^void:sql{create table pets (pet varchar(128), food varchar(128), aggressive varchar(128), weigth varchar(128))} + + ^void:sql{insert into pets values + ('cat', 'milk', '^taint['very']', 5), + ('dog', 'bone', '^taint["never"]', 10), + ('hamster', 'grain', null, 1), + ('parrot', 'grain', 'alwayws', 1) + } + +@main[] + ^connect[$SQL.drivers.connect]{ 1. 2 + 2 = ^string:sql{select 2+2} @@ -21,15 +35,7 @@ $ignore[^SQL.drivers.locate[protocol;$sq 2. void - 2.0 $ignore[^try-catch{ ^void:sql{drop table pets} }] - - 2.1 ^void:sql{create table pets (pet varchar(128), food varchar(128), aggressive varchar(128), weigth varchar(128))} - - 2.2 ^void:sql{insert into pets values - ('cat', 'milk', '^taint['very']', 5), - ('dog', 'bone', '^taint["never"]', 10), - ('parrot', 'grain', 'alwayws', 1) - } + 2.1 ^prepare-data[] 2.3 ^try-catch{ ^void:sql{select * from pets} } 2.4 ^try-catch{ ^void:sql{query}[ $.unknown[yes] ] } @@ -69,6 +75,14 @@ $ignore[^SQL.drivers.locate[protocol;$sq 4.6 ^try-catch{ ^h[select 'dup', pet from pets; $.type[string] ]} + 4.7 ^h[select pet from pets] + + 4.7.1 ^h[select aggressive from pets; $.type[table] ] + + 4.8 ^h[select food as id, pet from pets; $.type[table] $.distinct(true) ] + + 4.9 ^h[select food as id, pet from pets; $.type[string] $.distinct(true) ] + 5. table @@ -91,7 +105,7 @@ $ignore[^SQL.drivers.locate[protocol;$sq 6.4 ^try-catch{ ^f[select aggressive from pets; $.limit(0) ] } - 6.5 ^try-catch{ ^f[select 1 from pets] } - bug! + 6.5 ^try-catch{ ^f[select 1 from pets; $.limit(3) ] } 6.6 ^try-catch{ ^f[select 1,2 from pets] }