Erick: Thanks for the quick response.
I can't use the timestamp for doing DIH, so I need to use a custom field that I need to update one for each delta-import, so that is why I need to execute an UPDATE on the deltaQuery. Cheers! Juan M. On Thu, Dec 30, 2010 at 10:07 AM, Erick Erickson <erickerick...@gmail.com> wrote: > WARNING: DIH isn't my strong suit, I generally prefer doing things > in SolrJ. Mostly I asked for clarification so someone #else# who > actually knows DIH details could chime in... > > That said, I'm a bit confused. As I understand it, you shouldn't > be UPDATEing anything in DIH, it's a select where documents > then get added to Solr "by magic". Your post leads me to believe > that you're trying to change the database via DIH, is that at > all true? > > This is based in part on > "The ids are returned ok, but the UPDATE has no effect on the database" > Or do you mean "effect on the index"? If the latter, then the select > would only have a chance of updating the IDs of the Solr documents... > > At least I think that's close to reality... > > Best > Erick > > On Thu, Dec 30, 2010 at 7:52 AM, Juan Manuel Alvarez > <naici...@gmail.com>wrote: > >> Hi Erick! >> >> Here is my DIH configuration: >> >> <dataConfig> >> <dataSource name="jdbc" driver="org.postgresql.Driver" >> >> url="jdbc:postgresql://${dataimporter.request.dbHost}:${dataimporter.request.dbPort}/${dataimporter.request.dbName}" >> user="${dataimporter.request.dbUser}" >> password="${dataimporter.request.dbPassword}" autoCommit="false" >> transactionIsolation="TRANSACTION_READ_UNCOMMITTED" >> holdability="CLOSE_CURSORS_AT_COMMIT"/> >> <document> >> <entity name='myEntity' dataSource='jdbc' pk='id' >> query=' ..... ' >> deltaImportQuery=' ..... ' >> deltaQuery=' ..... ' >> > >> </entity> >> </document> >> </dataConfig> >> >> I have tried two options for the deltaQuery: >> UPDATE "Global"."Projects" SET "prj_lastSync" = now() WHERE "prj_id" = >> '2'; <---- Throws a null pointer exception as described in the >> previous email >> >> The second option is a DB function that I am calling this way: >> SELECT "get_deltaimport_items" AS "id" FROM >> project.get_deltaimport_items(2, 'project'); >> >> The function inside executes the UPDATE query shown above and a SELECT >> query for the ids. >> The ids are returned ok, but the UPDATE has no effect on the database. >> >> Cheers! >> Juan M. >> >> >> On Thu, Dec 30, 2010 at 1:32 AM, Erick Erickson <erickerick...@gmail.com> >> wrote: >> > Well, let's see the queries you're sending, and your DIH configuration. >> > >> > Otherwise, we're just guessing... >> > >> > Best >> > Erick >> > >> > On Wed, Dec 29, 2010 at 9:58 PM, Juan Manuel Alvarez <naici...@gmail.com >> >wrote: >> > >> >> Hi! I would like to ask you a question about using a deltaQuery in DIH. >> >> I am syncing with a PostgreSQL database. >> >> >> >> At first I was calling a function that made two queries: an UPDATE and a >> >> SELECT. >> >> The select result was properly returned, but the UPDATE query did not >> >> made any changes, >> >> so I tried calling the same function from a PostgreSQL client and >> >> everything went OK. >> >> >> >> So I tried calling a simple UPDATE query directly in the deltaQuery >> >> and I receive a >> >> NullPointerException that I traced to the line 251 of the >> >> JdbcDataSource.java >> >> colNames = readFieldNames(resultSet.getMetaData()); >> >> >> >> The question is: is there a way I can make the update query work in >> >> the deltaQuery >> >> or am I doing something wrong? >> >> >> >> Happy new year!!!! >> >> Cheers! >> >> Juan M. >> >> >> > >> >