Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / backup: expression evaluation not supported. Value exceeds the range for valid dates / 15 сообщений из 15, страница 1 из 1
19.02.2019, 15:44
    #39776243
dedRasta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
Сегодня при бекапе получил subj.:

expression evaluation not supported. Value exceeds the range for valid dates

Ошибка вылезает на очень простой таблице:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE T_OFED_JOB (
    OFED_JOB_ID   D_INTKEY /* D_INTKEY = INTEGER NOT NULL */,
    OFED_JOBKOD   D_VARCHAR50 NOT NULL /* D_VARCHAR50 = VARCHAR(50) */,
    OFED_JOBNAME  D_VARCHAR_255 NOT NULL /* D_VARCHAR_255 = VARCHAR(255) */,
    OKPDTR        D_VARCHAR50 /* D_VARCHAR50 = VARCHAR(50) */,
    DATE_IN       D_DATE /* D_DATE = DATE */,
    OFED_DEP_ID   D_INTEGER /* D_INTEGER = INTEGER */
);


ALTER TABLE T_OFED_JOB ADD CONSTRAINT PK_T_OFED_JOB PRIMARY KEY (OFED_JOB_ID);



Попробовал сделать запрос в isql:
Код: plsql
1.
select * from T_OFED_JOB 


- получаю ту же ошибку.

Делаю там же так:
Код: plsql
1.
select * from T_OFED_JOB order by OFED_JOB_ID  



- все читается нормально.

Индекса по дате, который мог бы испортиться - нет.

Так что не знаю, что и думать.

Firebird 2.5 (26351), на Windows, суперсервер.
...
Рейтинг: 0 / 0
19.02.2019, 16:02
    #39776259
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
скорее всего у тебя каких-то строк просто нет в индексе

Код: sql
1.
2.
3.
4.
5.
select * from T_OFED_JOB order by OFED_JOB_ID + 0;

select count(*) from T_OFED_JOB ; 
select count(*) from T_OFED_JOB order by OFED_JOB_ID ;
select count(*) from T_OFED_JOB order by OFED_JOB_ID + 0 ;
...
Рейтинг: 0 / 0
19.02.2019, 16:04
    #39776261
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
dedRastaFirebird 2.5 (26351), на Windows, суперсервер.

google: 26351 firebird

Firebird: Firebird 2.5.1
www.firebirdsql.org/en/firebird-2-5-1/?‎
4 Oct 2011 ... October 04, 2011, FirebirdCS- 2.5.1-26351 -i386.pkg.zip

ах вот оно чё!

ну тогда конечно, тогда куда уж
...
Рейтинг: 0 / 0
20.02.2019, 13:13
    #39776704
dedRasta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
Ariochскорее всего у тебя каких-то строк просто нет в индексе

Код: sql
1.
2.
3.
4.
select * from T_OFED_JOB order by OFED_JOB_ID + 0;
select count(*) from T_OFED_JOB ; 
select count(*) from T_OFED_JOB order by OFED_JOB_ID ;
select count(*) from T_OFED_JOB order by OFED_JOB_ID + 0 ;


Спасибо! В конце работы самому пришло в голову это посмотреть. Только последние два из приведенных выше запросов не работают - что-то с агрегатами.

А сегодня урвал у сетевиков firebird.log и воочию увидел, что приключилось:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
IDK (Server)	Tue Feb 19 16:21:20 2019
	Database: IS_IDK
	Index 1 is corrupt (missing entries) in table T_OFED_JOB (196)

IDK (Server)	Tue Feb 19 16:21:22 2019
	Database: IS_IDK
	Relation has 484 orphan backversions (0 in use) in table F_IDK (209)


Решил, что ремонтник из меня никакой, накатил последний бекап и запросами из битой БД его актуализировал - благо фактически пострадала только одна таблица, у второй, не смотря на страшный диагноз, проблем не обнаружилось.
...
Рейтинг: 0 / 0
20.02.2019, 14:46
    #39776763
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
dedRastaнакатил последний бекап
зачем??? нужно было поломанным индексам сделать alter index active. Предварительно обновившись до 2.5.8. Или даже не обновившись.
А так - потерял данные с момента последнего бэкапа, просто потому что "так захотелось".
...
Рейтинг: 0 / 0
20.02.2019, 14:47
    #39776764
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
dedRasta,

достаточно было перестроить Index 1 in table T_OFED_JOB.

И, конечно же, использовать 2.5.1 - это безобразие
...
Рейтинг: 0 / 0
21.02.2019, 16:23
    #39777421
dedRasta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
kdvdedRastaнакатил последний бекап
зачем??? нужно было поломанным индексам сделать alter index active. Предварительно обновившись до 2.5.8. Или даже не обновившись.
А так - потерял данные с момента последнего бэкапа, просто потому что "так захотелось".
Виноват, нервы...
За науку спасибо. Сегодня препарировал битую тушку. Все получилось, как сказали,
только при попытке обновления индекса вылезло:
Код: plsql
1.
2.
violation of PRIMARY or UNIQUE KEY constraint "PK_T_OFED_JOB" on table "T_OFED_JOB".
Problematic key value is ("OFED_JOB_ID" = 3570).


Далее:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
delete from T_OFED_JOB where t_ofed_job.OFED_JOB_ID = 3570

185 records deleted

backup/restore 

