powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MySQL и Firebird для Web
25 сообщений из 287, страница 9 из 12
MySQL и Firebird для Web
    #36781251
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
То есть, вот этот какой то бредовый наезд, что из триггера на таблицу эту же таблицу ну никак нельзя модифицировать, я считаю порождением факта о мутирующих таблицах в Оракле, и ничем иным. Для Вас, похоже, авторитет Оракла настолько непререкаем, что Вы даже и усомниться в его функционировании не можете.
Помню, была совершенно идиотская битва с MS SQL-цами, на тему, зачем нужно вообще в одном коннекте стартовать несколько транзакций одновременно, и боже сохрани, иметь в одной транзакции несколько открытых курсоров с возможностью поочередного фетча.
Это просто не укладывалось в их мозгу, потому что этого НЕТ в MS SQL, а значит и НЕ ДОЛЖНО быть ни в какой другой СУБД.
Вы аналогичные мысли пытаетесь проталкивать?

С таким же успехом можно было сказать, что текущую функциональность Firebird благословил Господь, и все кто усомнились в ее праведности, есть еретики. Но этого же нет. С вами пытаются вести дискуссию разработчики Firebird, которые, уверяю, имеют опыт работы как с Ораклом так и с MS SQL, и внимательно изучают в т.ч. и их тонкости функционирования.
Впечатление такое, что Вы находитесь в какой-то иной плоскости, которая сродни религиозному фанатизму. Прошу Вас, разуверьте меня, скажите, что Вам в Oracle нравится не все.
Мне вот, в ФБ действительно нравится не все.

И это Вы мне объясняете про бред и домыслы ???
Успокойтесь, можно модифицировать таблицы из их же триггера. Способ еще в 7 Oracle придумали, если склероз мне не изменил. Просто при этом надо отчетливо понимать, ччто именно ты делаешь, но это ведь Вас не должно пугать ???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781253
protector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)


Ты сделал 8 постов подряд. Нельзя было ответить в одном? Хочешь чтобы и
другие отвечали 1 постом на каждую твою фразу?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781261
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protectorНельзя было ответить в одном?
Ну, ты же знаешь, когда понос подпирает...

Конечно, радует, что хитрые пользователи к седьмой версии нашли лазейку в клетке, которую
для них воздвигли индусы...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781270
protector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Ну, ты же знаешь, когда понос подпирает...

Конечно, радует, что хитрые пользователи к седьмой версии нашли лазейку в
клетке, которую
для них воздвигли индусы...


Какой ты всё таки злой. Будь добрее и люди к тебе потянутся. Я кстати
не знаю что там за лазейка, хотя работал с оракулом 2 года. Мне и в голову
не приходило даже думать о том, чтобы писать в ту-же таблицу в триггере в
оракуле.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781441
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protector

Gluk (Kazan)


Ты сделал 8 постов подряд. Нельзя было ответить в одном? Хочешь чтобы и
другие отвечали 1 постом на каждую твою фразу?



По делу есть что сказать?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781445
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И все равно, я лублу Пг. А вы фсе дауны (да простят меня модераторы).

Вот вам больше нечем заняться, кроме как кидаться содержимым своих ночных горшков?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781449
eBase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)Dimitry Sibiryakov
artemanaпроблемы, вызваные мутацией, неизбежны.

Единственная проблема, вызываемая мутацией, это невозможность обратиться к таблицам из
триггеров. И никакие order by эту проблему обойти не помогут.


Ой, да ну бросьте. Можно к ним обращаться. И писать можно (геморойно правда).
Вот намедни заказчик осчастливил.

1. Имеется таблица, все действия с которой, записывают копию строки в таблицу журнал
2. Записи собираются из основной таблицы и журнальной по union all
3. Выясняется, что записи в журнале тоже можно редактировать (такой вот хитрый заказчик)
4. Куда бы вы думали журналируются изменения журнальных записей ???

Правильно, в ту же журнальную таблицу. Что вы, серьезно думаете, что мутация кого-то остановила ???И что Вы там говорили про бомбу замедленного действия у kdv? Или Вы думаете что Ваша никогда не рванет?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781450
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
protectorНельзя было ответить в одном?
Ну, ты же знаешь, когда понос подпирает...

