You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Harish Butani <rh...@gmail.com> on 2013/12/16 19:49:28 UTC

Review Request 16299: HIVE-6013: Supporting Quoted Identifiers in Column Names

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16299/
-----------------------------------------------------------

Review request for hive, Ashutosh Chauhan and Alan Gates.


Bugs: HIVE-6013
    https://issues.apache.org/jira/browse/HIVE-6013


Repository: hive-git


Description
-------

Hive's current behavior on Quoted Identifiers is different from the normal interpretation. Quoted Identifier (using backticks) has a special interpretation for Select expressions(as Regular Expressions). Have documented current behavior and proposed a solution in attached doc.
Summary of solution is:
Introduce 'standard' quoted identifiers for columns only.
At the langauage level this is turned on by a flag.
At the metadata level we relax the constraint on column names.


Diffs
-----

  common/src/java/org/apache/hadoop/hive/conf/HiveConf.java fa3e048 
  itests/qtest/pom.xml 8c249a0 
  metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java 3deed45 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveUtils.java eb26e7f 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 321759b 
  ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 17e6aad 
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g 366b714 
  ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java 1e6826f 
  ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java ace1df9 
  ql/src/java/org/apache/hadoop/hive/ql/parse/UnparseTranslator.java 8fe2262 
  ql/src/test/queries/clientnegative/invalid_columns.q f8be8c8 
  ql/src/test/queries/clientpositive/quotedid_alter.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_basic.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_partition.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_skew.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_smb.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_tblproperty.q PRE-CREATION 
  ql/src/test/results/clientnegative/invalid_columns.q.out 3311b0a 
  ql/src/test/results/clientpositive/quotedid_alter.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_basic.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_partition.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_skew.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_smb.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_tblproperty.q.out PRE-CREATION 

Diff: https://reviews.apache.org/r/16299/diff/


Testing
-------

added new tests for create, alter, delete, query with columns containing special characters.
Tests start with quotedid


Thanks,

Harish Butani


Re: Review Request 16299: HIVE-6013: Supporting Quoted Identifiers in Column Names

Posted by Harish Butani <rh...@gmail.com>.

> On Dec. 18, 2013, 12:59 a.m., Ashutosh Chauhan wrote:
> > common/src/java/org/apache/hadoop/hive/conf/HiveConf.java, line 872
> > <https://reviews.apache.org/r/16299/diff/2/?file=398469#file398469line872>
> >
> >     class PatternValidator was recently introduced in HiveConf, which doesn't let user to specify invalid value for a config key. Using that here will be useful.

done


> On Dec. 18, 2013, 12:59 a.m., Ashutosh Chauhan wrote:
> > metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java, line 484
> > <https://reviews.apache.org/r/16299/diff/2/?file=398471#file398471line484>
> >
> >     Shall we remove this  if() altogether and thus also above newly introduced method?

i kept the validateColumnName method around in case we decide to change the validation logic in the future.
But if you feel strongly about it, i will remove it.


> On Dec. 18, 2013, 12:59 a.m., Ashutosh Chauhan wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveUtils.java, line 283
> > <https://reviews.apache.org/r/16299/diff/2/?file=398472#file398472line283>
> >
> >     conf should be null here. If it is null, then its a bug. Also, returning null in those cases seems incorrect. Lets remove this null conf check.

done


> On Dec. 18, 2013, 12:59 a.m., Ashutosh Chauhan wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g, line 34
> > <https://reviews.apache.org/r/16299/diff/2/?file=398475#file398475line34>
> >
> >     There can never be the case that hiveconf == null. That will be a bug. Lets remove this null check.

done


> On Dec. 18, 2013, 12:59 a.m., Ashutosh Chauhan wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g, line 400
> > <https://reviews.apache.org/r/16299/diff/2/?file=398475#file398475line400>
> >
> >     It will be good to document where all Identifier is used. Can be lifted straight from your html document.
> >

done


