Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.09;
Скачать: CL | DM;

Вниз

Обнуление генератора в InterBase   Найти похожие ветки 

 
ruslan_as ©   (2003-09-20 09:57) [0]

Как правильно программно обнуляется счетчик генератора?

Я пытаюсь сделать так:
DM.IBQUPDATE.SQL.Clear;
DM.IBQUPDATE.SQL.Add("SET GENERATOR IDTMP TO 0");
DM.IBQUPDATE.ExecSQL;

Не ругается, но и не обнуляет.

Пытаюсь сделать так:
DM.IBQTMP.GeneratorField.IncrementBy:=0;
Тоже не срабатывает.


 
stud ©   (2003-09-20 10:27) [1]

а использовать для этого ibsql не пробовал?


 
Sergey_Masloff   (2003-09-20 10:55) [2]

ruslan_as ©
да все правильно вроде делаешь. Транзакцию подтверди и наслаждайся.


 
jack128 ©   (2003-09-20 11:10) [3]


> да все правильно вроде делаешь. Транзакцию подтверди и наслаждайся

Вообще я думал, что генераторы вне контекста транзакций работают?
Или это только gen_id() касается???
В любом случае второй вариант gen_id(gen_name,-gen_id(gen_name,0));


 
Sergey_Masloff   (2003-09-20 12:34) [4]

jack128 © (20.09.03 11:10) [3]

>> да все правильно вроде делаешь. Транзакцию подтверди и наслаждайся

>Вообще я думал, что генераторы вне контекста транзакций работают?

Ну да. Только манипуляции генераторами это DDL и как любой DDL требует подтверждения транзакции в которой проведен.


 
jack128 ©   (2003-09-20 13:41) [5]


> Ну да. Только манипуляции генераторами это DDL и как любой
> DDL требует подтверждения транзакции в которой проведен.

Сейчас следственный эксперемент провел. Генератору абсолютно пофигу подтвердил ты транзакцию, ролбэкнул или вообще не завершил. Он УЖЕ изменил свое значение, так что и в этой и любой другой транзакции будет использоваться его новое значение...


 
Zacho ©   (2003-09-20 14:55) [6]


> jack128 © (20.09.03 13:41) [5]

А эксперимент был с GEN_ID или с SET GENERATOR ?
GEN_ID - DML, SET GENERATOR - DDL.


 
jack128 ©   (2003-09-20 18:54) [7]

с set generator. В IBExpert"е проводился эксперемент. В одном окне скуль едитора set generator gen_address_id to 1 (текущ. значение было 0) в другом select gen_id(gen_address_id) from rdb$database


 
Sergey_Masloff   (2003-09-21 14:03) [8]

Zacho ©, (20.09.03 14:55) [6]
jack128 © (20.09.03 13:41) [5]

Да, похоже на то. В смысле меняется без транзакции. Я сначала думал что в IBExperte стоит в начтройка что-то вроде AutoCommitDDL, тем более что-то он коммитит автоматом (видно через SQL Monitor) но не из эксперта результат тот же.



Страницы: 1 вся ветка

Текущий архив: 2003.10.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
9-27292
R2D2
2003-04-04 11:29
2003.10.09
GLScene - Запись AVI файла.


1-27515
bss
2003-09-30 11:09
2003.10.09
Как определить кем из пользователей блокируется файл


14-27692
Johnny Smith
2003-09-22 14:20
2003.10.09
Нарыл в локалке Терминатора - 3. Это же БРЕДДДДДДД!


1-27461
Andrey Voznesenskiy
2003-09-27 13:27
2003.10.09
MDi и Child


8-27609
VLoB
2003-06-05 01:38
2003.10.09
Прозрачность в DirectDraw