SourceForge.net Logo
Main Overview Wiki Issues Forum Build Fisheye
Issue Details (XML | Word | Printable)

Key: CMP-701
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Shay Banon
Reporter: Joey Moreland
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Compass

TableToResourceMapping throws exception when fetching primary key for lowercase table names on MySQL

Created: 02/Sep/08 12:02 PM   Updated: 06/Sep/08 04:49 PM
Component/s: Compass::Gps
Affects Version/s: 2.1.0 M2
Fix Version/s: 2.1.0 M3

File Attachments: 1. File cmp-701.diff (1 kB)
2. GZip Archive cmp701.tar.gz (2 kB)

Environment:
Linux, Ubuntu 8.04
Java 1.6.0_06
MySQL 5.0.51a-3ubuntu5.1


 Description  « Hide
TableToResourceMapping throws an exception when fetching primary key for lowercase table names on MySQL.

Here is the stack trace:

Exception in thread "main" org.compass.gps.device.jdbc.JdbcGpsDeviceException: Failed to fetch primary keys for table [person]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jms.PERSON' doesn't exist
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jms.PERSON' doesn't exist
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1383)
at com.mysql.jdbc.DatabaseMetaData$7.forEach(DatabaseMetaData.java:3915)
at com.mysql.jdbc.IterateBlock.doForAll(IterateBlock.java:50)
at com.mysql.jdbc.DatabaseMetaData.getPrimaryKeys(DatabaseMetaData.java:3899)
at org.compass.gps.device.jdbc.mapping.TableToResourceMapping.generateIdMappings(TableToResourceMapping.java:112)
at org.compass.gps.device.jdbc.mapping.TableToResourceMapping.generateMappings(TableToResourceMapping.java:97)
at org.compass.gps.device.jdbc.ResultSetResourceMappingResolver.getMappingAsInputStream(ResultSetResourceMappingResolver.java:118)
at org.compass.core.config.binding.AbstractInputStreamMappingBinding.addMappingResolver(AbstractInputStreamMappingBinding.java:170)
at org.compass.core.config.CompassMappingBinding.addMappingResolver(CompassMappingBinding.java:174)
at org.compass.core.config.CompassConfiguration.addMappingResover(CompassConfiguration.java:383)
at gov.ms.masp.ps3.examples.compass.Search.main(Search.java:67)

The source that can cause it:
<I will attach>

Attached is a diff that makes the exception go away. Its basically an implementation of the discussion in http://forum.compass-project.org/thread.jspa?threadID=215460.

Thanks!
Joey



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Joey Moreland added a comment - 02/Sep/08 12:45 PM
tarball with source to exercise issue.

Joey Moreland added a comment - 02/Sep/08 12:57 PM
Diff of fix.

patch -p0 < cmp-701.diff the projects parent path should probably work.


Shay Banon added a comment - 06/Sep/08 04:49 PM
Fixed. Thanks!.