> On Dec. 18, 2013, 12:59 a.m., Ashutosh Chauhan wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g, line 403
> > <https://reviews.apache.org/r/16299/diff/2/?file=398475#file398475line403>
> >
> >     Good to add a note here saying QuotedIdentifier only optionally available for columns as of now.

done


- Harish


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16299/#review30570
-----------------------------------------------------------


On Dec. 18, 2013, 5:42 p.m., Harish Butani wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16299/
> -----------------------------------------------------------
> 
> (Updated Dec. 18, 2013, 5:42 p.m.)
> 
> 
> Review request for hive, Ashutosh Chauhan and Alan Gates.
> 
> 
> Bugs: HIVE-6013
>     https://issues.apache.org/jira/browse/HIVE-6013
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> Hive's current behavior on Quoted Identifiers is different from the normal interpretation. Quoted Identifier (using backticks) has a special interpretation for Select expressions(as Regular Expressions). Have documented current behavior and proposed a solution in attached doc.
> Summary of solution is:
> Introduce 'standard' quoted identifiers for columns only.
> At the langauage level this is turned on by a flag.
> At the metadata level we relax the constraint on column names.
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hadoop/hive/conf/HiveConf.java fa3e048 
>   itests/qtest/pom.xml 971c5d3 
>   metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java 5b75ef3 
>   ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveUtils.java eb26e7f 
>   ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 321759b 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java dbf3f91 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g ed9917d 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java 1e6826f 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b9cd65c 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/UnparseTranslator.java 8fe2262 
>   ql/src/test/queries/clientnegative/invalid_columns.q f8be8c8 
>   ql/src/test/queries/clientpositive/quotedid_alter.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/quotedid_basic.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/quotedid_partition.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/quotedid_skew.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/quotedid_smb.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/quotedid_tblproperty.q PRE-CREATION 
>   ql/src/test/results/clientnegative/invalid_columns.q.out 3311b0a 
>   ql/src/test/results/clientpositive/quotedid_alter.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/quotedid_basic.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/quotedid_partition.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/quotedid_skew.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/quotedid_smb.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/quotedid_tblproperty.q.out PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/16299/diff/
> 
> 
> Testing
> -------
> 
> added new tests for create, alter, delete, query with columns containing special characters.
> Tests start with quotedid
> 
> 
> Thanks,
> 
> Harish Butani
> 
>


Re: Review Request 16299: HIVE-6013: Supporting Quoted Identifiers in Column Names

Posted by Ashutosh Chauhan <ha...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16299/#review30570
-----------------------------------------------------------



common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
<https://reviews.apache.org/r/16299/#comment58532>

    class PatternValidator was recently introduced in HiveConf, which doesn't let user to specify invalid value for a config key. Using that here will be useful.



metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java
<https://reviews.apache.org/r/16299/#comment58545>

    Shall we remove this  if() altogether and thus also above newly introduced method?



ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveUtils.java
<https://reviews.apache.org/r/16299/#comment58546>

    conf should be null here. If it is null, then its a bug. Also, returning null in those cases seems incorrect. Lets remove this null conf check.



ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
<https://reviews.apache.org/r/16299/#comment58584>

    Since this method always return true, no need for this if block.



ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
<https://reviews.apache.org/r/16299/#comment58585>

    There can never be the case that hiveconf == null. That will be a bug. Lets remove this null check.



ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
<https://reviews.apache.org/r/16299/#comment58586>

    It will be good to document where all Identifier is used. Can be lifted straight from your html document.
    



ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
<https://reviews.apache.org/r/16299/#comment58587>

    Good to add a note here saying QuotedIdentifier only optionally available for columns as of now.



ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
<https://reviews.apache.org/r/16299/#comment58588>

    Not related for this patch, but if you feel like it, ll be good to add comment about where CharSetNames are used. Not necessary though.


- Ashutosh Chauhan


