[ 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)