3
0

Fix date formatting in query

This commit is contained in:
Denis Arh 2022-03-22 14:47:12 +01:00
parent 4e2a87ec97
commit 0534096ad2
3 changed files with 5 additions and 3 deletions

View File

@ -2,8 +2,9 @@ package cockroach
import (
"fmt"
"github.com/cortezaproject/corteza-server/pkg/ql"
"strings"
"github.com/cortezaproject/corteza-server/pkg/ql"
)
func sqlFunctionHandler(f ql.Function) (ql.ASTNode, error) {
@ -11,7 +12,7 @@ func sqlFunctionHandler(f ql.Function) (ql.ASTNode, error) {
case "QUARTER", "YEAR":
return ql.MakeFormattedNode(fmt.Sprintf("EXTRACT(%s FROM %%s::date)", f.Name), f.Arguments...), nil
case "DATE_FORMAT":
return ql.MakeFormattedNode("TO_CHAR(%s, %s)", f.Arguments...), nil
return ql.MakeFormattedNode("TO_CHAR(%s::TIMESTAMPTZ, %s::TEXT)", f.Arguments...), nil
case "DATE":
return ql.MakeFormattedNode("%s::DATE", f.Arguments...), nil
case "DATE_ADD", "DATE_SUB", "STD":

View File

@ -42,7 +42,7 @@ func sqlFunctionHandler(f ql.Function) (ql.ASTNode, error) {
case "QUARTER", "YEAR":
return ql.MakeFormattedNode(fmt.Sprintf("EXTRACT(%s FROM %%s::date)", f.Name), f.Arguments...), nil
case "DATE_FORMAT":
return ql.MakeReplacedFormattedNode("TO_CHAR(%s, %s)", translateDateFormatParams, f.Arguments...), nil
return ql.MakeReplacedFormattedNode("TO_CHAR(%s::TIMESTAMPTZ, %s::TEXT)", translateDateFormatParams, f.Arguments...), nil
case "TIMESTAMP":
return ql.MakeFormattedNode("TIMESTAMPTZ(%s::TIMESTAMPTZ)", f.Arguments...), nil
case "DATE":

View File

@ -1676,6 +1676,7 @@ func testComposeRecords(t *testing.T, s store.ComposeRecords) {
{"datetime1 > '2020-10-02T00:00:02'", "1003;1004"},
{"date1 > '2020-10-02'", "2003;2004"},
{"time1 > '02:00:00'", "3003;3004"},
{"(TIMESTAMP(DATE_FORMAT(datetime1, '%Y-%m-%dT%H:%i:00Z')) = TIMESTAMP(DATE_FORMAT('2020-10-02T00:00:02', '%Y-%m-%dT%H:%i:00Z')))", "1002"},
}
)