Committed by Greg Sabino Mullane <[email protected]>
Update type info for new JSON items
---
Pg.pm | 71 ++++++++--------
Pg.xs | 4 +
t/01constants.t | 4 +
t/99_pod.t | 4 +
types.c | 260 +++++++++++++++++++++++++++++---------------------------
types.h | 4 +
6 files changed, 186 insertions(+), 161 deletions(-)
diff --git a/Pg.pm b/Pg.pm
index 5887bed..4076da5 100644
--- a/Pg.pm
+++ b/Pg.pm
@@ -41,25 +41,26 @@ use 5.008001;
PG_INT2ARRAY PG_INT2VECTOR PG_INT2VECTORARRAY PG_INT4
PG_INT4ARRAY
PG_INT4RANGE PG_INT4RANGEARRAY PG_INT8 PG_INT8ARRAY
PG_INT8RANGE
PG_INT8RANGEARRAY PG_INTERNAL PG_INTERVAL
PG_INTERVALARRAY PG_JSON
- PG_JSONARRAY PG_LANGUAGE_HANDLER PG_LINE PG_LINEARRAY
PG_LSEG
- PG_LSEGARRAY PG_MACADDR PG_MACADDRARRAY PG_MONEY
PG_MONEYARRAY
- PG_NAME PG_NAMEARRAY PG_NUMERIC PG_NUMERICARRAY
PG_NUMRANGE
- PG_NUMRANGEARRAY PG_OID PG_OIDARRAY PG_OIDVECTOR
PG_OIDVECTORARRAY
- PG_OPAQUE PG_PATH PG_PATHARRAY PG_PG_ATTRIBUTE
PG_PG_CLASS
- PG_PG_NODE_TREE PG_PG_PROC PG_PG_TYPE PG_POINT
PG_POINTARRAY
- PG_POLYGON PG_POLYGONARRAY PG_RECORD PG_RECORDARRAY
PG_REFCURSOR
- PG_REFCURSORARRAY PG_REGCLASS PG_REGCLASSARRAY
PG_REGCONFIG PG_REGCONFIGARRAY
- PG_REGDICTIONARY PG_REGDICTIONARYARRAY PG_REGOPER
PG_REGOPERARRAY PG_REGOPERATOR
- PG_REGOPERATORARRAY PG_REGPROC PG_REGPROCARRAY
PG_REGPROCEDURE PG_REGPROCEDUREARRAY
- PG_REGTYPE PG_REGTYPEARRAY PG_RELTIME PG_RELTIMEARRAY
PG_SMGR
- PG_TEXT PG_TEXTARRAY PG_TID PG_TIDARRAY PG_TIME
- PG_TIMEARRAY PG_TIMESTAMP PG_TIMESTAMPARRAY
PG_TIMESTAMPTZ PG_TIMESTAMPTZARRAY
- PG_TIMETZ PG_TIMETZARRAY PG_TINTERVAL PG_TINTERVALARRAY
PG_TRIGGER
- PG_TSQUERY PG_TSQUERYARRAY PG_TSRANGE PG_TSRANGEARRAY
PG_TSTZRANGE
- PG_TSTZRANGEARRAY PG_TSVECTOR PG_TSVECTORARRAY
PG_TXID_SNAPSHOT PG_TXID_SNAPSHOTARRAY
- PG_UNKNOWN PG_UUID PG_UUIDARRAY PG_VARBIT PG_VARBITARRAY
- PG_VARCHAR PG_VARCHARARRAY PG_VOID PG_XID PG_XIDARRAY
- PG_XML PG_XMLARRAY
+ PG_JSONARRAY PG_JSONB PG_JSONBARRAY PG_LANGUAGE_HANDLER
PG_LINE
+ PG_LINEARRAY PG_LSEG PG_LSEGARRAY PG_MACADDR
PG_MACADDRARRAY
+ PG_MONEY PG_MONEYARRAY PG_NAME PG_NAMEARRAY PG_NUMERIC
+ PG_NUMERICARRAY PG_NUMRANGE PG_NUMRANGEARRAY PG_OID
PG_OIDARRAY
+ PG_OIDVECTOR PG_OIDVECTORARRAY PG_OPAQUE PG_PATH
PG_PATHARRAY
+ PG_PG_ATTRIBUTE PG_PG_CLASS PG_PG_LSN PG_PG_LSNARRAY
PG_PG_NODE_TREE
+ PG_PG_PROC PG_PG_TYPE PG_POINT PG_POINTARRAY PG_POLYGON
+ PG_POLYGONARRAY PG_RECORD PG_RECORDARRAY PG_REFCURSOR
PG_REFCURSORARRAY
+ PG_REGCLASS PG_REGCLASSARRAY PG_REGCONFIG
PG_REGCONFIGARRAY PG_REGDICTIONARY
+ PG_REGDICTIONARYARRAY PG_REGOPER PG_REGOPERARRAY
PG_REGOPERATOR PG_REGOPERATORARRAY
+ PG_REGPROC PG_REGPROCARRAY PG_REGPROCEDURE
PG_REGPROCEDUREARRAY PG_REGTYPE
+ PG_REGTYPEARRAY PG_RELTIME PG_RELTIMEARRAY PG_SMGR
PG_TEXT
+ PG_TEXTARRAY PG_TID PG_TIDARRAY PG_TIME PG_TIMEARRAY
+ PG_TIMESTAMP PG_TIMESTAMPARRAY PG_TIMESTAMPTZ
PG_TIMESTAMPTZARRAY PG_TIMETZ
+ PG_TIMETZARRAY PG_TINTERVAL PG_TINTERVALARRAY
PG_TRIGGER PG_TSQUERY
+ PG_TSQUERYARRAY PG_TSRANGE PG_TSRANGEARRAY PG_TSTZRANGE
PG_TSTZRANGEARRAY
+ PG_TSVECTOR PG_TSVECTORARRAY PG_TXID_SNAPSHOT
PG_TXID_SNAPSHOTARRAY PG_UNKNOWN
+ PG_UUID PG_UUIDARRAY PG_VARBIT PG_VARBITARRAY PG_VARCHAR
+ PG_VARCHARARRAY PG_VOID PG_XID PG_XIDARRAY PG_XML
+ PG_XMLARRAY
)]
);
@@ -3406,22 +3407,22 @@ The current list of Postgres data types exported is:
PG_INET PG_INETARRAY PG_INT2 PG_INT2ARRAY PG_INT2VECTOR PG_INT2VECTORARRAY
PG_INT4 PG_INT4ARRAY PG_INT4RANGE PG_INT4RANGEARRAY PG_INT8 PG_INT8ARRAY
PG_INT8RANGE PG_INT8RANGEARRAY PG_INTERNAL PG_INTERVAL PG_INTERVALARRAY
PG_JSON
- PG_JSONARRAY PG_LANGUAGE_HANDLER PG_LINE PG_LINEARRAY PG_LSEG PG_LSEGARRAY
- PG_MACADDR PG_MACADDRARRAY PG_MONEY PG_MONEYARRAY PG_NAME PG_NAMEARRAY
- PG_NUMERIC PG_NUMERICARRAY PG_NUMRANGE PG_NUMRANGEARRAY PG_OID PG_OIDARRAY
- PG_OIDVECTOR PG_OIDVECTORARRAY PG_OPAQUE PG_PATH PG_PATHARRAY PG_PG_ATTRIBUTE
- PG_PG_CLASS PG_PG_NODE_TREE PG_PG_PROC PG_PG_TYPE PG_POINT PG_POINTARRAY
- PG_POLYGON PG_POLYGONARRAY PG_RECORD PG_RECORDARRAY PG_REFCURSOR
PG_REFCURSORARRAY
- PG_REGCLASS PG_REGCLASSARRAY PG_REGCONFIG PG_REGCONFIGARRAY PG_REGDICTIONARY
PG_REGDICTIONARYARRAY
- PG_REGOPER PG_REGOPERARRAY PG_REGOPERATOR PG_REGOPERATORARRAY PG_REGPROC
PG_REGPROCARRAY
- PG_REGPROCEDURE PG_REGPROCEDUREARRAY PG_REGTYPE PG_REGTYPEARRAY PG_RELTIME
PG_RELTIMEARRAY
- PG_SMGR PG_TEXT PG_TEXTARRAY PG_TID PG_TIDARRAY PG_TIME
- PG_TIMEARRAY PG_TIMESTAMP PG_TIMESTAMPARRAY PG_TIMESTAMPTZ
PG_TIMESTAMPTZARRAY PG_TIMETZ
- PG_TIMETZARRAY PG_TINTERVAL PG_TINTERVALARRAY PG_TRIGGER PG_TSQUERY
PG_TSQUERYARRAY
- PG_TSRANGE PG_TSRANGEARRAY PG_TSTZRANGE PG_TSTZRANGEARRAY PG_TSVECTOR
PG_TSVECTORARRAY
- PG_TXID_SNAPSHOT PG_TXID_SNAPSHOTARRAY PG_UNKNOWN PG_UUID PG_UUIDARRAY
PG_VARBIT
- PG_VARBITARRAY PG_VARCHAR PG_VARCHARARRAY PG_VOID PG_XID PG_XIDARRAY
- PG_XML PG_XMLARRAY
+ PG_JSONARRAY PG_JSONB PG_JSONBARRAY PG_LANGUAGE_HANDLER PG_LINE PG_LINEARRAY
+ PG_LSEG PG_LSEGARRAY PG_MACADDR PG_MACADDRARRAY PG_MONEY PG_MONEYARRAY
+ PG_NAME PG_NAMEARRAY PG_NUMERIC PG_NUMERICARRAY PG_NUMRANGE PG_NUMRANGEARRAY
+ PG_OID PG_OIDARRAY PG_OIDVECTOR PG_OIDVECTORARRAY PG_OPAQUE PG_PATH
+ PG_PATHARRAY PG_PG_ATTRIBUTE PG_PG_CLASS PG_PG_LSN PG_PG_LSNARRAY
PG_PG_NODE_TREE
+ PG_PG_PROC PG_PG_TYPE PG_POINT PG_POINTARRAY PG_POLYGON PG_POLYGONARRAY
+ PG_RECORD PG_RECORDARRAY PG_REFCURSOR PG_REFCURSORARRAY PG_REGCLASS
PG_REGCLASSARRAY
+ PG_REGCONFIG PG_REGCONFIGARRAY PG_REGDICTIONARY PG_REGDICTIONARYARRAY
PG_REGOPER PG_REGOPERARRAY
+ PG_REGOPERATOR PG_REGOPERATORARRAY PG_REGPROC PG_REGPROCARRAY PG_REGPROCEDURE
PG_REGPROCEDUREARRAY
+ PG_REGTYPE PG_REGTYPEARRAY PG_RELTIME PG_RELTIMEARRAY PG_SMGR PG_TEXT
+ PG_TEXTARRAY PG_TID PG_TIDARRAY PG_TIME PG_TIMEARRAY PG_TIMESTAMP
+ PG_TIMESTAMPARRAY PG_TIMESTAMPTZ PG_TIMESTAMPTZARRAY PG_TIMETZ PG_TIMETZARRAY
PG_TINTERVAL
+ PG_TINTERVALARRAY PG_TRIGGER PG_TSQUERY PG_TSQUERYARRAY PG_TSRANGE
PG_TSRANGEARRAY
+ PG_TSTZRANGE PG_TSTZRANGEARRAY PG_TSVECTOR PG_TSVECTORARRAY PG_TXID_SNAPSHOT
PG_TXID_SNAPSHOTARRAY
+ PG_UNKNOWN PG_UUID PG_UUIDARRAY PG_VARBIT PG_VARBITARRAY PG_VARCHAR
+ PG_VARCHARARRAY PG_VOID PG_XID PG_XIDARRAY PG_XML PG_XMLARRAY
Data types are "sticky," in that once a data type is set to a certain
placeholder,
it will remain for that placeholder, unless it is explicitly set to something
diff --git a/Pg.xs b/Pg.xs
index 7363530..edec91e 100644
--- a/Pg.xs
+++ b/Pg.xs
@@ -85,6 +85,8 @@ constant(name=Nullch)
PG_INTERVALARRAY = 1187
PG_JSON = 114
PG_JSONARRAY = 199
+ PG_JSONB = 3802
+ PG_JSONBARRAY = 3807
PG_LANGUAGE_HANDLER = 2280
PG_LINE = 628
PG_LINEARRAY = 629
@@ -109,6 +111,8 @@ constant(name=Nullch)
PG_PATHARRAY = 1019
PG_PG_ATTRIBUTE = 75
PG_PG_CLASS = 83
+ PG_PG_LSN = 3220
+ PG_PG_LSNARRAY = 3221
PG_PG_NODE_TREE = 194
PG_PG_PROC = 81
PG_PG_TYPE = 71
diff --git a/t/01constants.t b/t/01constants.t
index 3cac1e3..47191b4 100644
--- a/t/01constants.t
+++ b/t/01constants.t
@@ -73,6 +73,8 @@ is (PG_INTERVAL , 1186, 'PG_INTERVAL returns
correct value');
is (PG_INTERVALARRAY , 1187, 'PG_INTERVALARRAY returns correct value');
is (PG_JSON , 114, 'PG_JSON returns correct value');
is (PG_JSONARRAY , 199, 'PG_JSONARRAY returns correct value');
+is (PG_JSONB , 3802, 'PG_JSONB returns correct value');
+is (PG_JSONBARRAY , 3807, 'PG_JSONBARRAY returns correct value');
is (PG_LANGUAGE_HANDLER , 2280, 'PG_LANGUAGE_HANDLER returns correct
value');
is (PG_LINE , 628, 'PG_LINE returns correct value');
is (PG_LINEARRAY , 629, 'PG_LINEARRAY returns correct value');
@@ -97,6 +99,8 @@ is (PG_PATH , 602, 'PG_PATH returns correct
value');
is (PG_PATHARRAY , 1019, 'PG_PATHARRAY returns correct value');
is (PG_PG_ATTRIBUTE , 75, 'PG_PG_ATTRIBUTE returns correct value');
is (PG_PG_CLASS , 83, 'PG_PG_CLASS returns correct value');
+is (PG_PG_LSN , 3220, 'PG_PG_LSN returns correct value');
+is (PG_PG_LSNARRAY , 3221, 'PG_PG_LSNARRAY returns correct value');
is (PG_PG_NODE_TREE , 194, 'PG_PG_NODE_TREE returns correct value');
is (PG_PG_PROC , 81, 'PG_PG_PROC returns correct value');
is (PG_PG_TYPE , 71, 'PG_PG_TYPE returns correct value');
diff --git a/t/99_pod.t b/t/99_pod.t
index 65ae15b..1d5feae 100644
--- a/t/99_pod.t
+++ b/t/99_pod.t
@@ -121,6 +121,8 @@ SKIP: {
qr{PG_INTERVALARRAY},
qr{PG_JSON},
qr{PG_JSONARRAY},
+ qr{PG_JSONB},
+ qr{PG_JSONBARRAY},
qr{PG_LANGUAGE_HANDLER},
qr{PG_LINE},
qr{PG_LINEARRAY},
@@ -145,6 +147,8 @@ SKIP: {
qr{PG_PATHARRAY},
qr{PG_PG_ATTRIBUTE},
qr{PG_PG_CLASS},
+ qr{PG_PG_LSN},
+ qr{PG_PG_LSNARRAY},
qr{PG_PG_NODE_TREE},
qr{PG_PG_PROC},
qr{PG_PG_TYPE},
diff --git a/types.c b/types.c
index f218eee..f18ebf6 100644
--- a/types.c
+++ b/types.c
@@ -41,6 +41,7 @@ static sql_type_info_t pg_types[] = {
{PG_INT8RANGEARRAY ,"_int8range" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
{PG_INTERVALARRAY ,"_interval" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
{PG_JSONARRAY ,"_json" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
+ {PG_JSONBARRAY ,"_jsonb" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
{PG_LINEARRAY ,"_line" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
{PG_LSEGARRAY ,"_lseg" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
{PG_MACADDRARRAY ,"_macaddr" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
@@ -51,6 +52,7 @@ static sql_type_info_t pg_types[] = {
{PG_OIDARRAY ,"_oid" ,1,',',"array_out"
,quote_string,dequote_string,{0},1},
{PG_OIDVECTORARRAY ,"_oidvector" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
{PG_PATHARRAY ,"_path" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
+ {PG_PG_LSNARRAY ,"_pg_lsn" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
{PG_POINTARRAY ,"_point" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
{PG_POLYGONARRAY ,"_polygon" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
{PG_RECORDARRAY ,"_record" ,1,',',"array_out"
,quote_string,dequote_string,{0},0},
@@ -116,6 +118,7 @@ static sql_type_info_t pg_types[] = {
{PG_INTERNAL ,"internal" ,1,',',"internal_out"
,quote_string,dequote_string,{0},0},
{PG_INTERVAL ,"interval" ,1,',',"interval_out"
,quote_string,dequote_string,{0},0},
{PG_JSON ,"json" ,1,',',"json_out"
,quote_string,dequote_string,{0},0},
+ {PG_JSONB ,"jsonb" ,1,',',"jsonb_out"
,quote_string,dequote_string,{0},0},
{PG_LANGUAGE_HANDLER ,"language_handler"
,1,',',"language_handler_out",quote_string,dequote_string,{0},0},
{PG_LINE ,"line" ,1,',',"line_out"
,quote_geom ,dequote_string,{0},0},
{PG_LSEG ,"lseg" ,1,',',"lseg_out"
,quote_geom ,dequote_string,{0},0},
@@ -130,6 +133,7 @@ static sql_type_info_t pg_types[] = {
{PG_PATH ,"path" ,1,',',"path_out"
,quote_path ,dequote_string,{0},0},
{PG_PG_ATTRIBUTE ,"pg_attribute" ,1,',',"record_out"
,quote_string,dequote_string,{0},0},
{PG_PG_CLASS ,"pg_class" ,1,',',"record_out"
,quote_string,dequote_string,{0},0},
+ {PG_PG_LSN ,"pg_lsn" ,1,',',"pg_lsn_out"
,quote_string,dequote_string,{0},0},
{PG_PG_NODE_TREE ,"pg_node_tree" ,1,',',"pg_node_tree_out"
,quote_string,dequote_string,{0},0},
{PG_PG_PROC ,"pg_proc" ,1,',',"record_out"
,quote_string,dequote_string,{0},0},
{PG_PG_TYPE ,"pg_type" ,1,',',"record_out"
,quote_string,dequote_string,{0},0},
@@ -201,132 +205,136 @@ sql_type_info_t* pg_type_data(int sql_type)
case PG_INT8RANGEARRAY: return &pg_types[23];
case PG_INTERVALARRAY: return &pg_types[24];
case PG_JSONARRAY: return &pg_types[25];
- case PG_LINEARRAY: return &pg_types[26];
- case PG_LSEGARRAY: return &pg_types[27];
- case PG_MACADDRARRAY: return &pg_types[28];
- case PG_MONEYARRAY: return &pg_types[29];
- case PG_NAMEARRAY: return &pg_types[30];
- case PG_NUMERICARRAY: return &pg_types[31];
- case PG_NUMRANGEARRAY: return &pg_types[32];
- case PG_OIDARRAY: return &pg_types[33];
- case PG_OIDVECTORARRAY: return &pg_types[34];
- case PG_PATHARRAY: return &pg_types[35];
- case PG_POINTARRAY: return &pg_types[36];
- case PG_POLYGONARRAY: return &pg_types[37];
- case PG_RECORDARRAY: return &pg_types[38];
- case PG_REFCURSORARRAY: return &pg_types[39];
- case PG_REGCLASSARRAY: return &pg_types[40];
- case PG_REGCONFIGARRAY: return &pg_types[41];
- case PG_REGDICTIONARYARRAY: return &pg_types[42];
- case PG_REGOPERARRAY: return &pg_types[43];
- case PG_REGOPERATORARRAY: return &pg_types[44];
- case PG_REGPROCARRAY: return &pg_types[45];
- case PG_REGPROCEDUREARRAY: return &pg_types[46];
- case PG_REGTYPEARRAY: return &pg_types[47];
- case PG_RELTIMEARRAY: return &pg_types[48];
- case PG_TEXTARRAY: return &pg_types[49];
- case PG_TIDARRAY: return &pg_types[50];
- case PG_TIMEARRAY: return &pg_types[51];
- case PG_TIMESTAMPARRAY: return &pg_types[52];
- case PG_TIMESTAMPTZARRAY: return &pg_types[53];
- case PG_TIMETZARRAY: return &pg_types[54];
- case PG_TINTERVALARRAY: return &pg_types[55];
- case PG_TSQUERYARRAY: return &pg_types[56];
- case PG_TSRANGEARRAY: return &pg_types[57];
- case PG_TSTZRANGEARRAY: return &pg_types[58];
- case PG_TSVECTORARRAY: return &pg_types[59];
- case PG_TXID_SNAPSHOTARRAY: return &pg_types[60];
- case PG_UUIDARRAY: return &pg_types[61];
- case PG_VARBITARRAY: return &pg_types[62];
- case PG_VARCHARARRAY: return &pg_types[63];
- case PG_XIDARRAY: return &pg_types[64];
- case PG_XMLARRAY: return &pg_types[65];
- case PG_ABSTIME: return &pg_types[66];
- case PG_ACLITEM: return &pg_types[67];
- case PG_ANY: return &pg_types[68];
- case PG_ANYARRAY: return &pg_types[69];
- case PG_ANYELEMENT: return &pg_types[70];
- case PG_ANYENUM: return &pg_types[71];
- case PG_ANYNONARRAY: return &pg_types[72];
- case PG_ANYRANGE: return &pg_types[73];
- case PG_BIT: return &pg_types[74];
- case PG_BOOL: return &pg_types[75];
- case PG_BOX: return &pg_types[76];
- case PG_BPCHAR: return &pg_types[77];
- case PG_BYTEA: return &pg_types[78];
- case PG_CHAR: return &pg_types[79];
- case PG_CID: return &pg_types[80];
- case PG_CIDR: return &pg_types[81];
- case PG_CIRCLE: return &pg_types[82];
- case PG_CSTRING: return &pg_types[83];
- case PG_DATE: return &pg_types[84];
- case PG_DATERANGE: return &pg_types[85];
- case PG_EVENT_TRIGGER: return &pg_types[86];
- case PG_FDW_HANDLER: return &pg_types[87];
- case PG_FLOAT4: return &pg_types[88];
- case PG_FLOAT8: return &pg_types[89];
- case PG_GTSVECTOR: return &pg_types[90];
- case PG_INET: return &pg_types[91];
- case PG_INT2: return &pg_types[92];
- case PG_INT2VECTOR: return &pg_types[93];
- case PG_INT4: return &pg_types[94];
- case PG_INT4RANGE: return &pg_types[95];
- case PG_INT8: return &pg_types[96];
- case PG_INT8RANGE: return &pg_types[97];
- case PG_INTERNAL: return &pg_types[98];
- case PG_INTERVAL: return &pg_types[99];
- case PG_JSON: return &pg_types[100];
- case PG_LANGUAGE_HANDLER: return &pg_types[101];
- case PG_LINE: return &pg_types[102];
- case PG_LSEG: return &pg_types[103];
- case PG_MACADDR: return &pg_types[104];
- case PG_MONEY: return &pg_types[105];
- case PG_NAME: return &pg_types[106];
- case PG_NUMERIC: return &pg_types[107];
- case PG_NUMRANGE: return &pg_types[108];
- case PG_OID: return &pg_types[109];
- case PG_OIDVECTOR: return &pg_types[110];
- case PG_OPAQUE: return &pg_types[111];
- case PG_PATH: return &pg_types[112];
- case PG_PG_ATTRIBUTE: return &pg_types[113];
- case PG_PG_CLASS: return &pg_types[114];
- case PG_PG_NODE_TREE: return &pg_types[115];
- case PG_PG_PROC: return &pg_types[116];
- case PG_PG_TYPE: return &pg_types[117];
- case PG_POINT: return &pg_types[118];
- case PG_POLYGON: return &pg_types[119];
- case PG_RECORD: return &pg_types[120];
- case PG_REFCURSOR: return &pg_types[121];
- case PG_REGCLASS: return &pg_types[122];
- case PG_REGCONFIG: return &pg_types[123];
- case PG_REGDICTIONARY: return &pg_types[124];
- case PG_REGOPER: return &pg_types[125];
- case PG_REGOPERATOR: return &pg_types[126];
- case PG_REGPROC: return &pg_types[127];
- case PG_REGPROCEDURE: return &pg_types[128];
- case PG_REGTYPE: return &pg_types[129];
- case PG_RELTIME: return &pg_types[130];
- case PG_SMGR: return &pg_types[131];
- case PG_TEXT: return &pg_types[132];
- case PG_TID: return &pg_types[133];
- case PG_TIME: return &pg_types[134];
- case PG_TIMESTAMP: return &pg_types[135];
- case PG_TIMESTAMPTZ: return &pg_types[136];
- case PG_TIMETZ: return &pg_types[137];
- case PG_TINTERVAL: return &pg_types[138];
- case PG_TRIGGER: return &pg_types[139];
- case PG_TSQUERY: return &pg_types[140];
- case PG_TSRANGE: return &pg_types[141];
- case PG_TSTZRANGE: return &pg_types[142];
- case PG_TSVECTOR: return &pg_types[143];
- case PG_TXID_SNAPSHOT: return &pg_types[144];
- case PG_UNKNOWN: return &pg_types[145];
- case PG_UUID: return &pg_types[146];
- case PG_VARBIT: return &pg_types[147];
- case PG_VARCHAR: return &pg_types[148];
- case PG_VOID: return &pg_types[149];
- case PG_XID: return &pg_types[150];
- case PG_XML: return &pg_types[151];
+ case PG_JSONBARRAY: return &pg_types[26];
+ case PG_LINEARRAY: return &pg_types[27];
+ case PG_LSEGARRAY: return &pg_types[28];
+ case PG_MACADDRARRAY: return &pg_types[29];
+ case PG_MONEYARRAY: return &pg_types[30];
+ case PG_NAMEARRAY: return &pg_types[31];
+ case PG_NUMERICARRAY: return &pg_types[32];
+ case PG_NUMRANGEARRAY: return &pg_types[33];
+ case PG_OIDARRAY: return &pg_types[34];
+ case PG_OIDVECTORARRAY: return &pg_types[35];
+ case PG_PATHARRAY: return &pg_types[36];
+ case PG_PG_LSNARRAY: return &pg_types[37];
+ case PG_POINTARRAY: return &pg_types[38];
+ case PG_POLYGONARRAY: return &pg_types[39];
+ case PG_RECORDARRAY: return &pg_types[40];
+ case PG_REFCURSORARRAY: return &pg_types[41];
+ case PG_REGCLASSARRAY: return &pg_types[42];
+ case PG_REGCONFIGARRAY: return &pg_types[43];
+ case PG_REGDICTIONARYARRAY: return &pg_types[44];
+ case PG_REGOPERARRAY: return &pg_types[45];
+ case PG_REGOPERATORARRAY: return &pg_types[46];
+ case PG_REGPROCARRAY: return &pg_types[47];
+ case PG_REGPROCEDUREARRAY: return &pg_types[48];
+ case PG_REGTYPEARRAY: return &pg_types[49];
+ case PG_RELTIMEARRAY: return &pg_types[50];
+ case PG_TEXTARRAY: return &pg_types[51];
+ case PG_TIDARRAY: return &pg_types[52];
+ case PG_TIMEARRAY: return &pg_types[53];
+ case PG_TIMESTAMPARRAY: return &pg_types[54];
+ case PG_TIMESTAMPTZARRAY: return &pg_types[55];
+ case PG_TIMETZARRAY: return &pg_types[56];
+ case PG_TINTERVALARRAY: return &pg_types[57];
+ case PG_TSQUERYARRAY: return &pg_types[58];
+ case PG_TSRANGEARRAY: return &pg_types[59];
+ case PG_TSTZRANGEARRAY: return &pg_types[60];
+ case PG_TSVECTORARRAY: return &pg_types[61];
+ case PG_TXID_SNAPSHOTARRAY: return &pg_types[62];
+ case PG_UUIDARRAY: return &pg_types[63];
+ case PG_VARBITARRAY: return &pg_types[64];
+ case PG_VARCHARARRAY: return &pg_types[65];
+ case PG_XIDARRAY: return &pg_types[66];
+ case PG_XMLARRAY: return &pg_types[67];
+ case PG_ABSTIME: return &pg_types[68];
+ case PG_ACLITEM: return &pg_types[69];
+ case PG_ANY: return &pg_types[70];
+ case PG_ANYARRAY: return &pg_types[71];
+ case PG_ANYELEMENT: return &pg_types[72];
+ case PG_ANYENUM: return &pg_types[73];
+ case PG_ANYNONARRAY: return &pg_types[74];
+ case PG_ANYRANGE: return &pg_types[75];
+ case PG_BIT: return &pg_types[76];
+ case PG_BOOL: return &pg_types[77];
+ case PG_BOX: return &pg_types[78];
+ case PG_BPCHAR: return &pg_types[79];
+ case PG_BYTEA: return &pg_types[80];
+ case PG_CHAR: return &pg_types[81];
+ case PG_CID: return &pg_types[82];
+ case PG_CIDR: return &pg_types[83];
+ case PG_CIRCLE: return &pg_types[84];
+ case PG_CSTRING: return &pg_types[85];
+ case PG_DATE: return &pg_types[86];
+ case PG_DATERANGE: return &pg_types[87];
+ case PG_EVENT_TRIGGER: return &pg_types[88];
+ case PG_FDW_HANDLER: return &pg_types[89];
+ case PG_FLOAT4: return &pg_types[90];
+ case PG_FLOAT8: return &pg_types[91];
+ case PG_GTSVECTOR: return &pg_types[92];
+ case PG_INET: return &pg_types[93];
+ case PG_INT2: return &pg_types[94];
+ case PG_INT2VECTOR: return &pg_types[95];
+ case PG_INT4: return &pg_types[96];
+ case PG_INT4RANGE: return &pg_types[97];
+ case PG_INT8: return &pg_types[98];
+ case PG_INT8RANGE: return &pg_types[99];
+ case PG_INTERNAL: return &pg_types[100];
+ case PG_INTERVAL: return &pg_types[101];
+ case PG_JSON: return &pg_types[102];
+ case PG_JSONB: return &pg_types[103];
+ case PG_LANGUAGE_HANDLER: return &pg_types[104];
+ case PG_LINE: return &pg_types[105];
+ case PG_LSEG: return &pg_types[106];
+ case PG_MACADDR: return &pg_types[107];
+ case PG_MONEY: return &pg_types[108];
+ case PG_NAME: return &pg_types[109];
+ case PG_NUMERIC: return &pg_types[110];
+ case PG_NUMRANGE: return &pg_types[111];
+ case PG_OID: return &pg_types[112];
+ case PG_OIDVECTOR: return &pg_types[113];
+ case PG_OPAQUE: return &pg_types[114];
+ case PG_PATH: return &pg_types[115];
+ case PG_PG_ATTRIBUTE: return &pg_types[116];
+ case PG_PG_CLASS: return &pg_types[117];
+ case PG_PG_LSN: return &pg_types[118];
+ case PG_PG_NODE_TREE: return &pg_types[119];
+ case PG_PG_PROC: return &pg_types[120];
+ case PG_PG_TYPE: return &pg_types[121];
+ case PG_POINT: return &pg_types[122];
+ case PG_POLYGON: return &pg_types[123];
+ case PG_RECORD: return &pg_types[124];
+ case PG_REFCURSOR: return &pg_types[125];
+ case PG_REGCLASS: return &pg_types[126];
+ case PG_REGCONFIG: return &pg_types[127];
+ case PG_REGDICTIONARY: return &pg_types[128];
+ case PG_REGOPER: return &pg_types[129];
+ case PG_REGOPERATOR: return &pg_types[130];
+ case PG_REGPROC: return &pg_types[131];
+ case PG_REGPROCEDURE: return &pg_types[132];
+ case PG_REGTYPE: return &pg_types[133];
+ case PG_RELTIME: return &pg_types[134];
+ case PG_SMGR: return &pg_types[135];
+ case PG_TEXT: return &pg_types[136];
+ case PG_TID: return &pg_types[137];
+ case PG_TIME: return &pg_types[138];
+ case PG_TIMESTAMP: return &pg_types[139];
+ case PG_TIMESTAMPTZ: return &pg_types[140];
+ case PG_TIMETZ: return &pg_types[141];
+ case PG_TINTERVAL: return &pg_types[142];
+ case PG_TRIGGER: return &pg_types[143];
+ case PG_TSQUERY: return &pg_types[144];
+ case PG_TSRANGE: return &pg_types[145];
+ case PG_TSTZRANGE: return &pg_types[146];
+ case PG_TSVECTOR: return &pg_types[147];
+ case PG_TXID_SNAPSHOT: return &pg_types[148];
+ case PG_UNKNOWN: return &pg_types[149];
+ case PG_UUID: return &pg_types[150];
+ case PG_VARBIT: return &pg_types[151];
+ case PG_VARCHAR: return &pg_types[152];
+ case PG_VOID: return &pg_types[153];
+ case PG_XID: return &pg_types[154];
+ case PG_XML: return &pg_types[155];
default: return NULL;
}
}
diff --git a/types.h b/types.h
index dd60f90..cc25b70 100644
--- a/types.h
+++ b/types.h
@@ -53,6 +53,7 @@ sql_type_info_t* sql_type_data(int);
#define PG_INTERNAL 2281
#define PG_INTERVAL 1186
#define PG_JSON 114
+#define PG_JSONB 3802
#define PG_LANGUAGE_HANDLER 2280
#define PG_LINE 628
#define PG_LSEG 601
@@ -67,6 +68,7 @@ sql_type_info_t* sql_type_data(int);
#define PG_PATH 602
#define PG_PG_ATTRIBUTE 75
#define PG_PG_CLASS 83
+#define PG_PG_LSN 3220
#define PG_PG_NODE_TREE 194
#define PG_PG_PROC 81
#define PG_PG_TYPE 71
@@ -132,6 +134,7 @@ sql_type_info_t* sql_type_data(int);
#define PG_INT8RANGEARRAY 3927
#define PG_INTERVALARRAY 1187
#define PG_JSONARRAY 199
+#define PG_JSONBARRAY 3807
#define PG_LINEARRAY 629
#define PG_LSEGARRAY 1018
#define PG_MACADDRARRAY 1040
@@ -142,6 +145,7 @@ sql_type_info_t* sql_type_data(int);
#define PG_OIDARRAY 1028
#define PG_OIDVECTORARRAY 1013
#define PG_PATHARRAY 1019
+#define PG_PG_LSNARRAY 3221
#define PG_POINTARRAY 1017
#define PG_POLYGONARRAY 1027
#define PG_RECORDARRAY 2287
--
1.8.4