Hi Frias,

 

unfortunately I am not able to verify your bug as I have no PostgreSQL database 
available.

 

>From your description I assume that you have declared your Column 
>ADDRESSBOOK.INFORMATION as DataType.BLOB.

As far as I can see from the PostgreSQL Driver, the BLOB data type is mapped to 
the PostgreSQL Type "bytea".

I don't know what the difference between the PostgreSQL Type "long" and "bytea" 
is, but this might be the cause of the problem.

 

If possible could you please set a breakpoint on the function 
getResultValue(...) in class 
org.apache.empire.db.postgresql.DBDatabaseDriverPostgreSQL.

I assume that the method getBlob(columnIndex) on the JDBC ResultSet fails.

We then need to find out, which other method must be used to retrieve the value 
of type long.

 

Regards

Rainer

 

 

from: Frias Inchausti, Jon [mailto:[email protected]] 
to: [email protected]
re: empire db possible bug: blob data type is not working under queries 
execution commands

 

Hi all,

 

My name is Jon Frias and I am working under the version 2.3.1-SNAPSHOT of 
empire db and posgresql driver. (I have already created a bug issue, you can 
find it at: https://issues.apache.org/jira/browse/EMPIREDB-147 )

 

The possible bug I have detected is the following:

When I execute a query on a data table which contains a blob data type, it 
returns this error message:

 

140 [main] INFO org.apache.empire.exceptions.EmpireException - An Error 
occured. Message is: The database operation failed. Native error is: Bad value 
for type long : \x01000100

 

 

For example: I have a data table with 3 data fields (Integer, String and BLOB). 

The database is created correctly with different data types.

 

The code I use to execute a query command is the following:

 

/** 
* Gets the address books. 
* 
* @return the address books 
*/ 
public List<addressBookBean> getAddressBooks(){ 
List<addressBookBean> myABs = new ArrayList<addressBookBean>(); 

DBCommand cmd = db.createCommand(); 
cmd.select(db.ADDRESSBOOK.ADDRESS_BOOK_ID, db.ADDRESSBOOK.LOCATION, 
db.ADDRESSBOOK.INFORMATION); 

DBReader reader = new DBReader(); 
reader.open(cmd, conn); 
while(reader.moveNext()){ 
myABs.add(new addressBookBean( 
reader.getInt(db.ADDRESSBOOK.ADDRESS_BOOK_ID), 
reader.getString(db.ADDRESSBOOK.LOCATION), 
(byte[]) reader.getValue(db.ADDRESSBOOK.INFORMATION))); 
} 

return myABs; 
}

 

 

Thanks a lot for your time and if any further information is required, don't 
hesitate and let me know. 

Best Regards, 

Jon 

PS: I opened an issue about a bug with the BLOB data type when the sql script 
is generated for creating the database. the error message was very similar and 
it was totally fixed. Maybe it can help. The issue is the following: 
https://issues.apache.org/jira/browse/EMPIREDB-146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288425#comment-13288425

 

Jon Frias Inchausti

Investigador

Researcher

 

UNIDAD DE SISTEMAS INDUSTRIALES / 

INDUSTRIAL SYSTEMS UNIT

 

División Industria y Transporte / 

Industry and Transport Division 

 

TECNALIA

Paseo Mikeletegi 7 - Parque Tecnológico

E-20009 Donostia - San Sebastián (Gipuzkoa, Spain)

Telf Industry & Transport Division: (+34) 943 105115 or 902 760 002

Telf Tecnalia Research & Innovation: (+34) 946 430 850 or 902 760 000 

Fax: (+34) 946 460 900 or 901 706 009

[email protected] 

www.tecnalia.com 

 

cid:[email protected] <http://www.facebook.com/Tecnalia> 
cid:[email protected] <http://twitter.com/tecnalia> 
cid:[email protected] 
<http://www.flickr.com/photos/tecnalia/sets/> 
cid:[email protected] 
<http://www.linkedin.com/company/tecnalia-research-&-innovation> 
cid:[email protected] <http://www.slideshare.net/tecnalia> 
cid:[email protected] <http://www.youtube.com/user/tecnaliaTV> 
cid:[email protected] <http://www.tecnalia.com/rss.php?lang=es> 

cid:[email protected] <http://www.tecnalia.com/> 

Este mensaje puede contener información confidencial o privilegiada. Si no eres 
el destinatario de este mensaje, notifícaselo por favor al remitente y bórralo 
sin reenviarlo o guardarlo dado que está legalmente prohibido.

Mezu honek daukan informazioa isilpekoa edo pribilegiatua izan daiteke. Zuri 
zuzendua ez badago emaiozu, mesedez,  horren berri igorleari eta ezaba ezazu 
bidali edo gorde gabe, legalki debekatua dago eta.

This message may contain confidential, proprietary or legally privileged 
information. If you are not the intended recipient of this message, please 
notify it to the sender and delete without resending or backing it, as it is 
legally prohibited.

cid:[email protected] favor, piensa en el medio ambiente antes 
de imprimir este e-mail. 

Mesedez pentsatu ingurugiroan e-mail hau imprimatu baino lehen. 

Please, consider the environment before printing this e-mail.

 

Reply via email to