manifoldcf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache Connectors Framework > How to Write an Output Connector
Date Thu, 21 Oct 2010 17:03:00 GMT
Space: Apache Connectors Framework (
Page: How to Write an Output Connector (

Comment added by Farzad:

I got it working, thanks.  A problem that took a lot of time was the column names.  I defined
all mine in upper case.  For some reason, they are converted to lower case.  I was getting
an exception thrown, because I was looking for a column value using the original handle.

So is this a bug?  If not, I think it should be documented to use lowercase only for db column

Another problem I hit was perfroming a query.  It seems that I can only pass the value using
an array list.  Here is my first call that didn't work.

IResultSet result = performQuery("SELECT * FROM " + getTableName() + " WHERE " + hashsum +
"=" + hashsumVal, null, null, null);

It gives an error the column name doesn't exist, where it is using the hashsumVal as the column
name.  See below.  I then used the ArrayList method and it worked.  Is there something I did
wrong in my first attempt?

ArrayList list = new ArrayList();
IResultSet result = performQuery("SELECT * FROM " + getTableName() + " WHERE " + hashsum +
"=?", list, null, null);

Worker thread aborting and restarting due to database connection reset: Database exception:
Exception doing query: ERROR: column "c46875547f6b97bac41132f6f8a057cc10060fbc69b5b26428d6d561e00ae1f"
does not exist
org.apache.manifoldcf.core.interfaces.ManifoldCFException: Database exception: Exception doing
query: ERROR: column "c46875547f6b97bac41132f6f8a057cc10060fbc69b5b26428d6d561e00ae1f" does
not exist
 at org.apache.manifoldcf.core.database.Database.executeViaThread(
 at org.apache.manifoldcf.core.database.Database.executeUncachedQuery(
 at org.apache.manifoldcf.core.database.Database$QueryCacheExecutor.create(
 at org.apache.manifoldcf.core.cachemanager.CacheManager.findObjectsAndExecute(
 at org.apache.manifoldcf.core.database.Database.executeQuery(
 at org.apache.manifoldcf.core.database.DBInterfacePostgreSQL.performQuery(
 at org.apache.manifoldcf.core.database.BaseTable.performQuery(
 at org.apache.manifoldcf.agents.output.dupfinder.DataManager.insertData(
 at org.apache.manifoldcf.agents.output.dupfinder.DupFinderConnector.addOrReplaceDocument(
 at org.apache.manifoldcf.agents.incrementalingest.IncrementalIngester.addOrReplaceDocument(
 at org.apache.manifoldcf.agents.incrementalingest.IncrementalIngester.performIngestion(
 at org.apache.manifoldcf.agents.incrementalingest.IncrementalIngester.documentIngest(
 at org.apache.manifoldcf.crawler.system.WorkerThread$ProcessActivity.ingestDocument(
 at org.apache.manifoldcf.crawler.connectors.filesystem.FileConnector.processDocuments(
 at org.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector.processDocuments(
Caused by: org.postgresql.util.PSQLException: ERROR: column "c46875547f6b97bac41132f6f8a057cc10060fbc69b5b26428d6d561e00ae1f"
does not exist
 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(
 at org.postgresql.core.v3.QueryExecutorImpl.processResults(
 at org.postgresql.core.v3.QueryExecutorImpl.execute(
 at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(
 at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(
 at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(
 at org.apache.manifoldcf.core.database.Database.execute(
 at org.apache.manifoldcf.core.database.Database$

In reply to a comment by Karl Wright:
The only other transaction error that DATABASE_TRANSACTION_ABORT can represent is deadlock. 
So unless you are in a transaction you should not see that one.\\

Change your notification preferences:

View raw message