|
|
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
Вопрос - как можно произвести commit для одного отдельно взятого блока? Просто полистав хелпы в голове родился только вариант выполнить execute_query, с каким-либо противоречивым условием. Но как-то вариант не очень нравится =( И еще вопрос. Как узнать есть ли что коммитить на данный момент? В идеале, опять же, в отдельно взятом блоке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 13:41 |
|
||
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
Не понял... Ты имеешь ввиду, что в первом блоке сделал что-то одно, во втором - другое, а потом сделал commit только для первых изменений? Или что-то другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 13:57 |
|
||
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
Переписать ON-UPDATE, ON-INSERT триггеры для блока в котором не нужно делать изменения. Либо сделать процедуру с автономной транзакцией. Для отдельного взятого блока можно посмотреть его статус :SYSTEM.BLOCK_STATUS, если он CHANGED, значит есть что коммитить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 13:59 |
|
||
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
tru55, именно так. hominis, hominisпереписать ON-UPDATE, ON-INSERT триггеры для блока в котором не нужно делать изменения. Нужно сделать коммит только для 3-х блоков, а всего их значительно больше в форме. С автономными транзакциями дела не имел, попробую разобраться... За ответ на второй вопрос - спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 14:06 |
|
||
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
stranger1101 tru55, именно так. Дык а по остальным блокам что - commit позже или вообще оный не предполагается? stranger1101С автономными транзакциями дела не имел, попробую разобраться... Автономные транзакции - это вообще специфический инструмент, который надо применять с осторожностью и вообще используется редко. В большинстве случаев попытка его использовать - это неверный дизайн приложения, т.е. желаемого можно достичь другими способами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 14:17 |
|
||
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
tru55 Дык а по остальным блокам что - commit позже или вообще оный не предполагается? Предполагается, но позже и в совсем другом месте. Просто посмотрел в хелпах как работает execute_query - он ведь выполняет по ходу такое действие, вроде бы... Соответственно и возникла мысль, что должна быть такая возможность и отдельно от него. tru55Автономные транзакции - это вообще специфический инструмент, который надо применять с осторожностью и вообще используется редко. В большинстве случаев попытка его использовать - это неверный дизайн приложения, т.е. желаемого можно достичь другими способами... Сейчас начал вникать - у меня есть ощущение, что использование их здесь будет не очень адекватно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 14:23 |
|
||
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
Самый адекватный вариант переписывать триггеры ON-INSERT, ON-UPDATE, чтобы изменения сохранялись как ты хочешь. По поводу автономных транзакций, то часто бывает, что без них не обойтись, например, при запуске конкаррента из формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 14:32 |
|
||
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
hominis По поводу автономных транзакций, то часто бывает, что без них не обойтись, например, при запуске конкаррента из формы. Таки Forms и OeBS - это не совсем одно и то же. Первый вполне-е-е-е может существовать без второго :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 14:45 |
|
||
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
tru55hominis По поводу автономных транзакций, то часто бывает, что без них не обойтись, например, при запуске конкаррента из формы. Таки Forms и OeBS - это не совсем одно и то же. Первый вполне-е-е-е может существовать без второго :)) спорить не буду, я делаю разработки только для OeBS :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 14:51 |
|
||
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
hominisспорить не буду, я делаю разработки только для OeBS :) А я познакомился с Forms лет на 5 раньше, чем с OeBS :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 14:52 |
|
||
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
На счет триггера ON-INSERT и иже с ним... Есть тогда возможность сделать общий триггер на уровне формы? Или придется для каждого блока писать свой? Просто не совсем понимаю как именно написать триггер на уровне форм, который работал бы для каждого блока идентично тому, что есть без него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 15:55 |
|
||
|
commit в блоке
|
|||
|---|---|---|---|
|
#18+
stranger1101tru55 Дык а по остальным блокам что - commit позже или вообще оный не предполагается? Предполагается, но позже и в совсем другом месте. Просто посмотрел в хелпах как работает execute_query - он ведь выполняет по ходу такое действие, вроде бы... Соответственно и возникла мысль, что должна быть такая возможность и отдельно от него. EXECUTE_QUERY и COMMIT ???? Не выполняет и не должен. Ты не путаешь COMMIT и POST ? Как я помню, можно форму запустить в своей "отдельной" сессии. Т.ч. 3-и "нужных" блока оставить в одной форме, остальные - вынести в отдельную форму/формы. Формы запускаются в "своей" сессии. Соответственно, как хочет пользователь: хочет - комитет форму, хочет - не комитет. IMHO Subj выглядит совершенно противоестественно. Или автор что-то путает (например POST и COMMIT). "Запостить" отдельно взятый блок, я еще понимаю, но закомитеть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 19:08 |
|
||
|
|

start [/forum/moderation_log.php?user_name=maxwell1988]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
174ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 814ms |
| total: | 1138ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...