Changeset: ae0326eec9b5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ae0326eec9b5
Added Files:
        sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.sql
        sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.stable.err
        sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.stable.out
Modified Files:
        sql/test/sys-schema/Tests/All
Branch: Oct2020
Log Message:

Add test with examples used in web doc pages for cast/convert functions and 
prefix operators.
Note: Oct2020 release it returns 2 differences, due to incorrect results.


diffs (truncated from 345 to 300 lines):

diff --git a/sql/test/sys-schema/Tests/All b/sql/test/sys-schema/Tests/All
--- a/sql/test/sys-schema/Tests/All
+++ b/sql/test/sys-schema/Tests/All
@@ -13,6 +13,7 @@ HAVE_FITS&HAVE_GEOM&HAVE_SHP&HAVE_NETCDF
 
 webExamplesLogicalFunctionsOperators
 webExamplesComparisonFunctionsOperators
+webExamplesCastFunctionsOperators
 
 utilities
 
diff --git a/sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.sql 
b/sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.sql
@@ -0,0 +1,49 @@
+select cast(123 as varchar(10));
+select convert(123, decimal(10,3));
+
+select cast(true as smallint);
+select cast(42 as int);
+select cast(123.45 as real);
+select cast('123.45' as double precision);
+select cast(23.45 as decimal(5,2));    -- precision of 5 digits of which 2 
decimal digits
+
+select cast('2020-07-29' as date);
+select cast('17:44:59' as time);
+select cast('17:44:59.123456' as time);
+select cast('2020-07-29 17:44:59' as timestamp);
+select cast('2020-07-29T17:44:59' as timestamp);
+select cast('2020-07-29 17:44:59.123456' as timestamp);
+select cast('17:44:59.321+01:30' as timetz);
+select cast('2020-07-29 17:44:59.321+01:30' as timestamptz);   -- produces 
wrong TZ +1:00 instead of +1:30
+select cast('1234' as interval month);
+select cast('86400.123' as interval second);
+
+select cast('abcd' as blob);
+select cast('abcde' as clob);
+select cast('192.168.1.5/24' as inet);
+select cast(r'{"a":[1,2,4]}' as json);
+select cast('https://www.monetdb.org/Home' as url);
+select cast('e31960fb-dc8b-452d-ab30-b342723e756a' as uuid);
+
+-- or using convert instead of cast:
+select convert('a4cd' , blob);
+select convert('abcde' , clob);
+select convert('192.168.1.5/24' , inet);
+select convert(r'{"a":[1,2,4]}' , json);
+select convert('https://www.monetdb.org/Home' , url);
+select convert('e31960fb-dc8b-452d-ab30-b342723e756a' , uuid);
+
+-- using prefix operators
+select x'abcd';
+select blob 'abcd';
+select clob 'abcde';   -- this fails on Oct2020
+select cast('abcde' as clob);
+select inet '192.168.1.5/24';
+select json '{"a":[1,2,4]}';
+select url 'https://www.monetdb.org/Home';
+select uuid 'e31960fb-dc8b-452d-ab30-b342723e756a';
+select E'EA\fB\tC\n\\Z';
+select e'eA\fB\tC\n\\Z';
+select R'RA\fB\tC\n\\Z';
+select r'rA\fB\tC\n\\Z';
+
diff --git 
a/sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.stable.err 
b/sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.stable.err
@@ -0,0 +1,12 @@
+stderr of test 'webExamplesCastFunctionsOperators` in directory 
'sql/test/sys-schema` itself:
+
+
+# 19:23:26 >  
+# 19:23:26 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-10408" "--port=37113"
+# 19:23:26 >  
+
+
+# 19:01:20 >  
+# 19:01:20 >  "Done."
+# 19:01:20 >  
+
diff --git 
a/sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.stable.out 
b/sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.stable.out
@@ -0,0 +1,258 @@
+stdout of test 'webExamplesCastFunctionsOperators` in directory 
'sql/test/sys-schema` itself:
+
+
+# 19:01:20 >  
+# 19:01:20 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-6858" "--port=39255"
+# 19:01:20 >  
+
+#select cast(123 as varchar(10));
+% .%1 # table_name
+% %1 # name
+% varchar # type
+% 3 # length
+[ "123"        ]
+#select convert(123, decimal(10,3));
+% .%1 # table_name
+% %1 # name
+% decimal # type
+% 12 # length
+[ 123.000      ]
+#select cast(true as smallint);
+% .%1 # table_name
+% %1 # name
+% smallint # type
+% 1 # length
+[ 1    ]
+#select cast(42 as int);
+% .%2 # table_name
+% %2 # name
+% int # type
+% 2 # length
+[ 42   ]
+#select cast(123.45 as real);
+% .%2 # table_name
+% %2 # name
+% real # type
+% 15 # length
+[ 123.45       ]
+#select cast('123.45' as double precision);
+% .%1 # table_name
+% %1 # name
+% double # type
+% 24 # length
+[ 123.45       ]
+#select cast(23.45 as decimal(5,2));    -- precision of 5 digits of which 2 
decimal digits
+% .%1 # table_name
+% %1 # name
+% decimal # type
+% 7 # length
+[ 23.45        ]
+#select cast('2020-07-29' as date);
+% .%2 # table_name
+% %2 # name
+% date # type
+% 10 # length
+[ 2020-07-29   ]
+#select cast('17:44:59' as time);
+% .%2 # table_name
+% %2 # name
+% time # type
+% 8 # length
+[ 17:44:59     ]
+#select cast('17:44:59.123456' as time);
+% .%2 # table_name
+% %2 # name
+% time # type
+% 8 # length
+[ 17:44:59     ]
+#select cast('2020-07-29 17:44:59' as timestamp);
+% .%2 # table_name
+% %2 # name
+% timestamp # type
+% 26 # length
+[ 2020-07-29 17:44:59.000000   ]
+#select cast('2020-07-29T17:44:59' as timestamp);
+% .%2 # table_name
+% %2 # name
+% timestamp # type
+% 26 # length
+[ 2020-07-29 17:44:59.000000   ]
+#select cast('2020-07-29 17:44:59.123456' as timestamp);
+% .%2 # table_name
+% %2 # name
+% timestamp # type
+% 26 # length
+[ 2020-07-29 17:44:59.123456   ]
+#select cast('17:44:59.321+01:30' as timetz);
+% .%1 # table_name
+% %1 # name
+% timetz # type
+% 21 # length
+[ 17:14:59.321000+01:00        ]
+#select cast('2020-07-29 17:44:59.321+01:30' as timestamptz);  -- produces 
wrong TZ +1:00 instead of +1:30
+% .%1 # table_name
+% %1 # name
+% timestamptz # type
+% 32 # length
+[ 2020-07-29 17:14:59.321000+01:30     ]
+#select cast('1234' as interval month);
+% .%1 # table_name
+% %1 # name
+% month_interval # type
+% 4 # length
+[ 1234 ]
+#select cast('86400.123' as interval second);
+% .%1 # table_name
+% %1 # name
+% sec_interval # type
+% 9 # length
+[ 86400.123    ]
+#select cast('abcd' as blob);
+% .%1 # table_name
+% %1 # name
+% blob # type
+% 0 # length
+[ ABCD ]
+#select cast('abcde' as clob);
+% .%2 # table_name
+% %2 # name
+% clob # type
+% 5 # length
+[ "abcde"      ]
+#select cast('192.168.1.5/24' as inet);
+% .%1 # table_name
+% %1 # name
+% inet # type
+% 0 # length
+[ 192.168.1.5/24       ]
+#select cast(r'{"a":[1,2,4]}' as json);
+% .%1 # table_name
+% %1 # name
+% json # type
+% 13 # length
+[ "{\"a\":[1,2,4]}"    ]
+#select cast('https://www.monetdb.org/Home' as url);
+% .%1 # table_name
+% %1 # name
+% url # type
+% 28 # length
+[ https://www.monetdb.org/Home ]
+#select cast('e31960fb-dc8b-452d-ab30-b342723e756a' as uuid);
+% .%1 # table_name
+% %1 # name
+% uuid # type
+% 36 # length
+[ e31960fb-dc8b-452d-ab30-b342723e756a ]
+#select convert('a4cd' , blob);
+% .%1 # table_name
+% %1 # name
+% blob # type
+% 0 # length
+[ A4CD ]
+#select convert('abcde' , clob);
+% .%2 # table_name
+% %2 # name
+% clob # type
+% 5 # length
+[ "abcde"      ]
+#select convert('192.168.1.5/24' , inet);
+% .%1 # table_name
+% %1 # name
+% inet # type
+% 0 # length
+[ 192.168.1.5/24       ]
+#select convert(r'{"a":[1,2,4]}' , json);
+% .%1 # table_name
+% %1 # name
+% json # type
+% 13 # length
+[ "{\"a\":[1,2,4]}"    ]
+#select convert('https://www.monetdb.org/Home' , url);
+% .%1 # table_name
+% %1 # name
+% url # type
+% 28 # length
+[ https://www.monetdb.org/Home ]
+#select convert('e31960fb-dc8b-452d-ab30-b342723e756a' , uuid);
+% .%1 # table_name
+% %1 # name
+% uuid # type
+% 36 # length
+[ e31960fb-dc8b-452d-ab30-b342723e756a ]
+#select x'abcd';
+% .%2 # table_name
+% %2 # name
+% blob # type
+% 0 # length
+[ ABCD ]
+#select blob 'abcd';
+% .%2 # table_name
+% %2 # name
+% blob # type
+% 0 # length
+[ ABCD ]
+#select clob 'abcde';
+% .%2 # table_name
+% %2 # name
+% clob # type
+% 5 # length
+[ "abcde"      ]
+#select cast('abcde' as clob);
+% .%2 # table_name
+% %2 # name
+% clob # type
+% 5 # length
+[ "abcde"      ]
+#select inet '192.168.1.5/24';
+% .%2 # table_name
+% %2 # name
+% inet # type
+% 0 # length
+[ 192.168.1.5/24       ]
+#select json '{"a":[1,2,4]}';
+% .%2 # table_name
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to