Improve conversion from JSONB Postgres type to hive.operation
Instead of converting JSONB -> string -> fc::json -> hive.operation, implement direct conversion.
This also introduces functions for Postgres/c++ interop:
- pg_call_cxx: to be used in Postgres functions implemented as C functions when they need to call c++ code
- cxx_call_pg: when c++ code needs to call Postgres function
These function are needed because Postgres uses longjmp
for error handling, which doesn't play well with c++ exceptions. They take care of translating Postgres errors from/to c++ exceptions as needed.
Edited by Krzysztof Leśniak