Changeset: b52bccaaa4ec for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b52bccaaa4ec
Added Files:
        sql/test/json/Tests/aggregate00.test
        sql/test/json/Tests/aggregate01.test
        sql/test/json/Tests/books.test
        sql/test/json/Tests/bulkjson.test
        sql/test/json/Tests/bulklength.test
        sql/test/json/Tests/bulkvalid.test
        sql/test/json/Tests/coercions.test
        sql/test/json/Tests/components.test
        sql/test/json/Tests/jsonkeyarray.Bug-6858.test
        sql/test/json/Tests/jsonnumber.Bug-6932.test
        sql/test/json/Tests/jsonparser.Bug-6943.test
        sql/test/json/Tests/jsontext.Bug-6859.test
        sql/test/json/Tests/jsonvalidity.Bug-3753.test
        sql/test/json/Tests/load.test
        sql/test/json/Tests/load_twitter_data.test.in
        sql/test/json/Tests/miniexample.test
        sql/test/json/Tests/parsing.test
        sql/test/json/Tests/pathexpr.test
        sql/test/json/Tests/pgexample.test
        sql/test/json/Tests/shop.test
        sql/test/json/Tests/spaceissue.test
        sql/test/null/Tests/coalesce.test
        sql/test/null/Tests/coalesce2.test
        sql/test/null/Tests/coalesce3.test
        sql/test/null/Tests/null_in_case.test
Removed Files:
        sql/test/json/sqllogictest/Tests/All
        sql/test/json/sqllogictest/Tests/SingleServer
        sql/test/json/sqllogictest/Tests/aggregate00.test
        sql/test/json/sqllogictest/Tests/aggregate01.test
        sql/test/json/sqllogictest/Tests/books.test
        sql/test/json/sqllogictest/Tests/bulkjson.test
        sql/test/json/sqllogictest/Tests/bulklength.test
        sql/test/json/sqllogictest/Tests/bulkvalid.test
        sql/test/json/sqllogictest/Tests/coercions.test
        sql/test/json/sqllogictest/Tests/components.test
        sql/test/json/sqllogictest/Tests/jsonkeyarray.Bug-6858.test
        sql/test/json/sqllogictest/Tests/jsonnumber.Bug-6932.test
        sql/test/json/sqllogictest/Tests/jsonparser.Bug-6943.test
        sql/test/json/sqllogictest/Tests/jsontext.Bug-6859.test
        sql/test/json/sqllogictest/Tests/jsonvalidity.Bug-3753.test
        sql/test/json/sqllogictest/Tests/load.test
        sql/test/json/sqllogictest/Tests/miniexample.test
        sql/test/json/sqllogictest/Tests/parsing.test
        sql/test/json/sqllogictest/Tests/pathexpr.test
        sql/test/json/sqllogictest/Tests/pgexample.test
        sql/test/json/sqllogictest/Tests/shop.test
        sql/test/json/sqllogictest/Tests/spaceissue.test
        sql/test/null/sqllogictest/Tests/All
        sql/test/null/sqllogictest/Tests/SingleServer
        sql/test/null/sqllogictest/Tests/coalesce.test
        sql/test/null/sqllogictest/Tests/coalesce2.test
        sql/test/null/sqllogictest/Tests/coalesce3.test
        sql/test/null/sqllogictest/Tests/null_in_case.test
Modified Files:
        testing/Mtest.py.in
        testing/convert_to_sqllogic.sh
        testing/helpers.py
Branch: mtest
Log Message:

sqllogic tests in same Tests folder


diffs (truncated from 3421 to 300 lines):

