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

Aaron Kimball updated MAPREDUCE-1174:
-------------------------------------

    Attachment: MAPREDUCE-1174.patch

This patch puts in a foundation for quoting by providing {{escapeTableName()}} 
and {{escapeColumnName()}} methods in ConnManager; the default implementation 
does not change the literal strings passed in. ConnManager implementations now 
use these when putting user-provided table/column names in sql strings.

MySQLManager has been changed to use {{`backticks`}} to quote table and column 
names. This does not work with HSQLDB; the default non-quoting implementation 
is used instead.

New test case demonstrates the ability to import tables/columns with reserved 
words in mysql. Ran locally; passes.

> Sqoop improperly handles table/column names which are reserved sql words
> ------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-1174
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1174
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: contrib/sqoop
>            Reporter: Aaron Kimball
>            Assignee: Aaron Kimball
>         Attachments: MAPREDUCE-1174.patch
>
>
> In some databases it is legal to name tables and columns with terms that 
> overlap SQL reserved keywords (e.g., {{CREATE}}, {{table}}, etc.). In such 
> cases, the database allows you to escape the table and column names. We 
> should always escape table and column names when possible.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to