Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Исчезающая запись / 7 сообщений из 7, страница 1 из 1
27.07.2015, 18:25
    #39017058
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исчезающая запись
Сервер IB XE3.
Server Version: WI-V11.0.2.540
Server Implementation: InterBase/x64/Windows
Service Version: 2

Делаю запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT
  ets."ID",
  ets."DATE_TIME"
FROM
  exec_tasks ets
WHERE
  ets."ID" = 11326

получаю запись
IDDATE_TIME1132627.07.2015 18:03:34
делаю такой запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT
  ets."ID",
  ets."DATE_TIME"
FROM
  exec_tasks ets
WHERE
  ets."DATE_TIME" >= '2015-07-27 17:00:00'

записи нет

делаю такой запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT
  ets."ID",
  ets."DATE_TIME"
FROM
  exec_tasks ets
WHERE
  ets."DATE_TIME" = (SELECT ets2."DATE_TIME" FROM exec_tasks ets2 WHERE ets2."ID" = 11326)

записи нет.

Делаю Backup/Restore - запись появляется.

DDL
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
CREATE TABLE EXEC_TASKS (
    ID              DM_IDENTY_PK NOT NULL /* DM_IDENTY_PK = INTEGER NOT NULL */,
    SYS_ID          DM_IDENTY_FK_SMALL NOT NULL /* DM_IDENTY_FK_SMALL = SMALLINT DEFAULT NULL */,
    DATE_TIME       DM_TIMESTAMP /* DM_TIMESTAMP = TIMESTAMP DEFAULT NULL */,
    ......................
);


/******************************************************************************/
/***                              Primary Keys                              ***/
/******************************************************************************/

ALTER TABLE EXEC_TASKS ADD CONSTRAINT PK_EXEC_TASKS PRIMARY KEY (ID, SYS_ID);


/******************************************************************************/
/***                              Foreign Keys                              ***/
/******************************************************************************/

.............

/******************************************************************************/
/***                                Indices                                 ***/
/******************************************************************************/

CREATE INDEX IDX_EXC_TSKS_PROCESS ON EXEC_TASKS (PROCESS_STATUS);
CREATE INDEX IDX_EXC_TSKS_PST_POS ON EXEC_TASKS (PRIORITY, POST_POSITION, "POSITION");
CREATE INDEX IDX_EXC_TSKS_START_TIME ON EXEC_TASKS (DATE_TIME);
CREATE INDEX IDX_EXC_TSKS_STATUS ON EXEC_TASKS (STATUS);
CREATE INDEX IDX_EXC_TSKS_STOP_TIME ON EXEC_TASKS (STOP_TIME);


Само поле меняется в триггере
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE TRIGGER TR_EXC_TSK_BU20_DEF FOR EXEC_TASKS
ACTIVE BEFORE UPDATE POSITION 20
AS
BEGIN
  IF ((OLD."STATUS" <> NEW."STATUS") AND (OLD."STATUS" = 1)) THEN  /* etsStarted */
    IF ((NEW."DATE_TIME" IS NOT NULL) AND (NEW."EXEC_DURATION" IS NOT NULL)) THEN
      NEW."STOP_TIME" = dt_inc_second(NEW."DATE_TIME", NEW."EXEC_DURATION");
    ELSE
      NEW."STOP_TIME" = NULL;

  IF ((NEW."PROCESS_STATUS" = 3) AND (COALESCE(OLD."PROCESS_STATUS", 0) <> 3)) THEN BEGIN  /* psError */
    NEW."STATUS" = 2;  /* etsReseted */
    NEW."DATE_TIME" = 'NOW';
  END
END

OLD."DATE_TIME" = NULL;

Пересчет статистики по индексам таблицы картины не меняет

Что это за барабашка?

С уважением, Vasilisk
...
Рейтинг: 0 / 0
27.07.2015, 18:30
    #39017062
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исчезающая запись
индекс IDX_EXC_TSKS_START_TIME битый? Валидацию gfix-ом делал?
...
Рейтинг: 0 / 0
27.07.2015, 18:33
    #39017065
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исчезающая запись
_Vasilisk_,

1. если ты запросом по столбцу с индексом то видишь, то не видишь данные - значит или индекс битый, или это баг, связанный с индексом. В таких случаях обычно просят повторить те же запросы с +0 или выключенным индексом.
2. во всех readme для ИБ есть описание багфиксов

_Vasilisk_Server Version: WI-V11.0.2.540
такой версии даже нет. есть Update 2 Hotfix 1, который 11.0.2.541.
http://www.ibase.ru/devinfo/allversions.htm

http://docs.embarcadero.com/products/interbase/IBXE3Update3/Readme.html#new00E
например, чем не подходит первая же строка?
...
Рейтинг: 0 / 0
27.07.2015, 18:35
    #39017067
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исчезающая запись
[sql]SELECT
ets."ID",
ets."DATE_TIME"
FROM
exec_tasks ets
WHERE
ets."DATE_TIME" + 0 >= '2015-07-27 17:00:00'[/sql]
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.07.2015, 18:36
    #39017069
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исчезающая запись
_Vasilisk_Пересчет статистики по индексам таблицы картины не меняет
ух, ох... Конечно, пересчет статистики картины не поменяет. Потому что статистика по индексам нужна оптимизатору - использовать индекс, или нет. А если индекс битый, или это баг, то сколько статистику ни пересчитывай - ничего не поменятся.
...
Рейтинг: 0 / 0
27.07.2015, 18:52
    #39017085
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исчезающая запись
kdv_Vasilisk_Server Version: WI-V11.0.2.540
такой версии даже нетCopy Paste c IBExpert
kdvнапример, чем не подходит первая же строка?Похоже. По крайней мере после деактивации/активации индекса запись появилась
...
Рейтинг: 0 / 0
27.07.2015, 19:14
    #39017102
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исчезающая запись
kdv http://docs.embarcadero.com/products/interbase/IBXE3Update3/Readme.html#new00E
например, чем не подходит первая же строка?Да. Рассосалось. Спасибо большое
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Исчезающая запись / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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