Re: project updates

Поиск
Список
Период
Сортировка
От Charles Cui
Тема Re: project updates
Дата
Msg-id CA+SXE9vaUgtO2skQnKckaEgkPUjaZHLFkGYUt7FA1pxHsuiP8A@mail.gmail.com
обсуждение исходный текст
Ответ на Re: project updates  (Aleksander Alekseeev <a.alekseev@postgrespro.ru>)
Ответы Re: project updates  (David Fetter <david@fetter.org>)
Список pgsql-hackers


2018-07-20 2:18 GMT-07:00 Aleksander Alekseeev <a.alekseev@postgrespro.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

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Non-portable shell code in pg_upgrade tap tests
Следующее
От: David Fetter
Дата:
Сообщение: Re: project updates