diff --git a/sql/test/json/Tests/aggregate00.test 
b/sql/test/json/Tests/aggregate00.test
new file mode 100644
--- /dev/null
+++ b/sql/test/json/Tests/aggregate00.test
@@ -0,0 +1,79 @@
+statement ok
+create table aggrtest00 ( col1 varchar(10), col2 integer )
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest00
+----
+NULL
+
+statement ok
+insert into aggrtest00 values ('hallo', 1)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest00
+----
+[ "hallo" ]
+
+statement ok
+insert into aggrtest00 values ('world', 1)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest00
+----
+[ "hallo", "world" ]
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest00 group by col2
+----
+[ "hallo", "world" ]
+
+statement ok
+insert into aggrtest00 values ('foobar', 2)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest00
+----
+[ "hallo", "world", "foobar" ]
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest00 group by col2
+----
+[ "foobar" ]
+[ "hallo", "world" ]
+
+statement ok
+delete from aggrtest00
+
+statement ok
+insert into aggrtest00 values (NULL, 1)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest00
+----
+NULL
+
+statement ok
+insert into aggrtest00 values ('hello', 1)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest00
+----
+[ "hello" ]
+
+statement ok
+insert into aggrtest00 values ('world', 2)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest00
+----
+[ "hello", "world" ]
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest00 group by col2
+----
+[ "hello" ]
+[ "world" ]
+
+statement ok
+drop table aggrtest00
+
diff --git a/sql/test/json/Tests/aggregate01.test 
b/sql/test/json/Tests/aggregate01.test
new file mode 100644
--- /dev/null
+++ b/sql/test/json/Tests/aggregate01.test
@@ -0,0 +1,118 @@
+statement ok
+create table aggrtest01 ( col1 double, col2 integer )
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01
+----
+NULL
+
+statement ok
+insert into aggrtest01 values (0.1234, 1)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01
+----
+[ 0.123400 ]
+
+statement ok
+insert into aggrtest01 values (5.6789, 1)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01
+----
+[ 0.123400, 5.678900 ]
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01 group by col2
+----
+[ 0.123400, 5.678900 ]
+
+statement ok
+insert into aggrtest01 values (0.516273849, 2)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01
+----
+[ 0.123400, 5.678900, 0.516274 ]
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01 group by col2
+----
+[ 0.123400, 5.678900 ]
+[ 0.516274 ]
+
+statement ok
+delete from aggrtest01
+
+statement ok
+insert into aggrtest01 values (NULL, 1)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01
+----
+NULL
+
+statement ok
+insert into aggrtest01 values (NULL, 1)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01
+----
+NULL
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01 group by col2
+----
+[  ]
+
+statement ok
+insert into aggrtest01 values (0.1234, 1)
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01
+----
+[ 0.123400 ]
+
+statement ok
+insert into aggrtest01 values (0.516273849, 2)
+
+query RI rowsort
+select * from aggrtest01
+----
+0.123
+1
+0.516
+2
+NULL
+1
+NULL
+1
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01
+----
+[ 0.123400, 0.516274 ]
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01 group by col2
+----
+[ 0.123400 ]
+[ 0.516274 ]
+
+statement ok
+delete from aggrtest01 where col1 is null
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01
+----
+[ 0.123400, 0.516274 ]
+
+query T rowsort
+select json.tojsonarray(col1) from aggrtest01 group by col2
+----
+[ 0.123400 ]
+[ 0.516274 ]
+
+statement ok
+drop table aggrtest01
+
diff --git a/sql/test/json/Tests/books.test b/sql/test/json/Tests/books.test
new file mode 100644
--- /dev/null
+++ b/sql/test/json/Tests/books.test
@@ -0,0 +1,82 @@
+statement ok
+create table books(i integer, j json)
+
+statement ok
+insert into books values( 1, ' { "store": {
+    "books": [
+      { "category": "reference",
+        "author": "Nigel Rees",
+        "title": "Sayings of the Century",
+        "price": 8.95
+      },
+      { "category": "fiction",
+        "author": "Evelyn Waugh",
+        "title": "Sword of Honour",
+        "price": 12.99
+      },
+      { "category": "fiction",
+        "author": "Herman Melville",
+        "title": "Moby Dick",
+        "isbn": "0-553-21311-3",
+        "price": 8.99
+      },
+      { "category": "fiction",
+        "author": "J. R. R. Tolkien",
+        "title": "The Lord of the Rings",
+        "isbn": "0-395-19395-8",
+        "price": 22.99
+      }
+    ],
+    "bicycle": {
+      "color": "red",
+      "price": 19.95
+    }
+  }
+}')
+
+query IT rowsort
+select * from books
+----
+1
+ { "store": {@    "books": [@      { "category": "reference",@        
"author": "Nigel Rees",@        "title": "Sayings of the Century",@        
"price": 8.95@      },@      { "category": "fiction",@        "author": "Evelyn 
Waugh",@        "title": "Sword of Honour",@        "price": 12.99@      },@    
  { "category": "fiction",@        "author": "Herman Melville",@        
"title": "Moby Dick",@        "isbn": "0-553-21311-3",@        "price": 8.99@   
   },@      { "category": "fiction",@        "author": "J. R. R. Tolkien",@     
   "title": "The Lord of the Rings",@        "isbn": "0-395-19395-8",@        
"price": 22.99@      }@    ],@    "bicycle": {@      "color": "red",@      
"price": 19.95@    }@  }@}
+
+query T rowsort
+SELECT json.filter(j,'store.books.[1]..author') FROM books
+----
+["Evelyn Waugh"]
+
+query T rowsort
+SELECT json.filter(j,'..books..author[1]') AS j FROM (
+       SELECT json.filter(j,'store') AS j FROM books
+) AS L1
+----
+["Evelyn Waugh"]
+
+query T rowsort
+SELECT json.filter(j,'..author') FROM books
+----
+["Nigel Rees","Evelyn Waugh","Herman Melville","J. R. R. Tolkien"]
+
+query T rowsort
+SELECT json.filter(j,'store.books[*]..author') FROM books
+----
+["Nigel Rees","Evelyn Waugh","Herman Melville","J. R. R. Tolkien"]
+
+query T rowsort
+SELECT json.filter(j,'store.books..author') FROM books
+----
+["Nigel Rees","Evelyn Waugh","Herman Melville","J. R. R. Tolkien"]
+
+query T rowsort
+SELECT json.filter(j,'store.books..author[1]') FROM books
+----
+["Evelyn Waugh"]
+
+query T rowsort
+SELECT json.filter(j,'..bicycle.price') FROM books
+----
+[19.95]
+
+statement ok
+drop table books
+
diff --git a/sql/test/json/Tests/bulkjson.test 
b/sql/test/json/Tests/bulkjson.test
new file mode 100644
--- /dev/null
+++ b/sql/test/json/Tests/bulkjson.test
@@ -0,0 +1,85 @@
+statement ok
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to