Re: [jira] [Created] (SOLR-2529) DIH update trouble with sql field name "pk"

2011-05-19 Thread Erick Erickson
Could you identify what you think the problem is?

Erick

On Thu, May 19, 2011 at 9:45 AM, Thomas Gambier (JIRA)  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: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Created] (SOLR-2529) DIH update trouble with sql field name "pk"

2011-05-19 Thread Thomas Gambier (JIRA)
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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org