Конечно, радует, что хитрые пользователи к седьмой версии нашли лазейку в клетке, которую
для них воздвигли индусы...


Вы возможно не в курсе дела :)

1. Тригеры в Oracle нынче писать не принято. Помимо озвученных и неозвученных их ограничений, это еще и удар по производительности
2. Голые DML (а для чего еще триггеры ) из приложений тоже вызывать не принято
3. Все что можно сделать триггерами, еще лучше можно сделать грамотно спроектировав API на ХП (как правило в пакетах, но в данном случае не суть)
4. Проблема с мутациями (как и некоторые другие проблемы) в этом случае не возникает
5. Если кому то (мне например) повезло с тяжким Legacy на триггерах, способ обхода таки известен со времен 7 Oracle (желающие могут погуглить на тему обход мутаций в триггере)

А теперь хотелось бы таки услышать ответ на мегаволнительный вопрос:

Если в FB одна транзакция инсертит-комиттит ровно по 100 записей, а другая считает количество записей при помощи count(*), может ли случиться, что она подсчитает некратное 100 число.
Ответ да меня устроит без объяснений, к ответу нет хотелось бы видеть минимальные комментарии
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781451
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eBaseGluk (Kazan)Dimitry Sibiryakov
artemanaпроблемы, вызваные мутацией, неизбежны.

Единственная проблема, вызываемая мутацией, это невозможность обратиться к таблицам из
триггеров. И никакие order by эту проблему обойти не помогут.


Ой, да ну бросьте. Можно к ним обращаться. И писать можно (геморойно правда).
Вот намедни заказчик осчастливил.

1. Имеется таблица, все действия с которой, записывают копию строки в таблицу журнал
2. Записи собираются из основной таблицы и журнальной по union all
3. Выясняется, что записи в журнале тоже можно редактировать (такой вот хитрый заказчик)
4. Куда бы вы думали журналируются изменения журнальных записей ???

Правильно, в ту же журнальную таблицу. Что вы, серьезно думаете, что мутация кого-то остановила ???И что Вы там говорили про бомбу замедленного действия у kdv? Или Вы думаете что Ваша никогда не рванет?

С чего-б ей рвать-та?
Кто Вам с kdv вообще сказал, что я против записи в таблицу из ее-же триггера???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781453
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
protector

Dimitry Sibiryakov
Ну, ты же знаешь, когда понос подпирает...

Конечно, радует, что хитрые пользователи к седьмой версии нашли лазейку в
клетке, которую
для них воздвигли индусы...


Какой ты всё таки злой. Будь добрее и люди к тебе потянутся. Я кстати
не знаю что там за лазейка, хотя работал с оракулом 2 года. Мне и в голову
не приходило даже думать о том, чтобы писать в ту-же таблицу в триггере в
оракуле.



Ну шо я могу сказать ... фигово ты знаешь Oracle. Этому финту первым делом студентов учат
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781526
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)А теперь хотелось бы таки услышать ответ на мегаволнительный вопрос:А чего это он такой мегаволнительный ?
У вас проблемы ? Хотите поговорить об этом ? (ц)


Gluk (Kazan)Если в FB одна транзакция инсертит-комиттит ровно по 100 записей, а другая считает количество записей при помощи count(*), может ли случиться, что она подсчитает некратное 100 число.
Ответ да меня устроит без объяснений, к ответу нет хотелось бы видеть минимальные комментарииRead-committed - да
Concurrency (оно-же snapshot, оно-же умолчательное) - нет

Волнение снято ? Ну, хотя-бы мега- ? :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781532
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)1. Тригеры в Oracle нынче писать не принято. Помимо озвученных и неозвученных их ограничений, это еще и удар по производительности
2. Голые DML (а для чего еще триггеры ) из приложений тоже вызывать не принято
3. Все что можно сделать триггерами, еще лучше можно сделать грамотно спроектировав API на ХП (как правило в пакетах, но в данном случае не суть)Мгм... наверное я таки не в курсе... но
Почему PL\SQL в случае (1) есть удар по производительности, а в случае (3) - не удар ?

PS Я тоже сторонник работы только через процедуры
PPS (3) в общем случае неверно, но не хотелось бы устраивать очередной спор ещё и по этому поводу
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781585
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
PS Я тоже сторонник работы только через процедуры