On Dec. 16, 2013, 10:22 p.m., Harish Butani wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16299/
> -----------------------------------------------------------
> 
> (Updated Dec. 16, 2013, 10:22 p.m.)
> 
> 
> Review request for hive, Ashutosh Chauhan and Alan Gates.
> 
> 
> Bugs: HIVE-6013
>     https://issues.apache.org/jira/browse/HIVE-6013
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> Hive's current behavior on Quoted Identifiers is different from the normal interpretation. Quoted Identifier (using backticks) has a special interpretation for Select expressions(as Regular Expressions). Have documented current behavior and proposed a solution in attached doc.
> Summary of solution is:
> Introduce 'standard' quoted identifiers for columns only.
> At the langauage level this is turned on by a flag.
> At the metadata level we relax the constraint on column names.
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hadoop/hive/conf/HiveConf.java fa3e048 
>   itests/qtest/pom.xml 8c249a0 
>   metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java 3deed45 
>   ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveUtils.java eb26e7f 
>   ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 321759b 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 17e6aad 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g ed9917d 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java 1e6826f 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java d18ea03 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/UnparseTranslator.java 8fe2262 
>   ql/src/test/queries/clientnegative/invalid_columns.q f8be8c8 
>   ql/src/test/queries/clientpositive/quotedid_alter.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/quotedid_basic.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/quotedid_partition.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/quotedid_skew.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/quotedid_smb.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/quotedid_tblproperty.q PRE-CREATION 
>   ql/src/test/results/clientnegative/invalid_columns.q.out 3311b0a 
>   ql/src/test/results/clientpositive/quotedid_alter.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/quotedid_basic.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/quotedid_partition.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/quotedid_skew.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/quotedid_smb.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/quotedid_tblproperty.q.out PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/16299/diff/
> 
> 
> Testing
> -------
> 
> added new tests for create, alter, delete, query with columns containing special characters.
> Tests start with quotedid
> 
> 
> Thanks,
> 
> Harish Butani
> 
>


Re: Review Request 16299: HIVE-6013: Supporting Quoted Identifiers in Column Names

Posted by Harish Butani <rh...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16299/
-----------------------------------------------------------

(Updated Dec. 19, 2013, 4:37 p.m.)


Review request for hive, Ashutosh Chauhan and Alan Gates.


Changes
-------

fix test diffs introduced because of turning on this feature.


Bugs: HIVE-6013
    https://issues.apache.org/jira/browse/HIVE-6013


Repository: hive-git


Description
-------

Hive's current behavior on Quoted Identifiers is different from the normal interpretation. Quoted Identifier (using backticks) has a special interpretation for Select expressions(as Regular Expressions). Have documented current behavior and proposed a solution in attached doc.
Summary of solution is:
Introduce 'standard' quoted identifiers for columns only.
At the langauage level this is turned on by a flag.
At the metadata level we relax the constraint on column names.


