If you are getting a null pointer exception here: colNames = readFieldNames(resultSet.getMetaData());
Then that implies the DIH code is written to expect a select statement. You might be able to fool it with some SQL injection: update blah set foo=bar where id=1234; select id from blah But if that doesn't work then you may be out of luck. cheers, Travis On Thu, Dec 30, 2010 at 8:26 AM, Juan Manuel Alvarez <naici...@gmail.com>wrote: > 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. > >> >> > >> > > >> > > > -- ** *Travis Low, Director of Development* ** <t...@4centurion.com>* * *Centurion Research Solutions, LLC* *14048 ParkEast Circle *•* Suite 100 *•* Chantilly, VA 20151* *703-956-6276 *•* 703-378-4474 (fax)* *http://www.centurionresearch.com* <http://www.centurionresearch.com> **The information contained in this email message is confidential and protected from disclosure. If you are not the intended recipient, any use or dissemination of this communication, including attachments, is strictly prohibited. If you received this email message in error, please delete it and immediately notify the sender. This email message and any attachments have been scanned and are believed to be free of malicious software and defects that might affect any computer system in which they are received and opened. No responsibility is accepted by Centurion Research Solutions, LLC for any loss or damage arising from the content of this email.