IBE: Validation completed, no errors found



В понедельник пойду на поклон к сетевикам FB обновлять.

Еще раз спасибо.
...
Рейтинг: 0 / 0
21.02.2019, 20:51
    #39777602
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
dedRasta,

хорошая программа - при отсутствии ПК нагенерила 185 записей с одним идентификатором.
...
Рейтинг: 0 / 0
21.02.2019, 21:24
    #39777616
dedRasta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
kdvdedRasta,
...при отсутствии ПК нагенерила 185 записей с одним идентификатором.
Дык, был ПК, об чем и ошибка при попытке обновления индекса по этому ПК вылезла.
Непонятно, почему она не вылезла, когда эти записи писались.
...
Рейтинг: 0 / 0
21.02.2019, 21:41
    #39777625
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
dedRasta,

ПК предотвращает вставку одинаковых значений. ПК был поломан (индекс по ПК). Вставилось 185 одинаковых значений.
Вопрос - как так написана программа, что она втыкает одинаковые значения в ПК при его нерабочем состоянии.
Нет генератора? Долбит какое-то последнее значение, а по ошибке нарушения ПК делает инкремент, пока запись не вставится?
Я и говорю - хорошая программа.
...
Рейтинг: 0 / 0
22.02.2019, 14:11
    #39777930
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
dedRasta,

мне вот интересно, ты воообще о Firebird что-то читаешь?
ну вот например Release Notes ?

после 2.5.1 выходило ещё 8 версий ЕМНИП (включая security hotfix)

и в RelNotes к каждой было сказано про возможный п-ц с индексами в 2.5.1

Вот - как можно было себе геморрой привезти?
...
Рейтинг: 0 / 0
22.02.2019, 14:15
    #39777933
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
kdvДолбит какое-то последнее значение, а по ошибке нарушения ПК делает инкремент, пока запись не вставится?

insert into ....... values ( ..., ..., ..., select max(id) + 1 from ...)

если индекс убит и почему-то последнее значение не видит хоть обвставляйся - то вот тебе и 185 записей
...
Рейтинг: 0 / 0
22.02.2019, 18:37
    #39778109
dedRasta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
AriochdedRasta,
Вот - как можно было себе геморрой привезти?
Виноват, расслабился... Работает и работает.
Ariochмне вот интересно, ты воообще о Firebird что-то читаешь?
ну вот например Release Notes ?
после 2.5.1 выходило ещё 8 версий ЕМНИП (включая security hotfix)
и в RelNotes к каждой было сказано про возможный п-ц с индексами в 2.5.1

Читаю, но вот это проглядел, потому сейчас и рву себе волосы э-э-э на спине.

А вообще posthumously дело выглядит так.
Генератор и триггер были и до этого работали.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
CREATE GENERATOR GEN_T_OFED_JOB_ID;

CREATE TABLE T_OFED_JOB (
    OFED_JOB_ID   D_INTKEY /* D_INTKEY = INTEGER NOT NULL */,
    OFED_JOBKOD   D_VARCHAR50 NOT NULL /* D_VARCHAR50 = VARCHAR(50) */,
    OFED_JOBNAME  D_VARCHAR_255 NOT NULL /* D_VARCHAR_255 = VARCHAR(255) */,
    OKPDTR        D_VARCHAR50 /* D_VARCHAR50 = VARCHAR(50) */,
    DATE_IN       D_DATE /* D_DATE = DATE */,
    OFED_DEP_ID   D_INTEGER /* D_INTEGER = INTEGER */
);

ALTER TABLE T_OFED_JOB ADD CONSTRAINT PK_T_OFED_JOB PRIMARY KEY (OFED_JOB_ID);

/* Trigger: T_OFED_JOB_BI */
CREATE OR ALTER TRIGGER T_OFED_JOB_BI FOR T_OFED_JOB
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.ofed_job_id is null) then
    new.ofed_job_id = gen_id(gen_t_ofed_job_id,1);
enв



На запись к этой таблице обращаюсь раз в месяц, когда приходят обновления справочника в Excel.
Excel импортирую с помощью IbExpert'а во временную таблицу и из нее скриптом обновляю справочник:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
    update or insert into t_ofed_job
    (
    OFED_jobKOD,
    OKPDTR,
    OFED_jobNAME,
    ofed_dep_id
    )
    values (
      :jobKOD,
      :okpdtr,
      :jobNAME,
      :OFED_DEP_ID
    )
    matching (
      OFED_jobKOD,
      OKPDTR,
      OFED_jobNAME,
      ofed_dep_id
    )


Последний раз скрипт пыхтел долго - минут 10 - но таки закончился вроде без ошибки.
Когда сейчас стал смотреть, в Excel оказалось две строки мусора.
...
Рейтинг: 0 / 0
22.02.2019, 20:06
    #39778128
Старый плюшевый мишка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
dedRastaГенератор и триггер были и до этого работали.
[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
27.02.2019, 11:47
    #39779673
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup: expression evaluation not supported. Value exceeds the range for valid dates
Старый плюшевый мишка,

....либо там у них где-то есть требование "правильной нумерации, т.е. без дырок" и соотв. есть код, который номера сдвигает. А в нём что-то типа select min(id) where id > :last_processed_id
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / backup: expression evaluation not supported. Value exceeds the range for valid dates / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]