Apache зажигать постоянную проблему с Postgres JSON и JSONB - PullRequest
0 голосов
/ 11 февраля 2019

Я хочу кешировать таблицу postgres в кеш apache ignite;с поддержкой JSON и JSONB.

CREATE TABLE public.some_event (
    id BIGINT NOT NULL, 
    name TEXT, 
    team_squad JSON, 
    event_type TEXT, 
    start_datime BIGINT, 
    end_datime BIGINT, 
    is_running BOOLEAN, 
    is_finished BOOLEAN, 
    recent_matches JSON, 
    CONSTRAINT event_info_pkey 
    PRIMARY KEY (id)
);

, скажем, в конфигурации Apache Ingite,

поле «Recent_matches» выбрано как тип JDBC другого, а тип Java является Object;Я получаю PGObject.

, если поле выбрано как тип jdbc varchar, а тип java - String;Я получаю экранированный json как этот

"\"id\"": ..."

, если sql с типом casting :: text, я получаю BufferedStream.

Мне не нужна никакая специальная фильтрация для json или какого-либо специального sql.Просто хочу отправить строку для вставки и обновления.Для чтения, строка json без двойных кавычек экранирует.

Поскольку я новичок в apache ignite, из документации я не могу понять бинарный маршалинг и не могу найти ни одного полного примера.

Можете ли вы привести какой-нибудь полный пример?

1 Ответ

0 голосов
/ 11 февраля 2019

Ignite не имеет конкретной поддержки для JSON-типа PostgreSQL.

Возможно, вам потребуется расширить CacheJdbcPojoStore, переопределить fillParameter() метод.

...