Но триггера тоже типа процедуры. И если нужно, чтобы процедура вызывалась на события в БД, то что делают сторонники процедур?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781587
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfohvlad
PS Я тоже сторонник работы только через процедуры

Но триггера тоже типа процедуры. И если нужно, чтобы процедура вызывалась на события в БД, то что делают сторонники процедур?Задайте тот вопрос, который вы хотели задать.
Ибо отвечать сразу на несколько вариантов вашего истинного вопроса мне как-то лень...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781595
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladGluk (Kazan)1. Тригеры в Oracle нынче писать не принято. Помимо озвученных и неозвученных их ограничений, это еще и удар по производительности
2. Голые DML (а для чего еще триггеры ) из приложений тоже вызывать не принято
3. Все что можно сделать триггерами, еще лучше можно сделать грамотно спроектировав API на ХП (как правило в пакетах, но в данном случае не суть)Мгм... наверное я таки не в курсе... но
Почему PL\SQL в случае (1) есть удар по производительности, а в случае (3) - не удар ?

PS Я тоже сторонник работы только через процедуры
PPS (3) в общем случае неверно, но не хотелось бы устраивать очередной спор ещё и по этому поводу

Ну к примеру возьмем журналирование изменений по update-у (пример чисто иллюстративный)

1 вариант (традиционный):

Из приложения update-им много строк, каждая из которых активирует триггер, переключая SQL в PL/SQL. В триггере, в свою очередь идет insert, переключая PL/SQL в SQL

2 вариант:

Из хранимки дергаем два DML-я. Первым update-им строки, вторым вставляем изменения в лог.
Всего имеем два переключения PL/SQL в SQL. Независимо от количества изменяемых строк.

Менее умозрительный пример:

Выносим нафих все триггеры, генерирующие PK в те места в ХП, в которых собственно выполняем вставку. В случае если insert-ится большое количество записей, получаем нефиговый выхлоп по производительности :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781601
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Concurrency (оно-же snapshot, оно-же умолчательное) - нет

Волнение снято ? Ну, хотя-бы мега- ? :)

Честно говоря не очень :(
Т.е. в случае snapshot мы можем видеть изменения сторонних транзакций не атомарными ??? o O
Т.е. в принципе в примере с переводом денег (из букваря) теоретически есть возможность увидеть переводимую сумму сразу на двух счетах или ни на одном ???
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781610
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)hvlad
Concurrency (оно-же snapshot, оно-же умолчательное) - нет

Волнение снято ? Ну, хотя-бы мега- ? :)

Честно говоря не очень :(
Т.е. в случае snapshot мы можем видеть изменения сторонних транзакций не атомарными ??? o O
Т.е. в принципе в примере с переводом денег (из букваря) теоретически есть возможность увидеть переводимую сумму сразу на двух счетах или ни на одном ???

Sorry, в Read Committed конечно
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781623
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfohvlad
PS Я тоже сторонник работы только через процедуры

Но триггера тоже типа процедуры. И если нужно, чтобы процедура вызывалась на события в БД, то что делают сторонники процедур?

Сторонники процедур не открывают DML напрямую.
Некоторые сторонники не открывают даже select (но я к ним не отношусь)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781631
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Ну к примеру возьмем журналирование изменений по update-у (пример чисто иллюстративный)

1 вариант (традиционный):

Из приложения update-им много строк, каждая из которых активирует триггер, переключая SQL в PL/SQL. В триггере, в свою очередь идет insert, переключая PL/SQL в SQL

2 вариант:

Из хранимки дергаем два DML-я. Первым update-им строки, вторым вставляем изменения в лог.
Всего имеем два переключения PL/SQL в SQL. Независимо от количества изменяемых строк.Примеры не совсем равноценны. В первом варианте row-level триггеры, во-втором statement-level, так сказать.
Если бы в ORACLE были аналоги таблиц inserted\deleted из T-SQL (а может уже есть ?), то первый вариант можно было бы переписать с их использованием,
чтобы добиться более полной аналогии со-вторым.


Gluk (Kazan)Менее умозрительный пример:

Выносим нафих все триггеры, генерирующие PK в те места в ХП, в которых собственно выполняем вставку. В случае если insert-ится большое количество записей, получаем нефиговый выхлоп по производительности :)Спасибо.

