You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tajo.apache.org by "Keuntae Park (JIRA)" <ji...@apache.org> on 2014/01/13 05:45:54 UTC

[jira] [Updated] (TAJO-497) Rearrange reserved and non-reserved keywords

     [ https://issues.apache.org/jira/browse/TAJO-497?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Keuntae Park updated TAJO-497:
------------------------------

    Description: 
Keywords of Tajo are classified as reserved and non-reserved,
and reserved keywords cannot be used as table name or column name.

Because reserved keywords of Tajo are different from other DBs like PostgreSQL and MySQL, migrating tables from those DBs to Tajo induces table creation error sometimes.

So, we need to rearrange reserved and non-researved keywords.

Following shows keywords which are allowed in PostgreSQL but not allowed in Tajo.

{noformat}
mydb=# \d
          List of relations
 Schema |   Name    | Type  | Owner  
--------+-----------+-------+--------
 public | filter    | table | ktpark
 public | first     | table | ktpark
 public | format    | table | ktpark
 public | grouping  | table | ktpark
 public | hash      | table | ktpark
 public | index     | table | ktpark
 public | insert    | table | ktpark
 public | last      | table | ktpark
 public | location  | table | ktpark
 public | max       | table | ktpark
 public | min       | table | ktpark
 public | national  | table | ktpark
 public | nullif    | table | ktpark
 public | overwrite | table | ktpark
 public | precision | table | ktpark
 public | range     | table | ktpark
 public | regexp    | table | ktpark
 public | rlike     | table | ktpark
 public | set       | table | ktpark
 public | unknown   | table | ktpark
 public | var_pop   | table | ktpark
 public | var_samp  | table | ktpark
 public | varying   | table | ktpark
 public | zone      | table | ktpark
 public | bigint      | table | ktpark
 public | bit         | table | ktpark
 public | blob        | table | ktpark
 public | bool        | table | ktpark
 public | boolean     | table | ktpark
 public | bytea       | table | ktpark
 public | char        | table | ktpark
 public | date        | table | ktpark
 public | decimal     | table | ktpark
 public | double      | table | ktpark
 public | float       | table | ktpark
 public | float4      | table | ktpark
 public | float8      | table | ktpark
 public | inet4       | table | ktpark
 public | int         | table | ktpark
 public | int1        | table | ktpark
 public | int2        | table | ktpark
 public | int4        | table | ktpark
 public | int8        | table | ktpark
 public | integer     | table | ktpark
 public | nchar       | table | ktpark
 public | numeric     | table | ktpark
 public | nvarchar    | table | ktpark
 public | real        | table | ktpark
 public | smallint    | table | ktpark
 public | text        | table | ktpark
 public | time        | table | ktpark
 public | timestamp   | table | ktpark
 public | timestamptz | table | ktpark
 public | timetz      | table | ktpark
 public | tinyint     | table | ktpark
 public | varbinary   | table | ktpark
 public | varbit      | table | ktpark
 public | varchar     | table | ktpark
{noformat}


  was:
Keywords of Tajo are classified as reserved and non-reserved,
and reserved keywords cannot be used as table name or column name.

Because reserved keywords of Tajo are different from other DBs like PostgreSQL and MySQL, migrating tables from those DBs to Tajo induces table creation error sometimes.

So, we need to rearrange reserved and non-researved keywords.

Following shows keywords which are allowed in PostgreSQL but not allowed in Tajo.

{noformat}
mydb=# \d
          List of relations
 Schema |   Name    | Type  | Owner  
--------+-----------+-------+--------
 public | filter    | table | ktpark
 public | first     | table | ktpark
 public | format    | table | ktpark
 public | grouping  | table | ktpark
 public | hash      | table | ktpark
 public | index     | table | ktpark
 public | insert    | table | ktpark
 public | last      | table | ktpark
 public | list      | table | ktpark
 public | location  | table | ktpark
 public | max       | table | ktpark
 public | min       | table | ktpark
 public | national  | table | ktpark
 public | nullif    | table | ktpark
 public | overwrite | table | ktpark
 public | precision | table | ktpark
 public | range     | table | ktpark
 public | regexp    | table | ktpark
 public | rlike     | table | ktpark
 public | set       | table | ktpark
 public | sum       | table | ktpark
 public | unknown   | table | ktpark
 public | var_pop   | table | ktpark
 public | var_samp  | table | ktpark
 public | varying   | table | ktpark
 public | zone      | table | ktpark
 public | bigint      | table | ktpark
 public | bit         | table | ktpark
 public | blob        | table | ktpark
 public | bool        | table | ktpark
 public | boolean     | table | ktpark
 public | bytea       | table | ktpark
 public | char        | table | ktpark
 public | date        | table | ktpark
 public | decimal     | table | ktpark
 public | double      | table | ktpark
 public | float       | table | ktpark
 public | float4      | table | ktpark
 public | float8      | table | ktpark
 public | inet4       | table | ktpark
 public | int         | table | ktpark
 public | int1        | table | ktpark
 public | int2        | table | ktpark
 public | int4        | table | ktpark
 public | int8        | table | ktpark
 public | integer     | table | ktpark
 public | nchar       | table | ktpark
 public | numeric     | table | ktpark
 public | nvarchar    | table | ktpark
 public | real        | table | ktpark
 public | smallint    | table | ktpark
 public | text        | table | ktpark
 public | time        | table | ktpark
 public | timestamp   | table | ktpark
 public | timestamptz | table | ktpark
 public | timetz      | table | ktpark
 public | tinyint     | table | ktpark
 public | varbinary   | table | ktpark
 public | varbit      | table | ktpark
 public | varchar     | table | ktpark
{noformat}



> Rearrange reserved and non-reserved keywords
> --------------------------------------------
>
>                 Key: TAJO-497
>                 URL: https://issues.apache.org/jira/browse/TAJO-497
>             Project: Tajo
>          Issue Type: Improvement
>            Reporter: Keuntae Park
>            Assignee: Keuntae Park
>            Priority: Minor
>
> Keywords of Tajo are classified as reserved and non-reserved,
> and reserved keywords cannot be used as table name or column name.
> Because reserved keywords of Tajo are different from other DBs like PostgreSQL and MySQL, migrating tables from those DBs to Tajo induces table creation error sometimes.
> So, we need to rearrange reserved and non-researved keywords.
> Following shows keywords which are allowed in PostgreSQL but not allowed in Tajo.
> {noformat}
> mydb=# \d
>           List of relations
>  Schema |   Name    | Type  | Owner  
> --------+-----------+-------+--------
>  public | filter    | table | ktpark
>  public | first     | table | ktpark
>  public | format    | table | ktpark
>  public | grouping  | table | ktpark
>  public | hash      | table | ktpark
>  public | index     | table | ktpark
>  public | insert    | table | ktpark
>  public | last      | table | ktpark
>  public | location  | table | ktpark
>  public | max       | table | ktpark
>  public | min       | table | ktpark
>  public | national  | table | ktpark
>  public | nullif    | table | ktpark
>  public | overwrite | table | ktpark
>  public | precision | table | ktpark
>  public | range     | table | ktpark
>  public | regexp    | table | ktpark
>  public | rlike     | table | ktpark
>  public | set       | table | ktpark
>  public | unknown   | table | ktpark
>  public | var_pop   | table | ktpark
>  public | var_samp  | table | ktpark
>  public | varying   | table | ktpark
>  public | zone      | table | ktpark
>  public | bigint      | table | ktpark
>  public | bit         | table | ktpark
>  public | blob        | table | ktpark
>  public | bool        | table | ktpark
>  public | boolean     | table | ktpark
>  public | bytea       | table | ktpark
>  public | char        | table | ktpark
>  public | date        | table | ktpark
>  public | decimal     | table | ktpark
>  public | double      | table | ktpark
>  public | float       | table | ktpark
>  public | float4      | table | ktpark
>  public | float8      | table | ktpark
>  public | inet4       | table | ktpark
>  public | int         | table | ktpark
>  public | int1        | table | ktpark
>  public | int2        | table | ktpark
>  public | int4        | table | ktpark
>  public | int8        | table | ktpark
>  public | integer     | table | ktpark
>  public | nchar       | table | ktpark
>  public | numeric     | table | ktpark
>  public | nvarchar    | table | ktpark
>  public | real        | table | ktpark
>  public | smallint    | table | ktpark
>  public | text        | table | ktpark
>  public | time        | table | ktpark
>  public | timestamp   | table | ktpark
>  public | timestamptz | table | ktpark
>  public | timetz      | table | ktpark
>  public | tinyint     | table | ktpark
>  public | varbinary   | table | ktpark
>  public | varbit      | table | ktpark
>  public | varchar     | table | ktpark
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)