You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2016/12/03 03:54:58 UTC

[jira] [Commented] (DERBY-6918) Problem with schema name starting with number followed by a dot

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

ASF subversion and git services commented on DERBY-6918:
--------------------------------------------------------

Commit 1772428 from [~bryanpendleton] in branch 'code/trunk'
[ https://svn.apache.org/r1772428 ]

DERBY-6918: Problem with schema name containing a period

When processing DELETE statements in a database schema including
referential integrity constraints that specify ON DELETE CASCADE,
it is easiest to keep the schema name and table name separate,
rather than pasting them together into a compound name joined with
a period, because pasting them together results in ambiguity about
which period separates the schema name from the table name, and
which period was simply part of the schema name proper.

Adjusted the logic in DeleteNode and DMLModStatementNode accordingly.

> Problem with schema name starting with number followed by a dot
> ---------------------------------------------------------------
>
>                 Key: DERBY-6918
>                 URL: https://issues.apache.org/jira/browse/DERBY-6918
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.13.1.1
>            Reporter: Hooman Valibeigi
>            Assignee: Bryan Pendleton
>         Attachments: schemaNames.diff
>
>
> It seems that there is a problem with schema names that start with a number followed by a dot.
> Please take a look at the following script. Everything works fine but the last line which is a delete statement. Note that having the foreign key constraints was necessary to make it reproduce the problem.
> create schema "1.a";
> create table "1.a"."role"
> (
> "id" integer generated always as identity,
> "name" varchar(255) not null
> );
> alter table "1.a"."role" add constraint "role_pk"
> primary key ("id");
> create table "1.a"."user"
> (
> "id" integer generated always as identity,
> "name" varchar(255) not null
> );
> alter table "1.a"."user" add constraint "user_pk"
> primary key ("id");
> create table "1.a"."user_role"
> (
> "role" integer not null,
> "user" integer not null
> );
> alter table "1.a"."user_role" add constraint "user_role_fk1"
> foreign key ("role")
> references "1.a"."role" ("id")
> on delete cascade;
> alter table "1.a"."user_role" add constraint "user_role_fk2"
> foreign key ("user")
> references "1.a"."user" ("id")
> on delete cascade;
> alter table "1.a"."user_role" add constraint "user_role_u1"
> unique ("user", "role");
> insert into "1.a"."role" ("name") values ('r1');
> insert into "1.a"."user" ("name") values ('u1');
> insert into "1.a"."user_role" ("role","user") values (1,1);
> select * from "1.a"."user";
> delete from "1.a"."user";
> Last delete statement fails. The error is:
> Schema '1' does not exist [SQL State=42Y07, DB Errorcode=20000] 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)