|
|
| version 1.7, 2019/10/24 11:28:48 | version 1.11, 2019/10/25 13:10:20 |
|---|---|
| Line 1 | Line 1 |
| @main[] | @main[] |
| $SQL[ | $SQL[ |
| $.drivers[^table::create{protocol driver client | $.drivers[^table::create{protocol driver client connect |
| sqlite ../../sql/sqlite/.libs/libparser3sqlite.so libsqlite3.so | sqlite ../../sql/sqlite/.libs/libparser3sqlite.so libsqlite3.so sqlite://:memory:?multi_statements=1 |
| mysql ../../sql/mysql/.libs/libparser3mysql.so libmariadbclient.so | 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 | $sql[sqlite] |
| ^connect[^if(0){sqlite://:memory:?}{mysql://@/?config_group=parser3&}multi_statements=1]{ | $ignore[^SQL.drivers.locate[protocol;$sql]] |
| ^connect[$SQL.drivers.connect]{ | |
| 1. 2 + 2 = ^string:sql{select 2+2} | 1. 2 + 2 = ^string:sql{select 2+2} |
| Line 28 mysql ../../sql/mysql/.libs/libparser3my | Line 32 mysql ../../sql/mysql/.libs/libparser3my |
| 2.4 ^try-catch{ ^void:sql{query}[ $.unknown[yes] ] } | 2.4 ^try-catch{ ^void:sql{query}[ $.unknown[yes] ] } |
| 2.5 ^try-catch{ ^void:sql{query}[ $.bind[ $.name[value] ] ] } | 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.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.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 | 3. int/double |
| Line 41 mysql ../../sql/mysql/.libs/libparser3my | Line 47 mysql ../../sql/mysql/.libs/libparser3my |
| 3.5 ^try-catch{ ^double:sql{select -2}[ $.limit(0) ] } | 3.5 ^try-catch{ ^double:sql{select -2}[ $.limit(0) ] } |
| 3.6 ^double:sql{select -2}[ $.limit(0) $.default[1] ] | 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 | 4. hash |