You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Daniel Dai (JIRA)" <ji...@apache.org> on 2013/12/10 20:14:07 UTC
[jira] [Resolved] (HIVE-5098) Fix metastore for SQL Server
[ 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)