Diffs (updated)
-----

  common/src/java/org/apache/hadoop/hive/conf/HiveConf.java fa3e048 
  itests/qtest/pom.xml 971c5d3 
  metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java 5b75ef3 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveUtils.java eb26e7f 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 321759b 
  ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java dbf3f91 
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g ed9917d 
  ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java 1e6826f 
  ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b9cd65c 
  ql/src/java/org/apache/hadoop/hive/ql/parse/UnparseTranslator.java 8fe2262 
  ql/src/test/queries/clientnegative/ambiguous_col1.q fdf20f8 
  ql/src/test/queries/clientnegative/ambiguous_col2.q de59bc5 
  ql/src/test/queries/clientnegative/invalid_columns.q f8be8c8 
  ql/src/test/queries/clientnegative/regex_col_1.q 8333ddc 
  ql/src/test/queries/clientnegative/regex_col_2.q d1aa1f1 
  ql/src/test/queries/clientnegative/regex_col_groupby.q 5397191 
  ql/src/test/queries/clientpositive/ambiguous_col.q e7053c1 
  ql/src/test/queries/clientpositive/quotedid_alter.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_basic.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_partition.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_skew.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_smb.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_tblproperty.q PRE-CREATION 
  ql/src/test/queries/clientpositive/regex_col.q 9cfcee5 
  ql/src/test/queries/clientpositive/show_tablestatus.q 9184d6d 
  ql/src/test/queries/clientpositive/udf_index.q 9079d0e 
  ql/src/test/results/clientnegative/invalid_columns.q.out 3311b0a 
  ql/src/test/results/clientnegative/invalidate_view1.q.out 9f3870e 
  ql/src/test/results/clientnegative/regex_col_1.q.out 2025aee 
  ql/src/test/results/clientnegative/regex_col_2.q.out 171a66f 
  ql/src/test/results/clientnegative/regex_col_groupby.q.out 0730f14 
  ql/src/test/results/clientpositive/auto_join_reordering_values.q.out d61f5d2 
  ql/src/test/results/clientpositive/escape_clusterby1.q.out f1878dc 
  ql/src/test/results/clientpositive/escape_distributeby1.q.out c71a0d8 
  ql/src/test/results/clientpositive/escape_orderby1.q.out 70a0bf8 
  ql/src/test/results/clientpositive/escape_sortby1.q.out 3530622 
  ql/src/test/results/clientpositive/index_bitmap3.q.out 3bda9bd 
  ql/src/test/results/clientpositive/index_bitmap_auto.q.out 2cbbf00 
  ql/src/test/results/clientpositive/quote1.q.out 9ac271d 
  ql/src/test/results/clientpositive/quotedid_alter.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_basic.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_partition.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_skew.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_smb.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_tblproperty.q.out PRE-CREATION 

Diff: https://reviews.apache.org/r/16299/diff/


Testing
-------

added new tests for create, alter, delete, query with columns containing special characters.
Tests start with quotedid


Thanks,

Harish Butani


Re: Review Request 16299: HIVE-6013: Supporting Quoted Identifiers in Column Names

Posted by Harish Butani <rh...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16299/
-----------------------------------------------------------

(Updated Dec. 18, 2013, 8:38 p.m.)


Review request for hive, Ashutosh Chauhan and Alan Gates.


Changes
-------

the null check in HiveUtils.unparseIdentifier is needed.
Most existing invocations(for everything other than columns) invoke the old function(line 273), 
which doesn't take a context object.


Bugs: HIVE-6013
    https://issues.apache.org/jira/browse/HIVE-6013


Repository: hive-git


Description
-------

Hive's current behavior on Quoted Identifiers is different from the normal interpretation. Quoted Identifier (using backticks) has a special interpretation for Select expressions(as Regular Expressions). Have documented current behavior and proposed a solution in attached doc.
Summary of solution is:
Introduce 'standard' quoted identifiers for columns only.
At the langauage level this is turned on by a flag.
At the metadata level we relax the constraint on column names.


Diffs (updated)
-----

  common/src/java/org/apache/hadoop/hive/conf/HiveConf.java fa3e048 
  itests/qtest/pom.xml 971c5d3 
  metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java 5b75ef3 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveUtils.java eb26e7f 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 321759b 
  ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java dbf3f91 
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g ed9917d 
  ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java 1e6826f 
  ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b9cd65c 
  ql/src/java/org/apache/hadoop/hive/ql/parse/UnparseTranslator.java 8fe2262 
  ql/src/test/queries/clientnegative/invalid_columns.q f8be8c8 
  ql/src/test/queries/clientpositive/quotedid_alter.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_basic.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_partition.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_skew.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_smb.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_tblproperty.q PRE-CREATION 
  ql/src/test/results/clientnegative/invalid_columns.q.out 3311b0a 
  ql/src/test/results/clientpositive/quotedid_alter.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_basic.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_partition.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_skew.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_smb.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_tblproperty.q.out PRE-CREATION 

Diff: https://reviews.apache.org/r/16299/diff/


Testing
-------

added new tests for create, alter, delete, query with columns containing special characters.
Tests start with quotedid


Thanks,

Harish Butani


Re: Review Request 16299: HIVE-6013: Supporting Quoted Identifiers in Column Names

Posted by Harish Butani <rh...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16299/
-----------------------------------------------------------

(Updated Dec. 18, 2013, 5:42 p.m.)


