--- parser3/tests/388-sql.html 2019/10/24 11:28:48 1.7
+++ parser3/tests/388-sql.html 2019/10/25 13:10:20 1.11
@@ -1,14 +1,18 @@
@main[]
$SQL[
- $.drivers[^table::create{protocol driver client
-sqlite ../../sql/sqlite/.libs/libparser3sqlite.so libsqlite3.so
-mysql ../../sql/mysql/.libs/libparser3mysql.so libmariadbclient.so
+ $.drivers[^table::create{protocol driver client connect
+sqlite ../../sql/sqlite/.libs/libparser3sqlite.so libsqlite3.so sqlite://:memory:?multi_statements=1
+mysql ../../sql/mysql/.libs/libparser3mysql.so libmariadbclient.so mysql://@/?config_group=parser3&multi_statements=1
+pgsql ../../sql/pgsql/.libs/libparser3pgsql.so libpq.so pgsql://test@localhost/test
}]
]
-#config_group
-^connect[^if(0){sqlite://:memory:?}{mysql://@/?config_group=parser3&}multi_statements=1]{
+$sql[sqlite]
+$ignore[^SQL.drivers.locate[protocol;$sql]]
+
+^connect[$SQL.drivers.connect]{
+
1. 2 + 2 = ^string:sql{select 2+2}
@@ -28,8 +32,10 @@ mysql ../../sql/mysql/.libs/libparser3my
2.4 ^try-catch{ ^void:sql{query}[ $.unknown[yes] ] }
2.5 ^try-catch{ ^void:sql{query}[ $.bind[ $.name[value] ] ] }
- 2.6 Multiple queries: ^try-catch{ ^void:sql{delete from pets where pet='' ^; delete from pets where pet='' } }
- 2.7 Exception in second query: ^try-catch{ ^void:sql{delete from pets where pet='' ^; select 2+2 } }
+ 2.6 Multiple queries: ^try-catch{ ^void:sql{delete from pets where pet='' ^; delete from pets where pet=''} }
+ 2.8 Multiple queries, data in first query: ^if($sql ne 'mysql'){ ^try-catch{ ^void:sql{select 2+2 ^; delete from pets where pet=''} } }
+ 2.9 Multiple queries, data in second query: ^try-catch{ ^void:sql{delete from pets where pet='' ^; select 2+2} }
+
3. int/double
@@ -41,6 +47,10 @@ mysql ../../sql/mysql/.libs/libparser3my
3.5 ^try-catch{ ^double:sql{select -2}[ $.limit(0) ] }
3.6 ^double:sql{select -2}[ $.limit(0) $.default[1] ]
+ 3.7 Multiple queries, data in first query: ^if($sql ne 'mysql'){ ^try-catch{ ^int:sql{select 2+2 ^; delete from pets where pet=''} } }
+ 3.8 Multiple queries, data in second query: ^try-catch{ ^int:sql{delete from pets where pet='' ^; select 2+2} }
+ 3.9 Multiple queries, data in both queries: ^try-catch{ ^int:sql{select 2+2 ^; select 3+3 } }
+
4. hash