[
https://issues.apache.org/jira/browse/DERBY-591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12524558
]
Dag H. Wanvik commented on DERBY-591:
-------------------------------------
I think what Bernt is refering to is the fact that some of the
functions defined by JDBC, e.g. LTRIM, are not a part of the SQL
standard, but Derby allows these functions outside JDBC escape syntax:
ij> values LTRIM(' foo');
1
----
foo
whereas others, for example CURTIME, only works with escape syntax.
Again, I think this happens because miscBuiltinsCore is shared between
the escaped and the non-escaped contexts in the parser. (CURTIME is
defined outside of miscBuiltinsCore.)
> Several builtin functions are incorrectly exposed through the JDBC escaped
> function syntax {fn <function_call>}
> ---------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-591
> URL: https://issues.apache.org/jira/browse/DERBY-591
> Project: Derby
> Issue Type: Bug
> Components: JDBC, SQL
> Affects Versions: 10.0.2.0, 10.1.1.0
> Reporter: Daniel John Debrunner
> Priority: Minor
>
> Due to lack of direction in the way functions are added into the parser, any
> functions that are added into the parser's miscBuiltinsCore are also
> automatically JDBC/ODBC escaped functions.
> E.g. the new XML functions (e.g. XMLPARSE), COALESCE, VALUE etc. etc.
> The correct set of escaped scaler functions is defined in appendex C (C1- C5)
> of JDBC 3.0.
> Discovered this while trying to make the JDBC escape functions table driven,
> at least for the valid subset of table driven functions added in DERBY-475.
> Probably just need to split the miscBuiltins core into two functions, one for
> functions that are SQL and allowed in JDBC escape, and one for ones only
> allowed in SQL.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.