Daniel Dai created HIVE-5098:
--------------------------------
Summary: 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.12.0
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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira