Changeset: dab90b814927 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/dab90b814927
Added Files:
        sql/test/datetime/Tests/time_to_str.test
Modified Files:
        monetdb5/modules/atoms/mtime.c
        sql/test/datetime/Tests/All
Branch: mtime-bug
Log Message:

Fixes time_to_str signature


diffs (92 lines):

diff --git a/monetdb5/modules/atoms/mtime.c b/monetdb5/modules/atoms/mtime.c
--- a/monetdb5/modules/atoms/mtime.c
+++ b/monetdb5/modules/atoms/mtime.c
@@ -1813,8 +1813,8 @@ static mel_func mtime_init_funcs[] = {
  pattern("batmtime", "timetz_to_str", MTIMEtimetz_to_str_bulk_p1, false, "", 
args(1,4, 
batarg("",str),arg("d",daytime),batarg("format",str),arg("tz_msec",lng))),
  pattern("batmtime", "timetz_to_str", MTIMEtimetz_to_str_bulk_p2, false, "", 
args(1,4, 
batarg("",str),batarg("d",daytime),arg("format",str),arg("tz_msec",lng))),
  pattern("batmtime", "timetz_to_str", MTIMEtimetz_to_str_bulk, false, "", 
args(1,6, 
batarg("",str),batarg("d",daytime),batarg("format",str),batarg("s1",oid),batarg("s2",oid),arg("tz_msec",lng))),
- pattern("batmtime", "timetz_to_str", MTIMEtimetz_to_str_bulk_p1, false, "", 
args(1,5, 
batarg("",str),arg("d",daytime),batarg("format",str),batarg("s",oid),arg("tz_msec",lng))),
- pattern("batmtime", "timetz_to_str", MTIMEtimetz_to_str_bulk_p2, false, "", 
args(1,5, 
batarg("",str),batarg("d",daytime),arg("format",str),batarg("s",oid),arg("tz_msec",lng))),
+ pattern("batmtime", "timetz_to_str", MTIMEtimetz_to_str_bulk_p1, false, "", 
args(1,5, 
batarg("",str),arg("d",daytime),batarg("format",str),arg("tz_msec",lng),batarg("s",oid))),
+ pattern("batmtime", "timetz_to_str", MTIMEtimetz_to_str_bulk_p2, false, "", 
args(1,5, 
batarg("",str),batarg("d",daytime),arg("format",str),arg("tz_msec",lng),batarg("s",oid))),
  command("mtime", "str_to_timestamp", MTIMEstr_to_timestamp, false, "create a 
timestamp from the string, using the specified format (see man strptime)", 
args(1,4, arg("",timestamp),arg("s",str),arg("format",str),arg("tz_msec",lng))),
  pattern("batmtime", "str_to_timestamp", MTIMEstr_to_timestamp_bulk, false, 
"", args(1,4, 
batarg("",timestamp),batarg("d",str),batarg("format",str),arg("tz_msec",lng))),
  pattern("batmtime", "str_to_timestamp", MTIMEstr_to_timestamp_bulk_p1, false, 
"", args(1,4, 
batarg("",timestamp),arg("s",str),batarg("format",str),arg("tz_msec",lng))),
diff --git a/sql/test/datetime/Tests/All b/sql/test/datetime/Tests/All
--- a/sql/test/datetime/Tests/All
+++ b/sql/test/datetime/Tests/All
@@ -1,3 +1,4 @@
 str_to_date
 str_to_time
 str_to_timestamp
+time_to_str
diff --git a/sql/test/datetime/Tests/time_to_str.test 
b/sql/test/datetime/Tests/time_to_str.test
new file mode 100644
--- /dev/null
+++ b/sql/test/datetime/Tests/time_to_str.test
@@ -0,0 +1,65 @@
+statement ok
+create table itt (n int, t timetz, p text);
+
+statement ok
+insert into itt values
+    (1, timetz '00:00:12', '%l hour %M:%S %p'),
+    (2, timetz '00:01:23', '%l hour %S:%M %p'),
+    (3, timetz '00:12:34', '%T %p')
+
+query IT rowsort
+select n, time_to_str(t, '%l hour %M:%S %p') from itt
+----
+1
+12 hour 00:12 AM
+2
+12 hour 01:23 AM
+3
+12 hour 12:34 AM
+
+# the CASE clause assures that we use a bat version of timetz_to_str
+# which accept oid as arguments for the case of CASE condition (see MAL)
+query IT rowsort
+select n,
+    case when n < 2 then 
+        time_to_str(t, '%l hour %M:%S %p')
+    else 
+        time_to_str(t, '%l hour %M:%S %p')
+    end
+from itt
+----
+1
+12 hour 00:12 AM
+2
+12 hour 01:23 AM
+3
+12 hour 12:34 AM
+
+query IT rowsort
+select n, time_to_str(timetz '00:12:34', p) from itt
+----
+1
+12 hour 12:34 AM
+2
+12 hour 34:12 AM
+3
+00:12:34 AM
+
+# the CASE clause assures that we use a bat version of timetz_to_str
+# which accept oid as arguments for the case of CASE condition (see MAL)
+query IT rowsort
+select n, 
+    case when n < 2 then 
+        time_to_str(timetz '00:12:34', p)
+    else 
+        time_to_str(timetz '00:12:34', p)
+    end
+from itt
+----
+1
+12 hour 12:34 AM
+2
+12 hour 34:12 AM
+3
+00:12:34 AM
+
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to