db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "geoff hendrey (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-568) ERROR 42Y07: Schema 'SchemaName' does not exist. But Schema already present in sql sentence
Date Mon, 03 Sep 2007 02:27:19 GMT

    [ https://issues.apache.org/jira/browse/DERBY-568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12524420
] 

geoff hendrey commented on DERBY-568:
-------------------------------------

can you tell me if this a related issue?

The following is the first statement I execute against a schema 'blogs'. 
I've got the database connection URL to ...create=true....

and I'm connecting to the database with a user of "blogs" and password of "blogs". So presumably
the act of connecting to the db to execute this statement should create the 'blogs' schema.

CREATE TABLE BLOGSCOM__BLOGS__USERS(PK INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY,username
VARCHAR(16) NOT NULL  CONSTRAINT BLOGSCOM__BLOGS__USERS_UNIQUE_username UNIQUE CONSTRAINT
BLOGSCOM__BLOGS__USERS_PASSWORD_username CHECK(LENGTH(username)>7),password VARCHAR (32672)
NOT NULL ,  PRIMARY KEY(PK))

java.sql.SQLSyntaxErrorException: Schema 'BLOGS' does not exist
        at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
        at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
        at org.apache.derby.client.am.Statement.executeUpdate(Unknown Source)
        at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)

But as you can see from the above, it says "BLOGS" does not exist.

If I execute some other statement first, then the statement in question proceeds just fine.
Also, if I eliminate the constraints related to the password length, this statement will happily
execute as the first statement executed  and the act of connecting will create the database
and schema. So I believe this has something to do with the constraints.

> ERROR 42Y07: Schema 'SchemaName' does not exist. But Schema already present in sql sentence
> -------------------------------------------------------------------------------------------
>
>                 Key: DERBY-568
>                 URL: https://issues.apache.org/jira/browse/DERBY-568
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.1.1.0
>         Environment: Win XP prof, Java SDK  1.4.2_06, Derby 10.1.1.0
>            Reporter: Igor Azarny
>
> Here files with short remarks to reproduce error
> /****************** create.bat **********************/
> java org.apache.derby.tools.ij derby.sql > create-schema.log
> java org.apache.derby.tools.ij derby-data.sql > init-data.log
> /****************** end create.bat **********************/
> /****************** derby.sql **********************/
> connect 'jdbc:derby:c:\data\test;create=true;databaseName=test';
> create schema lcp;
> CREATE TABLE lcp.transportgrp (
>     transportgrp_id    	INTEGER         GENERATED ALWAYS AS IDENTITY,
>     name	     	VARCHAR(128)    NOT NULL,
>     moddate         	TIMESTAMP       NOT NULL DEFAULT CURRENT_TIMESTAMP,
>     moduser         	VARCHAR(32)     NOT NULL DEFAULT USER,
>     CONSTRAINT transportgrp_pk PRIMARY KEY (transportgrp_id)
> );
> CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.connection.requireAuthentication','true');
> CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.authentication.provider','BUILTIN');
> -- DEFAULT USERS --
> CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.user.ADMIN', 'admin');
> /****************** end derby.sql **********************/
> /****************** derby-data.sql **********************/
> connect 'jdbc:derby:c:\data\lcpdb;user=ADMIN;password=admin';
> insert into lcp.transportgrp(name) values('test 1');
> insert into lcp.transportgrp(name) values('test 2');
> insert into lcp.transportgrp(name) values('test 3');
> -- this sql will be passed
> select * from lcp.transportgrp where lcp.transportgrp.name = 'test 2';
> -- this will be failed, but this select does not contains errors
> -- the same sql run correctly on versions before 10.1.1.0
> select * from lcp.transportgrp where transportgrp.name = 'test 2';
> -- this will be passed also
> select * from lcp.transportgrp a where a.name = 'test 2';
> /****************** end derby-data.sql **********************/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message