
|
If you were logged in you would be able to see more operations.
|
|
|
|
File Attachments:
|
1.
BUG_TEST.FDB (784 kB)
2.
ibtestunicode.zip (7 kB)
|
|
Environment:
|
Windows XP SP2, Firebird 2.1.0.15999 Beta 1, fbclient 2.1.0.15999
|
|
|
Bug in create/alter Database trigger
If execute statment
alter TRIGGER DBTRIGGER_COPY ACTIVE ON CONNECT POSITION 0
AS
/* дескрипшн переменной триггера БД
дескрипшн переменной триггера БД строка 2
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR SMALLINT DEFAULT 4;
/* дескрипшн переменной триггера БД
дескрипшн переменной триггера БД строка 2
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR1 VARCHAR(30) CHARACTER SET UTF8 COLLATE UTF8 DEFAULT 'Дефолт Default';
DECLARE VARIABLE EFWEF TYPE OF VARCHAR_DOMAIN2;
/* дескрипшн переменной триггера БД
дескрипшн переменной триггера БД строка 2
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR2 TYPE OF VARCHAR_DOMAIN DEFAULT 'Дефолт Default';
/* дескрипшн переменной триггера БД
дескрипшн переменной триггера БД
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR3 TYPE OF SMALLINT_DOMAIN DEFAULT 3;
BEGIN
/* Database Trigger body */
END
It will cause a mistake
"This operation is not defined for system tables.Unsuccessful metadata update.
Create metadata BLOB failed.
Cannot transliterate character between character sets."
But if change domain type variable EFWEF to VARCHAR_DOMAIN, or change
...
DECLARE VARIABLE NEW_VAR2 TYPE OF VARCHAR_DOMAIN DEFAULT 'Дефолт Default';
/* дескрипшн переменной триггера БД
дескрипшн переменной триггера БД
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR3 TYPE OF SMALLINT_DOMAIN DEFAULT 3;
...
to
...
DECLARE VARIABLE NEW_VAR2 TYPE OF VARCHAR_DOMAIN DEFAULT 'Дефолт Default';
/* дескрипшн переменной триггера БД
дескрипшн
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR3 TYPE OF SMALLINT_DOMAIN DEFAULT 3;
...
that the inquiry will be executed successfully
Domain statements(Identical):
CREATE DOMAIN VARCHAR_DOMAIN AS
VARCHAR(30) CHARACTER SET UTF8
COLLATE UTF8;
CREATE DOMAIN VARCHAR_DOMAIN2 AS
VARCHAR(30) CHARACTER SET UTF8
COLLATE UTF8;
|
|
Description
|
Bug in create/alter Database trigger
If execute statment
alter TRIGGER DBTRIGGER_COPY ACTIVE ON CONNECT POSITION 0
AS
/* дескрипшн переменной триггера БД
дескрипшн переменной триггера БД строка 2
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR SMALLINT DEFAULT 4;
/* дескрипшн переменной триггера БД
дескрипшн переменной триггера БД строка 2
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR1 VARCHAR(30) CHARACTER SET UTF8 COLLATE UTF8 DEFAULT 'Дефолт Default';
DECLARE VARIABLE EFWEF TYPE OF VARCHAR_DOMAIN2;
/* дескрипшн переменной триггера БД
дескрипшн переменной триггера БД строка 2
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR2 TYPE OF VARCHAR_DOMAIN DEFAULT 'Дефолт Default';
/* дескрипшн переменной триггера БД
дескрипшн переменной триггера БД
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR3 TYPE OF SMALLINT_DOMAIN DEFAULT 3;
BEGIN
/* Database Trigger body */
END
It will cause a mistake
"This operation is not defined for system tables.Unsuccessful metadata update.
Create metadata BLOB failed.
Cannot transliterate character between character sets."
But if change domain type variable EFWEF to VARCHAR_DOMAIN, or change
...
DECLARE VARIABLE NEW_VAR2 TYPE OF VARCHAR_DOMAIN DEFAULT 'Дефолт Default';
/* дескрипшн переменной триггера БД
дескрипшн переменной триггера БД
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR3 TYPE OF SMALLINT_DOMAIN DEFAULT 3;
...
to
...
DECLARE VARIABLE NEW_VAR2 TYPE OF VARCHAR_DOMAIN DEFAULT 'Дефолт Default';
/* дескрипшн переменной триггера БД
дескрипшн
database trigger description
database trigger description string 2 */
DECLARE VARIABLE NEW_VAR3 TYPE OF SMALLINT_DOMAIN DEFAULT 3;
...
that the inquiry will be executed successfully
Domain statements(Identical):
CREATE DOMAIN VARCHAR_DOMAIN AS
VARCHAR(30) CHARACTER SET UTF8
COLLATE UTF8;
CREATE DOMAIN VARCHAR_DOMAIN2 AS
VARCHAR(30) CHARACTER SET UTF8
COLLATE UTF8; |
Show » |
|
I can't reproduce the problem...
What tool you used? Can the error be reproducible with SQL?
Can you also test with a more recent snapshot?