[
https://issues.apache.org/jira/browse/SOLR-1229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lance Norskog updated SOLR-1229:
--------------------------------
Attachment: tests.patch
This patch contains two unit test files addressing the topics of this bug:
1) database and Solr have different primary key names
2) solr primary key value is processed with a template
TestSqlEntityProcessorDelta.java does general tests of delta-import
TestSqlEntityProcessorDelta2.java does the same tests with a different solr id
name and a template for the solr id value.
Also, there was a mistake in the test fixture which caused delta imports to
always empty the index first.
I believe that these tests should work. Please make all changes necessary so
that we have working unit tests for these features, and please change the wiki
to match all syntax changes.
> deletedPkQuery feature does not work when pk and uniqueKey field do not have
> the same value
> -------------------------------------------------------------------------------------------
>
> Key: SOLR-1229
> URL: https://issues.apache.org/jira/browse/SOLR-1229
> Project: Solr
> Issue Type: Bug
> Components: contrib - DataImportHandler
> Affects Versions: 1.4
> Reporter: Erik Hatcher
> Assignee: Noble Paul
> Fix For: 1.4
>
> Attachments: SOLR-1229.patch, SOLR-1229.patch, SOLR-1229.patch,
> tests.patch
>
>
> Problem doing a delta-import such that records marked as "deleted" in the
> database are removed from Solr using deletedPkQuery.
> Here's a config I'm using against a mocked test database:
> {code:xml}
> <dataConfig>
> <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/db"/>
> <document name="tests">
> <entity name="test"
> pk="board_id"
> transformer="TemplateTransformer"
> deletedPkQuery="select board_id from boards where deleted = 'Y'"
> query="select * from boards where deleted = 'N'"
> deltaImportQuery="select * from boards where deleted = 'N'"
> deltaQuery="select * from boards where deleted = 'N'"
> preImportDeleteQuery="datasource:board">
> <field column="id" template="board-${test.board_id}"/>
> <field column="datasource" template="board"/>
> <field column="title" />
> </entity>
> </document>
> </dataConfig>
> {code}
> Note that the uniqueKey in Solr is the "id" field. And its value is a
> template board-<PK>.
> I noticed the javadoc comments in DocBuilder#collectDelta it says "Note: In
> our definition, unique key of Solr document is the primary key of the top
> level entity". This of course isn't really an appropriate assumption.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.