Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 9.0.2. 2451 Сломался автоинкремент... / 14 сообщений из 14, страница 1 из 1
22.06.2007, 16:38
    #34614323
ASA 9.0.2. 2451 Сломался автоинкремент...
Никто не знает как лечить?

История болезни
База заглючила - падала при отладке в случае ошибок в запросах вместо выдачи вразумительной диагностики - была перестроена

Падать перестала но сломался автоинкремент по набору таблиц
например:

Имеем таблу

CREATE TABLE "DBA"."WARE" (
"WARE_ID" unsigned bigint NOT NULL DEFAULT global autoincrement(1000000) UNIQUE,
...
PRIMARY KEY ( "WARE_ID" )
);



Global_database_id =0


SELECT max(ware_id) FROM "DBA"."WARE" = 27944

Insert ...

получаем


"WARE_ID" = 1,2,3

По документации должна вставлять больше любого существующего

On inserts into the table, if a value is not specified for the AUTOINCREMENT column, a unique value larger than any other value in the column is generated. If an INSERT specifies a value for the column, it is used; if the specified value is larger than the current maximum value for the column, that value will be used as a starting point for subsequent inserts.


Если удалить default value и создать заново то работает но все таблы не хочется вручную лечить.

Спасибо.
...
Рейтинг: 0 / 0
22.06.2007, 17:44
    #34614506
Sergey Orlov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
The following statement resets the identity value to 101:

CALL sa_reset_identity ('employee', 'dba', 100)
...
Рейтинг: 0 / 0
22.06.2007, 18:04
    #34614572
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
Ненавижу автоинкрименты. Просто ненавижу...
С ними намного больше проблем чем удобств.

---
http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
22.06.2007, 18:09
    #34614587
Ser4g
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
White OwlНенавижу автоинкрименты. Просто ненавижу...
С ними намного больше проблем чем удобств.


А как выкручиваетесь?
Ставите триггера на таблицу, или вешаете на клиента проверку целостности или ....?
...
Рейтинг: 0 / 0
22.06.2007, 18:12
    #34614598
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
Ser4gА как выкручиваетесь?
Ставите триггера на таблицу, или вешаете на клиента проверку целостности или ....?Не понял вопроса. Из чего выкручиваюсь?
...
Рейтинг: 0 / 0
22.06.2007, 18:16
    #34614612
Ser4g
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
Ну, я так понял (мож не правильно), что не используете автоинкременты.
...
Рейтинг: 0 / 0
22.06.2007, 18:20
    #34614624
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
Ser4gНу, я так понял (мож не правильно), что не используете автоинкременты.Стараюсь не использовать. Приходится, потому когда вожусь со старыми таблицами создаными не мной. А я сам никогда не создаю таблицы с автоинкриментом. Предпочитаю натуральные ключи.
...
Рейтинг: 0 / 0
22.06.2007, 18:50
    #34614698
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
вот и практические подтверждение спора с ASCRUS :)
автоинкремент - зло (в репликациях точно)
id char(36) uuidtostr(newid()) - самое то! :) (имхо, конечно)
...
Рейтинг: 0 / 0
22.06.2007, 19:22
    #34614754
ASA 9.0.2. 2451 Сломался автоинкремент...
Автоинкремент это плохо, очень плохо
Обычно я делаю счетчики со своими пулами, проверками и тд
Типа "GetCount"(@table, @field)


Но приходится работать с тем что дали


ТЕ базу глобально вылечить нельзя?
...
Рейтинг: 0 / 0
22.06.2007, 21:16
    #34614909
Марсель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
в faq есть процедура ASCRUS/rcryo для лечения такого
...
Рейтинг: 0 / 0
23.06.2007, 13:05
    #34615227
PaulJB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
Рыжий котвот и практические подтверждение спора с ASCRUS :)
автоинкремент - зло (в репликациях точно)
id char(36) uuidtostr(newid()) - самое то! :) (имхо, конечно)

Позволю себе не согласиться.
На протяжении 7 лет, начиная с 5 версии ни одного глюка с автоинкрементом не наблюдалось.
Система репликаций работает как часы ( пока :) ).
Я применяю в первичном ключе связку полей со значениями по умолчанию ID (autoincrement)+cPublisher (current publisher). Эта комбинация никогда не подводила.
Правда было одно неудобство - применение двух полей в идентификаторе записи, но с появлением computed эта проблема исчезла. Мало того - я знаю от какой базы пришла запись.
Меня берет сомнение: а вдруг на разных машинах uuidtostr(newid()) сгенерится одинаковым и что по этому поводу скажет DbRemote ? ;)

Судя из сообщения автора у него глючит именно global autoincrement а не просто autoincrement.
Они базу перестроили и соответственно таблица-генератор обнулилась.
Sergey Orlov предложил выход из положения.
...
Рейтинг: 0 / 0
23.06.2007, 15:23
    #34615343
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
PaulJBМеня берет сомнение: а вдруг на разных машинах uuidtostr(newid()) сгенерится одинаковым и что по этому поводу скажет DbRemote ? ;)

что равносильно тому, как если бы вы угадали id cессии, под которой я работаю на sql.ru ;)

демон, ищущий слово skipped в логе, не даст проморгать
...
Рейтинг: 0 / 0
23.06.2007, 15:25
    #34615344
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
в догонку: Lotus Notes почему-то использует для репликации именно uuid, к чему бы это?
...
Рейтинг: 0 / 0
25.06.2007, 11:39
    #34616804
PaulJB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 9.0.2. 2451 Сломался автоинкремент...
2 Рыжий кот
Спорить не буду. Каждый делает так, как считает нужным.
Ведь в нашей работе главное - результат. Уникальность ПК обеспечена - значит гут :)
Просто "мой" метод к обеспечению уникальности ПК еще дополнительно несет информацию о записи, которая иногда ой-как помогает.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 9.0.2. 2451 Сломался автоинкремент... / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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