Для себя я вижу тут два основных вывода:
а) переключение PL\SQL <-> SQL имеет место быть и стоит не дёшево, поэтому принято экономить на таких переключениях
б) в Firebird эта проблема стоит гораздо менее остро, т.к. нет таких переключений. Есть только обычные затраты на вызов PSQL процедуры\тригера
(передача параметров и т.п.)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781679
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЗадайте тот вопрос, который вы хотели задать.
Ибо отвечать сразу на несколько вариантов вашего истинного вопроса мне как-то лень...
Ну судя по этому ответу, я думау, что не зря скетически относился к идеям быть сторонником чего-либо подобного типа процедурам: наверное, от этого должно ломать.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781699
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Сторонники процедур не открывают DML напрямую.
Некоторые сторонники не открывают даже select (но я к ним не отношусь)
Не совсем понял. Я думал из контекста предыдущего процедуры противопоставляются триггерам. Но мож я не все прочитал? А как стронники процедур получают доступ к данным, и как их модифицируют?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781704
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Gluk (Kazan)hvlad
Concurrency (оно-же snapshot, оно-же умолчательное) - нет

Волнение снято ? Ну, хотя-бы мега- ? :)

Честно говоря не очень :(
Т.е. в случае snapshot мы можем видеть изменения сторонних транзакций не атомарными ??? o O
Т.е. в принципе в примере с переводом денег (из букваря) теоретически есть возможность увидеть переводимую сумму сразу на двух счетах или ни на одном ???

Sorry, в Read Committed конечноА кто же переводит деньги в read-committed ? Это из того-же букваря :)

Слово "атомарность" выше было употреблено не по назначению. Правильнее говорить о statement-level consistency.
Кстати, в стандарте я этого термина не нашёл. Но, так как он уже неоднократно употреблялся здесь, я надеюсь у нас не будет разночтений в его интерпретации.

Так вот, statement-level consistency, насколько я помню, не диктуется стандартом, а оставляется на усмотрение производителя.
Я говорю о такой характеристике курсора, как sensitivity , которая, если не указано явно, является ASENSITIVE (секция 4.32 Cursors).
Если есть другие ссылки на стандарт - буду рад ознакомиться.

Так что формально read-committed в Firebird работает правильно, ибо речь в его определении идёт только о допустимых феноменах.

Другой вопрос, что вы привыкли к оракловому пониманию statement-level consistency для RC :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781712
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfohvladЗадайте тот вопрос, который вы хотели задать.
Ибо отвечать сразу на несколько вариантов вашего истинного вопроса мне как-то лень...
Ну судя по этому ответу, я думау, что не зря скетически относился к идеям быть сторонником чего-либо подобного типа процедурам: наверное, от этого должно ломать.Если вы не в состоянии понять, о чём идёт посторонний диалог, может не стоит в него встревать ?

PS А давайте я сейчас тоже расскажу что с вами должно происходить и в каком случае ?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781745
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЕсли вы не в состоянии понять, о чём идёт посторонний диалог, может не стоит в него встревать ?

Ну а что Вы хотели? - здесь же всех на форум допускают. Я не понимаю что Вы говорите, Вы не понимаете что Вас спрашуют. Это по философски все получается.
Впрочем, кое-что то я понял для себя: сторонником только процедур быть хуже, чем сторонником только Оракла. Так что я не зря встрял: инфу нужную получил.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36781763
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfohvladЕсли вы не в состоянии понять, о чём идёт посторонний диалог, может не стоит в него встревать ?

Ну а что Вы хотели? - здесь же всех на форум допускают. Я не понимаю что Вы говорите, Вы не понимаете что Вас спрашуют. Это по философски все получается. Согласен.

Но особенно "по философски" выглядят ценные фразы вроде этой:
vadiminfoнаверное, от этого должно ломать.

vadiminfoВпрочем, кое-что то я понял для себя: сторонником только процедур быть хуже, чем сторонником только Оракла. Так что я не зря встрял: инфу нужную получил.Вот этого вы не понимаете - вы выискиваете, чем бы померяться, а суть не в этом.
...
Рейтинг: 0 / 0
25 сообщений из 287, страница 9 из 12
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MySQL и Firebird для Web
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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