Could you identify what you think the problem is? Erick
On Thu, May 19, 2011 at 9:45 AM, Thomas Gambier (JIRA) <[email protected]> wrote: > DIH update trouble with sql field name "pk" > ------------------------------------------- > > Key: SOLR-2529 > URL: https://issues.apache.org/jira/browse/SOLR-2529 > Project: Solr > Issue Type: Bug > Components: contrib - DataImportHandler > Affects Versions: 3.1, 3.2 > Environment: Debian Lenny, JRE 6 > Reporter: Thomas Gambier > Priority: Blocker > > > We are unable to use the DIH when database columnName primary key is named > "pk". > > The reported solr error is : > "deltaQuery has no column to resolve to declared primary key pk='pk'" > > We have made some investigations and found that the DIH have a mistake when > it's looking for the primary key between row's columns list. > > private String findMatchingPkColumn(String pk, Map row) { > if (row.containsKey(pk)) > throw new IllegalArgumentException( > String.format("deltaQuery returned a row with null for primary key %s", > pk)); > String resolvedPk = null; > for (String columnName : row.keySet()) { > if (columnName.endsWith("." + pk) || pk.endsWith("." + columnName)) { > if (resolvedPk != null) > throw new IllegalArgumentException( > String.format( > "deltaQuery has more than one column (%s and %s) that might resolve > to declared primary key pk='%s'", > resolvedPk, columnName, pk)); > resolvedPk = columnName; > } > } > if (resolvedPk == null) > throw new IllegalArgumentException( > String.format("deltaQuery has no column to resolve to declared primary > key pk='%s'", pk)); > LOG.info(String.format("Resolving deltaQuery column '%s' to match entity's > declared pk '%s'", resolvedPk, pk)); > return resolvedPk; > } > > > -- > This message is automatically generated by JIRA. > For more information on JIRA, see: http://www.atlassian.com/software/jira > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
