Re: project updates

From: Charles Cui <charles(dot)cui1984(at)gmail(dot)com>
To: Aleksander Alekseeev <a(dot)alekseev(at)postgrespro(dot)ru>
Cc: Aleksandr Parfenov <a(dot)parfenov(at)postgrespro(dot)ru>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: project updates
Date: 2018-07-21 19:00:48
Message-ID: CA+SXE9vaUgtO2skQnKckaEgkPUjaZHLFkGYUt7FA1pxHsuiP8A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2018-07-20 2:18 GMT-07:00 Aleksander Alekseeev <a(dot)alekseev(at)postgrespro(dot)ru>:

> Hello Charles,
>
> > Here is my current working status.
> > 1. Complete the thrift_binary_in and thrift_binary_out functions, so
> > that users can express their thrift struct using json. These two
> > functions support both simple data struct and complex data structure
> > like struct and map. 2. added test cases and document to cover
> > thrift_binary_in and thrift_binary_out. 3. make the code compile-able
> > from 9.4 to 11.0.
>
> I see multiple warnings during compilation with 11.0, e.g:
>
> ```
> pg_thrift.c:1120:72: warning: implicit declaration of function
> ‘JsonbGetDatum’; did you mean ‘JsonbPGetDatum’?
> [-Wimplicit-function-declaration]
>
> pg_thrift.c:1206:13: warning: the address of ‘is_big_endian’ will
> always evaluate as ‘true’ [-Waddress]
>
> pg_thrift.c:1227:18: warning: implicit declaration of function
> ‘PG_GETARG_JSONB’; did you mean ‘PG_GETARG_JSONB_P’?
> [-Wimplicit-function-declaration]
>
> pg_thrift.c:1227:18: warning: initialization of ‘Jsonb *’ {aka ‘struct
> <anonymous> *’} from ‘int’ makes pointer from integer without a cast
> [-Wint-conversion]
> ```
>
> Also tests (make clean && make && make install && make installcheck)
> don't pass.
>
I have tested compiled passed for 9.4, 9.5, 9.6, 10 and 11 (
https://travis-ci.org/charles-cui/pg_thrift/builds/404741899)
and make install && make installcheck passed for 9.4
The tests are not run for other versions because my mac is 9.4 postgresql.
Also for CI testing, the current travis scripts has some problems for
version other than 9.4.
I will try to upgrade my postgresql and see whether I can make it.

>
> > One question though, for custom types, it seems rich operations are
> > also very important besides storing and expressing using thrift type.
> > What are the most important operators should I support? Any
> > suggestions? Here is the updated repo
> > https://github.com/charles-cui/pg_thrift
>
> I believe get field / set field are most common ones. Naturally there
> are also enumerations, projections, you name it. You can check out list
> of operation supported by JSONB (or a list of operations on dict's in
> Python) to get a full picture.
>

Good idea, thanks

>
> --
> Best regards,
> Aleksander Alekseev
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Fetter 2018-07-21 19:33:31 Re: project updates
Previous Message Tom Lane 2018-07-21 18:04:19 Re: Non-portable shell code in pg_upgrade tap tests