[
https://issues.apache.org/jira/browse/HIVE-5098?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Dai resolved HIVE-5098.
------------------------------
Resolution: Fixed
Fix Version/s: 0.13.0
Hadoop Flags: Reviewed
The fix is included in datanucleus-rdbms 3.2.9+. Will upgrade datanucleus-rdbms
version to embrace it (patch will be included in HIVE-5099).
> Fix metastore for SQL Server
> ----------------------------
>
> Key: HIVE-5098
> URL: https://issues.apache.org/jira/browse/HIVE-5098
> Project: Hive
> Issue Type: Bug
> Components: Metastore, Windows
> Reporter: Daniel Dai
> Assignee: Daniel Dai
> Fix For: 0.13.0
>
> Attachments: HIVE-5098-1.patch, HIVE-5098-2.patch
>
>
> We found one problem in testing SQL Server metastore. In Hive code, we use
> substring function with single parameter in datanucleus query
> (Expressiontree.java):
> {code}
> if (partitionColumnIndex == (partitionColumnCount - 1)) {
> valString = "partitionName.substring(partitionName.indexOf(\"" +
> keyEqual + "\")+" + keyEqualLength + ")";
> }
> else {
> valString = "partitionName.substring(partitionName.indexOf(\"" +
> keyEqual + "\")+" + keyEqualLength + ").substring(0,
> partitionName.substring(partitionName.indexOf(\"" + keyEqual + "\")+" +
> keyEqualLength + ").indexOf(\"/\"))";
> }
> {code}
> SQL server does not support single parameter substring and datanucleus does
> not fill the gap.
> In the attached patch:
> 1. creates a new jar hive-datanucleusplugin.jar in $HIVE_HOME/lib
> 2. hive-datanucleusplugin.jar is a datanucleus plugin (include plugin.xml,
> MANIFEST.MF)
> 3. The plugin write a specific version of "substring" implementation for
> sqlserver (which avoid using single param SUBSTRING, which is not supported
> in SQLSever)
> 4. The plugin code only kicks in when the rmdb is sqlserver
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)