Firebird-2.5.0.22533-0, SIMILAR TO

Модераторы: kdv, CyberMax

Ответить
lv151
Сообщения: 24
Зарегистрирован: 04 фев 2009, 19:54

Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение lv151 » 05 фев 2009, 09:38

'az' SIMILAR TO '[a-z][a-z]' - true
'bz' SIMILAR TO '[a-z][a-z]' ('11' SIMILAR TO '[0-9][0-9]') - false - почему?

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение hvlad » 05 фев 2009, 16:27

SQL> select count(*) from rdb$database where 'az' SIMILAR TO '[a-z][a-z]';

COUNT
============
1

SQL> select count(*) from rdb$database where 'bz' SIMILAR TO '[a-z][a-z]';

COUNT
============
1

SQL> select count(*) from rdb$database where '11' SIMILAR TO '[0-9][0-9]';

COUNT
============
1

lv151
Сообщения: 24
Зарегистрирован: 04 фев 2009, 19:54

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение lv151 » 05 фев 2009, 16:37

IF ('b' SIMILAR TO ('[a-z]')) THEN
v = 1;
ELSE
v = 2;

= 2

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение hvlad » 05 фев 2009, 16:42

SQL> set term ^;
SQL>
SQL> execute block returns (x int) as
CON> begin
CON> if ('b' SIMILAR TO ('[a-z]')) then x = 1; else x = 2;
CON> suspend;
CON> end;
CON> ^

X
============
1

lv151
Сообщения: 24
Зарегистрирован: 04 фев 2009, 19:54

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение lv151 » 05 фев 2009, 16:55

Может это глюк IBExpert?

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение hvlad » 05 фев 2009, 17:05

Ошибка всегда в 17-ой строке.

Зачем говорить, что ты делаешь и что не получается ? Не надо, мы догадаемся сами...

lv151
Сообщения: 24
Зарегистрирован: 04 фев 2009, 19:54

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение lv151 » 05 фев 2009, 17:12

hvlad писал(а):Ошибка всегда в 17-ой строке.
?

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение WildSery » 05 фев 2009, 19:59

lv151 писал(а):?
Телепаты в отпуске, тебе говорят.
Из твоих кусочков мы не понимаем, чего ты делаешь, и какая где ошибка.

lv151
Сообщения: 24
Зарегистрирован: 04 фев 2009, 19:54

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение lv151 » 06 фев 2009, 09:36

Код: Выделить всё

CREATE PROCEDURE proc 
RETURNS (
    v INTEGER)
AS
begin
   IF ('b' SIMILAR TO ('[a-z]')) THEN
      v = 1;
   ELSE
      v = 2;
      
   SUSPEND;
end
Иногда v = 1(несколько раз запустить процедуру без коммита);

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение hvlad » 06 фев 2009, 10:28

SQL> set term ^;
SQL> CREATE PROCEDURE proc RETURNS (v INTEGER)
CON> AS BEGIN
CON> IF ('b' SIMILAR TO ('[a-z]')) THEN v = 1; ELSE v = 2;
CON> SUSPEND;
CON> END^
SQL>
SQL> SELECT * FROM PROC;
CON> ^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> SELECT * FROM PROC^

V
============
1

SQL> EXECUTE PROCEDURE PROC^

V
============
1

SQL> EXECUTE PROCEDURE PROC^

V
============
1

SQL> EXECUTE PROCEDURE PROC^

V
============
1

SQL> EXECUTE PROCEDURE PROC^

V
============
1

SQL> EXECUTE PROCEDURE PROC^

V
============
1

SQL> commit^
SQL> EXECUTE BLOCK AS
CON> DECLARE I INT = 1000;
CON> DECLARE V INT;
CON> BEGIN
CON> WHILE (I > 0) DO BEGIN I = I - 1; SELECT V FROM PROC INTO :V;
CON> IF (V <> 1) THEN V = 1/0;
CON> END
CON> END^
SQL>
SQL> exit^

lv151
Сообщения: 24
Зарегистрирован: 04 фев 2009, 19:54

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение lv151 » 06 фев 2009, 11:12

  • SQL> SELECT * FROM PROC;

    V
    ============
    1

    SQL> SELECT * FROM PROC;

    V
    ============
    1

    SQL> SELECT * FROM PROC;

    V
    ============
    2
Какая у Вас кодировка?
Последний раз редактировалось lv151 06 фев 2009, 11:29, всего редактировалось 2 раза.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение kdv » 06 фев 2009, 11:18

Какая у Вас кодировка?
а у Вас? проблема то у Вас, так что потрудитесь сообщить больше подробностей.

lv151
Сообщения: 24
Зарегистрирован: 04 фев 2009, 19:54

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение lv151 » 06 фев 2009, 11:18

WIN1251 :)

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение hvlad » 06 фев 2009, 11:50

Ты пробовал текущий снапшот ?

Кто-нибудь ещё может это воспроизвести ?

lv151
Сообщения: 24
Зарегистрирован: 04 фев 2009, 19:54

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение lv151 » 06 фев 2009, 11:59

2009-02-05 02:18:48 Firebird-2.5.0.22652-0_Win32.zip 8 MB - у меня этот.
Из ситуации вышел перечислением [0,1,2,3,4,5,6,7,8,9],[a,b,c] - так всё ок.
WinXP-2002-SP3-RUS

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение hvlad » 06 фев 2009, 12:41

lv151 писал(а):Из ситуации вышел перечислением [0,1,2,3,4,5,6,7,8,9],[a,b,c] - так всё ок.
Нет никакой ситуации

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение hvlad » 06 фев 2009, 12:54

На RELEASE билде таки есть проблема. Я до этого всё время прверял DEBUG...

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение hvlad » 06 фев 2009, 13:05

Отслеживай CORE-2308 в трекере

lv151
Сообщения: 24
Зарегистрирован: 04 фев 2009, 19:54

Re: Firebird-2.5.0.22533-0, SIMILAR TO

Сообщение lv151 » 06 фев 2009, 13:13

OK.
Спасибо за помощь!

P.S.
hvlad писал(а):
lv151 писал(а):Из ситуации вышел перечислением [0,1,2,3,4,5,6,7,8,9],[a,b,c] - так всё ок.
Нет никакой ситуации
Я имел ввиду [0,1,2,3,4,5,6,7,8,9] - [0-9] ИЛИ [a,b,c, ...] - [a-z]. Диапазоны заменил перечислениями.

Ответить