powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
25 сообщений из 78, страница 3 из 4
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268397
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devБаза данных, при открытии первого соединения, должна инициализировать глобальные временные таблицы и пользовательские контекстные переменные, а остальные подключения должны ожидать, пока первое подключение не завершит необходимые действия.

Какой смысл? Данные GTT и контекстные переменные не шарятся между коннектами.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268400
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКакой смысл? Данные GTT и контекстные переменные не шарятся между коннектами.Почему-то сейчас очень захотелось выматериться. То ли из-за того, что забыл/упустил из виду этот момент, то ли из-за того, что ФБ не имеет глобальных временных таблиц, данные из которых можно использовать в разных соединениях. У меня были виды на эту фичу...
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268402
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

Это можно сделать и сейчас. Например, хранимая ф-ция в 3.0 + udf, в к-рой 2 ф-ции: WaitFor и ReleaseMutex. Ну и между ними твое gen_id.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268403
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock, пока что не планируется переход на тройку.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268415
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

Ну, какие проблемы? Селективная процедура - не так удобно и наглядно, но использовать можно для этих же целей при желании. Или просто с returning_values.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268483
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockudf, в к-рой 2 ф-ции: WaitFor и ReleaseMutex. Ну и между ними твое gen_id.Да, ты прав! Гораздо проще это сделать самому парой маленьких UDF'ок. Можно даже вести собственный регистр именованных lock объектов для атомарных функций, чтобы не увеличивать накладные расходы на мьютексы. Вот только с триггерами commit/rollback заморочек отхвачу.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268611
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockЭто можно сделать и сейчас. Например, хранимая ф-ция в 3.0 + udf, в к-рой 2 ф-ции: WaitFor и ReleaseMutex.
писали такую фигню и 15 лет назад. Основная проблема - это что делать с заблокированным объектом, если коннект, его заблокировавший, отвалился.
Из той же оперы - пометки в неких таблицах о логине пользователя, и т.д.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268649
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devтранзакция может заблокировать все необходимые генераторы, но не изменять их значения до
момента принятия решения о подтверждении.

А смысл? Повторяю медленно: экономить значения генераторов не имеет смысла.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268655
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Мой ХШ говорит что человек бездырочную нумерацию сделать хочет.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268661
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Симонов Денис!
You wrote on 6 июля 2016 г. 11:59:12:

Симонов Денис> Мой ХШ говорит что человек бездырочную нумерацию сделать хочет.
аполитично рассуждаешь, клянусь, честное слово! не понимаешь политической ситуации! (с)

ТС намерен изменить мир к лучшему.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268696
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> Мой ХШ говорит что человек бездырочную нумерацию сделать хочет.

Это и вообще без генератора можно сделать.
Хотя за ТС не поручусь, конечно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268766
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамХотя за ТС не поручусь, конечно.В каком смысле "не поручусь"? В смысле, что ТСу не известны разные варианты решений бездырочной нумерации вообще без генератора? Как минимум, два варианта.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268789
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev> В смысле, что ТСу не известны разные варианты

В смысле, что ты не возьмешься делать БЕН через лок генератора.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268807
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамВ смысле, что ты не возьмешься делать БЕН через лок генератора.Конкретно БЕН через лок генератора да - теперь уже не возьмусь, Dimitry Sibiryakov меня почти полностью разубедил (если только буду использовать локи генератора через UDF для bulk вставок), но сами объекты блокировок, как таковые, в редких случаях, бывают очень полезны.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268826
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev> сами объекты блокировок

Нет такого понятия в БД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39268920
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамНет такого понятия в БД.Конечно нет. Возможно, сварганю в UDF'ках.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39269116
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисМой ХШ говорит что человек бездырочную нумерацию сделать хочет.
Сделать разные генераторы для разных таблиц - чем плох такой вариант?
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39269119
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvОсновная проблема - это что делать с заблокированным объектом, если коннект, его заблокировавший, отвалился.
Если нет SUSPEND'ов в блоке между wait/release, то отвал клиента не должен к такому приводить, как мне кажется.

Другое дело, зачем строить архитектуру системы, которая заведомо мешает работе СУБД из-за своей бизнес-логики - я не понимаю. Неужели нельзя сделать проще и легче. Слабо верится.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39269126
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockзачем строить архитектуру системы, которая заведомо мешает работе СУБД из-за своей бизнес-логики - я не понимаю. Неужели нельзя сделать проще и легче. Слабо верится.

Ну вот такие они, комсомольцы энти. Сначала создают себе трудности, а потом героически их преодолевают.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39269135
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

Зачем смешивать сущности?

Нужна транзакционность - используйте записи в таблицах. Можно с блокировками на select with lock/update.

Нужна внетранзакционность - используйте генераторы/sequences.
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39270228
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterНу вот такие они, комсомольцы энти. Сначала создают себе трудности, а потом героически их преодолевают.Никаких трудностей, необходимых к преодолению, я себе, пока что, еще не придумал. Лишь обсуждаю варианты преодоления трудностей на случай, если придется. ;)
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39270229
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, подытожив сообщения из двух веток (спасибо за разъяснения), можно с уверенностью сказать, что реализация функционала объектов блокировки своими силами в UDF, по большому счету, не имеет смысла, а реализация этого функционала внутри сервера Firebird имеет смысл лишь с некоторыми оговорками:

1. установку блокировки объекта необходимо производить в отдельной транзакции и до начала основной транзакции, в которой планируется использовать блокировку;
2. освободить объект блокировки могут только транзакции, выполняющиеся в том же контексте, что и транзакция, заблокировавшая объект;
3. блокировка с объекта не должна сниматься автоматически, если транзакция, установившая блокировку, подтвердилась по CommitRataining и контекст транзакции не изменился;
4. блокировка должна сниматься с объекта автоматически в момент очистки контекста транзакции, установившей блокировку на объект (при обычных Commit/Rollback), или же при откате по RollbackRetaining именно той транзакции, что установила эту блокировку;

P.S. Какое-то тех.задание получилось...
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39270266
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

теперь читай про явное резервирование таблиц при старте тр-ции
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39270289
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad, намекаешь на то, что лучше захватывать объекты блокировки таким же способом?
...
Рейтинг: 0 / 0
Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
    #39270386
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

пункт 2 мутный. а так да, Влад прав, похоже на транзакции с блокированием таблиц.

rdb_dev лучше захватывать объекты блокировки таким же
я так понимаю, что у тебя по ТЗ некие объекты блокировки настолько привязаны к транзакциям, что логичнее использовать сами транзакции, которые уже есть, чем какие-то мифические блокировки, которых не будет (скорее всего).
...
Рейтинг: 0 / 0
25 сообщений из 78, страница 3 из 4
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Форумяне, есть желание обсудить необходимость пары новых функций для работы с SEQUENCE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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