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

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.07.2019, 08:56
|
|||
|---|---|---|---|
|
|||
UPDATE и JSONB |
|||
|
#18+
Пытаюсь понять насколько аккуратно можно обновлять поля такого типа. Есть таблица с полем JSONB. Одно из значений: {"a":1,"b":2} есть 2 updat'а update tbl set data=jsonb_set(data,'{a,1}','3'::jsonb) и update tbl set data=jsonb_set(data,'{b,1}','4'::jsonb) Если запросы выполняются от разных 2х пользователей, существует ли вероятность в следствии блокировок получить не ожидаемый результат {"a":3,"b":4}, а например {"a":1,"b":3}? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2019, 08:57
|
|||
|---|---|---|---|
|
|||
UPDATE и JSONB |
|||
|
#18+
последний json следует читать как {"a":1,"b":4} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2019, 11:41
|
|||
|---|---|---|---|
UPDATE и JSONB |
|||
|
#18+
Troglodit, нет. Обновляется строка таблицы. Там же и берётся блокировка на обновление таблицы. Вторая транзакция будет ждать завершение первой как раз с целью узнать, какие именно значения считать исходными. Ну и не удалили ли строку вовсе. PS: для заданного json видимо подразумевался jsonb_set(data, '{a}', '3'::jsonb) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2019, 12:37
|
|||
|---|---|---|---|
|
|||
UPDATE и JSONB |
|||
|
#18+
Спасибо за ответ. Я надеялся, что все так и будет, просто с версионниками раньше не работал, да и работа с JSON пока темный лес, работает с кучей оговорок. PS. Да конечно вы правы, просто я копировал пример из скрипта с обновлением в массиве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=1995110]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 287ms |
| total: | 535ms |

| 0 / 0 |
