Lot of code for generating code. Working on unit tests.

This commit is contained in:
eelke 2018-09-09 18:52:32 +02:00
parent da45929b12
commit 8f4845d4d2
42 changed files with 1089 additions and 267 deletions

View file

@ -55,6 +55,7 @@ namespace Pgsql {
constexpr Oid regoperator_oid = 2204;
constexpr Oid regclass_oid = 2205;
constexpr Oid regtype_oid = 2206;
constexpr Oid any_oid = 2276;
constexpr Oid uuid_oid = 2950;
constexpr Oid txid_snapshot_oid = 2970;
constexpr Oid pg_lsn_oid = 3220;
@ -140,8 +141,19 @@ namespace Pgsql {
constexpr Oid regnamespace_array_oid = 4090;
constexpr Oid regrole_array_oid = 4097;
Oid ElemOidFromArrayOid(Oid oid);
Oid ArrayOidFromElemOid(Oid oid);
/** If oid is an array oid then it returns the corresponding element oid.
* It oid is not an array the functions returns InvalidOid.
* This function only works for the predefined postgresql types.
* If you need it to work for user defined types then use the system catalogue.
*/
Oid ElemOidFromArrayOid(Oid oid) noexcept;
/** If oid is a non array oid then it returns the corresponding array oid.
* It oid is a array oid or oid is unknown it returns InvalidOid.
* This function only works for the predefined postgresql types.
* If you need it to work for user defined types then use the system catalogue.
*
*/
Oid ArrayOidFromElemOid(Oid oid) noexcept;
template <typename T>
class OidFor {