Diff for /parser3/tests/388-sql.html between versions 1.2 and 1.7

version 1.2, 2017/12/06 20:19:16 version 1.7, 2019/10/24 11:28:48
Line 3 Line 3
 $SQL[  $SQL[
         $.drivers[^table::create{protocol       driver  client          $.drivers[^table::create{protocol       driver  client
 sqlite  ../../sql/sqlite/.libs/libparser3sqlite.so      libsqlite3.so  sqlite  ../../sql/sqlite/.libs/libparser3sqlite.so      libsqlite3.so
   mysql   ../../sql/mysql/.libs/libparser3mysql.so        libmariadbclient.so
 }]  }]
 ]  ]
   
 ^connect[sqlite://:memory:]{  #config_group
   ^connect[^if(0){sqlite://:memory:?}{mysql://@/?config_group=parser3&}multi_statements=1]{
         1. 2 + 2 = ^string:sql{select 2+2}          1. 2 + 2 = ^string:sql{select 2+2}
   
   
         2. void          2. void
   
         2.1 ^void:sql{create table pets (pet varchar, food varchar, aggressive varchar, weigth varchar)}          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          2.2 ^void:sql{insert into pets values
                 ('cat', 'milk', '^taint['very']', 5),                  ('cat', 'milk', '^taint['very']', 5),
Line 24  sqlite ../../sql/sqlite/.libs/libparser3 Line 28  sqlite ../../sql/sqlite/.libs/libparser3
         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.7 Exception in second query: ^try-catch{ ^void:sql{delete from pets where pet='' ^; select 2+2 } }
   
         3. int/double          3. int/double
   
Line 48  sqlite ../../sql/sqlite/.libs/libparser3 Line 54  sqlite ../../sql/sqlite/.libs/libparser3
   
         4.5. ^h[select * from pets; $.type[table] $.limit(1) $.offset(1) ]          4.5. ^h[select * from pets; $.type[table] $.limit(1) $.offset(1) ]
   
           4.6 ^try-catch{ ^h[select 'dup', pet from pets; $.type[string] ]}
   
   
         5. table          5. table
   
Line 55  sqlite ../../sql/sqlite/.libs/libparser3 Line 63  sqlite ../../sql/sqlite/.libs/libparser3
   
         5.2. ^t[select * from pets; $.limit(1) $.offset(1) ]          5.2. ^t[select * from pets; $.limit(1) $.offset(1) ]
   
           5.3 ^try-catch{ ^t[select * from pets; $.bind[ $.name[value] ] ] }
   
           5.4 ^try-catch{ ^t[select * from pets; $.no-such-option[] ] }
   
   
         6. file          6. file
   
Line 74  sqlite ../../sql/sqlite/.libs/libparser3 Line 86  sqlite ../../sql/sqlite/.libs/libparser3
   
         6.8 $f[^file::create["'test'"]] ^f.sql-string[]          6.8 $f[^file::create["'test'"]] ^f.sql-string[]
   
           7. string
   
           7.1 ^try-catch{ ^s[select * from pets; $.limit(1) $.offset(1) ] }
           7.2 ^try-catch{ ^s[select pet from pets] }
           7.3 ^try-catch{ ^s[select 2+2; $.bind[ $.name[$value] ] ] }
           7.4 ^try-catch{ ^s[select 2+2; $.no-such-option[] ] }
           7.5 ^try-catch{ ^s[select pet from pets; $.limit(0) ] }
           7.6 ^s[select pet from pets; $.limit(0) $.default{default} ]
   
 }  }
   
Line 88  sqlite ../../sql/sqlite/.libs/libparser3 Line 108  sqlite ../../sql/sqlite/.libs/libparser3
 @f[query;options]  @f[query;options]
         $f[^file::sql{$query}[$options]]          $f[^file::sql{$query}[$options]]
         ^json:string[$f; $.indent(1) $.file[text] ]          ^json:string[$f; $.indent(1) $.file[text] ]
   
   @s[query;options]
           $s[^string:sql{$query}[$options]]
           "$s"

Removed from v.1.2  
changed lines
  Added in v.1.7


E-mail: