Hi,
I'm trying to create an adapter for Apache Jena[1] to MonetDB[2].
Part of this process involves creating temporary tables in Monet.
During the Jena db setup process these tables are created with SQL
statements.
For most RDBMS these take the form of CREATE GLOBAL TEMPORARY...
However, with MonetDB (Aug 11 release on Ubuntu 11.04) I have been
unable to use this statement form, or CREATE LOCAL, or CREATE
TEMPORARY TABLE. Monet always returns "insufficient privileges", a
la :
sql>create global temporary table t (col1 int);
CREATE TABLE: insufficient privileges for user 'jena' in
schema 'tmp'
sql>create local temporary table t (col1 int);
CREATE TABLE: insufficient privileges for user 'jena' in
schema 'tmp'
sql>create temporary table t (col1 int);
CREATE TABLE: insufficient privileges for user 'jena' in
schema 'tmp'
(Jena's table is a little more sophisticated but raises the same
error ! :-)
I have created the user for this operation, an accompanying schema
with authorization and reset the users schema to this, as per
Getting Started [3].
The only operation I can seem to get to work in place of temporary
tables is to use CREATE TABLE. However, when I do this, Jena unit
tests fail when it tries to re-create, for a second group of tests,
these temp tables, with the exception
java.sql.SQLException: CREATE TABLE: name
'nnodetriples' already in use
Jena then tries to drop the tables (using execSilent) and create
anew, but at this point gets another exception.
Caused by: java.sql.SQLException: current
transaction is aborted (please ROLLBACK)
Any suggestions on this ?
- It seems to me the root of the problem is that the global temp
tables cannot be created, or that the 'already in use' exception
is escalating to a transaction abort, incorrectly.
- Do I need (can I) grant the user privileges to the tmp schema
?
[1] http://incubator.apache.org/jena/
[2] https://issues.apache.org/jira/browse/JENA-134
[3] http://www.monetdb.org/Downloads/Tutorial