Review request for hive, Ashutosh Chauhan and Alan Gates.


Bugs: HIVE-6013
    https://issues.apache.org/jira/browse/HIVE-6013


Repository: hive-git


Description
-------

Hive's current behavior on Quoted Identifiers is different from the normal interpretation. Quoted Identifier (using backticks) has a special interpretation for Select expressions(as Regular Expressions). Have documented current behavior and proposed a solution in attached doc.
Summary of solution is:
Introduce 'standard' quoted identifiers for columns only.
At the langauage level this is turned on by a flag.
At the metadata level we relax the constraint on column names.


Diffs (updated)
-----

  common/src/java/org/apache/hadoop/hive/conf/HiveConf.java fa3e048 
  itests/qtest/pom.xml 971c5d3 
  metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java 5b75ef3 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveUtils.java eb26e7f 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 321759b 
  ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java dbf3f91 
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g ed9917d 
  ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java 1e6826f 
  ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b9cd65c 
  ql/src/java/org/apache/hadoop/hive/ql/parse/UnparseTranslator.java 8fe2262 
  ql/src/test/queries/clientnegative/invalid_columns.q f8be8c8 
  ql/src/test/queries/clientpositive/quotedid_alter.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_basic.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_partition.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_skew.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_smb.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_tblproperty.q PRE-CREATION 
  ql/src/test/results/clientnegative/invalid_columns.q.out 3311b0a 
  ql/src/test/results/clientpositive/quotedid_alter.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_basic.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_partition.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_skew.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_smb.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_tblproperty.q.out PRE-CREATION 

Diff: https://reviews.apache.org/r/16299/diff/


Testing
-------

added new tests for create, alter, delete, query with columns containing special characters.
Tests start with quotedid


Thanks,

Harish Butani


Re: Review Request 16299: HIVE-6013: Supporting Quoted Identifiers in Column Names

Posted by Harish Butani <rh...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16299/
-----------------------------------------------------------

(Updated Dec. 16, 2013, 10:22 p.m.)


Review request for hive, Ashutosh Chauhan and Alan Gates.


Changes
-------

fix paths in quotedid_skew.q


Bugs: HIVE-6013
    https://issues.apache.org/jira/browse/HIVE-6013


Repository: hive-git


Description
-------

Hive's current behavior on Quoted Identifiers is different from the normal interpretation. Quoted Identifier (using backticks) has a special interpretation for Select expressions(as Regular Expressions). Have documented current behavior and proposed a solution in attached doc.
Summary of solution is:
Introduce 'standard' quoted identifiers for columns only.
At the langauage level this is turned on by a flag.
At the metadata level we relax the constraint on column names.


Diffs (updated)
-----

  common/src/java/org/apache/hadoop/hive/conf/HiveConf.java fa3e048 
  itests/qtest/pom.xml 8c249a0 
  metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java 3deed45 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveUtils.java eb26e7f 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 321759b 
  ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 17e6aad 
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g ed9917d 
  ql/src/java/org/apache/hadoop/hive/ql/parse/ParseDriver.java 1e6826f 
  ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java d18ea03 
  ql/src/java/org/apache/hadoop/hive/ql/parse/UnparseTranslator.java 8fe2262 
  ql/src/test/queries/clientnegative/invalid_columns.q f8be8c8 
  ql/src/test/queries/clientpositive/quotedid_alter.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_basic.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_partition.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_skew.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_smb.q PRE-CREATION 
  ql/src/test/queries/clientpositive/quotedid_tblproperty.q PRE-CREATION 
  ql/src/test/results/clientnegative/invalid_columns.q.out 3311b0a 
  ql/src/test/results/clientpositive/quotedid_alter.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_basic.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_partition.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_skew.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_smb.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/quotedid_tblproperty.q.out PRE-CREATION 

Diff: https://reviews.apache.org/r/16299/diff/


Testing
-------

added new tests for create, alter, delete, query with columns containing special characters.
Tests start with quotedid


Thanks,

Harish Butani