Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / REST + transactions / 2 сообщений из 2, страница 1 из 1
24.06.2020, 21:51
    #39972930
s u
s u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REST + transactions
Имеем PostgreSQL 12.1 (Ubuntu 12.1-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit

Пишется функция-обертка для RESTful запросов, которая будет вызываться из middle tier, обрабатывать данные и возвращать соответствующий результат.

в общем виде это выглядит так

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE OR REPLACE FUNCTION f_webserivce(in_request_tx character varying, in_method_tx character varying, in_payload_j jsonb)
 RETURNS jsonb
 LANGUAGE plpgsql
AS $function$
  declare
       v_response_j jsonb = jsonb ('{}');
  begin
        if in_method_tx = 'POST' and in_request_tx = 'postUser' then
            v_response_j = f_doSomething (in_payload_j);
        end if;
        return v_response_j;
    END;
$function$
;



Соответственно запросы могут быть как GET так и POST/PUT и тд

функция f_doSomething обработает данные и создаст\обновит запись в БД.

на данный момент вопрос стоит - как COMMITить данные. если я правильно понял то в ф-ции commit не прокатит. можно переключить БД в autocommit конечно, но правильный ли это подход? Я так понял что autonomous transaction не поддерживаются.



Пришел в PostgreSQL из Oracle, это наверное и накладывает отпечаток.

Спасибо
...
Рейтинг: 0 / 0
24.06.2020, 22:39
    #39972937
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REST + transactions
s u
можно переключить БД в autocommit конечно

Что вы переключать-то задумали и зачем вам тут autonomous transaction?

Функция в postgresql бывает только в транзакции. Явно открытой приложением и тогда это обязанность приложения сказать commit или rollback. Или в неявной транзакции на выполняемый запрос если вы не сказали begin. Всё. Другого нет.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / REST + transactions / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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