You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@trafodion.apache.org by "yujie.yuan@microinsight.com.cn" <yu...@microinsight.com.cn> on 2016/04/13 10:38:03 UTC

select statement in the alias for the key word error

hi,all
‘OID’ is a keyword in Trafodion, so it will cause errors like this:
>>select a1 as oid, c1 from t116t3;
*** ERROR[3128] OID is a reserved word.  It must be delimited by double-quotes to be used as an identifier.
---------------------------------------------------------------------------------------------------------------------------------
So I have a few questions:
1. Is there a special way we can use oid without double quote it?, we need it as an alias of a column? Current application use this heavily, it will be a big effort to change all OID into “OID”.
2. If answer of 1 is ‘No way’, then is it possible to not define OID as a keyword? We don’t see anywhere OID is used, maybe this is a latency keyword which Trafodion can get rid of?
3. More generally, Is it possible to allow some keyword if one can tell from context of its real meaning? Following query can be running in Oracle, for example , ‘count’ is keyword in Oracle as well:
       SELECT count(*) count FROM A_TBL T WHERE T.col1='foo’;


yujie.yuan@microinsight.com.cn

Re: select statement in the alias for the key word error

Posted by Hans Zeller <ha...@esgyn.com>.
Created TRAFODION-1939
<https://issues.apache.org/jira/browse/TRAFODION-1939> to track this
suggestion.

Hans

On Wed, Apr 13, 2016 at 9:07 AM, Hans Zeller <ha...@esgyn.com> wrote:

> Hi,
>
> We could probably remove OID as a reserved word. I don't think it is used
> by Trafodion, but it might have been flagged in the ISO/ANSI standard as a
> potential reserved word in the past. I don't see it as a reserved word int
> he SQL99 standard. Most databases allow the use of reserved words as
> identifiers, Trafodion is a bit more strict - like the ISO/ANSI standard
> describes it.
>
> I tried building without OID as a keyword and didn't get any compiler
> errors, but haven't run the tests yet.
>
> Could you file a JIRA for this? https://issues.apache.org/jira/. WIth
> luck this fix could make it into the Trafodion 2.0 release.
>
> Hans
>
> On Wed, Apr 13, 2016 at 1:38 AM, yujie.yuan@microinsight.com.cn <
> yujie.yuan@microinsight.com.cn> wrote:
>
>> hi,all
>> ‘OID’ is a keyword in Trafodion, so it will cause errors like this:
>> >>select a1 as oid, c1 from t116t3;
>>
>> *** ERROR[3128] OID is a reserved word.  It must be delimited by double-quotes to be used as an identifier.
>>
>> ---------------------------------------------------------------------------------------------------------------------------------
>> So I have a few questions:
>> 1.
>> Is there a special way we can use oid without double quote it?, we need it as an alias of a column? Current application use this heavily, it will be a big effort to change all OID into “OID”.
>> 2.
>> If answer of 1 is ‘No way’, then is it possible to not define OID as a keyword? We don’t see anywhere OID is used, maybe this is a latency keyword which Trafodion can get rid of?
>> 3.
>> More generally, Is it possible to allow some keyword if one can tell from context of its real meaning? Following query can be running in Oracle, for example , ‘count’ is keyword in Oracle as well:
>>        SELECT count(*) count FROM A_TBL T WHERE T.col1='foo’;
>> ------------------------------
>> yujie.yuan@microinsight.com.cn
>>
>
>

Re: select statement in the alias for the key word error

Posted by Hans Zeller <ha...@esgyn.com>.
Hi,

We could probably remove OID as a reserved word. I don't think it is used
by Trafodion, but it might have been flagged in the ISO/ANSI standard as a
potential reserved word in the past. I don't see it as a reserved word int
he SQL99 standard. Most databases allow the use of reserved words as
identifiers, Trafodion is a bit more strict - like the ISO/ANSI standard
describes it.

I tried building without OID as a keyword and didn't get any compiler
errors, but haven't run the tests yet.

Could you file a JIRA for this? https://issues.apache.org/jira/. WIth luck
this fix could make it into the Trafodion 2.0 release.

Hans

On Wed, Apr 13, 2016 at 1:38 AM, yujie.yuan@microinsight.com.cn <
yujie.yuan@microinsight.com.cn> wrote:

> hi,all
> ‘OID’ is a keyword in Trafodion, so it will cause errors like this:
> >>select a1 as oid, c1 from t116t3;
>
> *** ERROR[3128] OID is a reserved word.  It must be delimited by double-quotes to be used as an identifier.
>
> ---------------------------------------------------------------------------------------------------------------------------------
> So I have a few questions:
> 1.
> Is there a special way we can use oid without double quote it?, we need it as an alias of a column? Current application use this heavily, it will be a big effort to change all OID into “OID”.
> 2.
> If answer of 1 is ‘No way’, then is it possible to not define OID as a keyword? We don’t see anywhere OID is used, maybe this is a latency keyword which Trafodion can get rid of?
> 3.
> More generally, Is it possible to allow some keyword if one can tell from context of its real meaning? Following query can be running in Oracle, for example , ‘count’ is keyword in Oracle as well:
>        SELECT count(*) count FROM A_TBL T WHERE T.col1='foo’;
> ------------------------------
> yujie.yuan@microinsight.com.cn
>