You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Andreas Hartmann <an...@apache.org> on 2005/03/15 14:52:27 UTC
Cron + HSQLDB: Unexpected token: in statement [SELECT 1]
Hi all,
I'm trying to run the cron block with the TX job store and the
built-in HSQL DB. My configurations:
<store delegate="org.quartz.impl.jdbcjobstore.HSQLDBDelegate" type="tx">
<datasource provider="excalibur">LenyaScheduler</datasource>
</store>
<datasources>
<jdbc logger="core.datasources.lenya.scheduler" name="LenyaScheduler">
<pool-controller max="10" min="5"/>
<dburl>jdbc:hsqldb:hsql://localhost:9002</dburl>
<user>sa</user>
<password/>
</jdbc>
</datasources>
I added the Quartz tables to cocoondb.script. When I start Jetty, I can
connect to the DB with the org.hsqldb.util.DatabaseManager browse the tables.
But during the cron block startup, I get the following exception:
main WARN lenya.scheduler - Could not prepare test statement, connection
recycled on basis of time.
java.sql.SQLException: Unexpected token: in statement [SELECT 1]
at org.hsqldb.jdbc.Util.throwError(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(Unknown Source)
...
It looks like a test statement is created, but HSQL couldn't parse it and
threw an exception. I found the following message in a forum:
>>DriverManager.getConnection("jdbc:hsqldb:hsql://localhost")
>> trying driver[className=org.hsqldb.jdbcDriver,org.hsqldb.jdbcDriver@93385d]
>>getConnection returning
>>driver[className=org.hsqldb.jdbcDriver,org.hsqldb.jdbcDriver@93385d]
>>SQLException: SQLState(37000) vendor code(-11)
>>java.sql.SQLException: Unexpected token: 37000 Unexpected token: in statement
>>[SELECT 1]
>>
>>
>
>The SQL is correct. Yet another SQL incompatibility in HSQL.
This seems to be a known issue with HSQL. Updating to the newest
version (1.8.0-RC9) didn't solve the problem.
Is there anything I can do about it?
Thanks a lot!
-- Andreas
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
[Solved] Re: Cron + HSQLDB: Unexpected token: in statement [SELECT
1]
Posted by Andreas Hartmann <an...@apache.org>.
Andreas Hartmann wrote:
> Hi all,
>
> I'm trying to run the cron block with the TX job store and the
> built-in HSQL DB. My configurations:
>
> <store delegate="org.quartz.impl.jdbcjobstore.HSQLDBDelegate" type="tx">
> <datasource provider="excalibur">LenyaScheduler</datasource>
> </store>
>
> <datasources>
> <jdbc logger="core.datasources.lenya.scheduler" name="LenyaScheduler">
> <pool-controller max="10" min="5"/>
> <dburl>jdbc:hsqldb:hsql://localhost:9002</dburl>
> <user>sa</user>
> <password/>
> </jdbc>
> </datasources>
The problem is indeed that HSQL cannot parse the default keep-alive statement
"SELECT 1". But you can provide your own keep-alive statement:
<jdbc logger="core.datasources.lenya.scheduler" name="LenyaScheduler">
<pool-controller max="10" min="5">
<!-- use custom keep-alive query because HSQL does not accept 'SELECT
1' -->
<keep-alive>SELECT 1 FROM QRTZ_LOCKS</keep-alive>
</pool-controller>
<dburl>jdbc:hsqldb:hsql://localhost:9002</dburl>
<user>sa</user>
<password/>
</jdbc>
-- Andreas
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org