[DBD::Pg] Update type info for new JSON items
dbdpg-commits-gENoVmVU/[email protected] Fri, 4 Apr 2014 19:37:45 +0000
| Newsgroups | gmane.comp.db.postgresql.dbdpg.cvs |
|---|---|
| Message-ID | <[email protected]> |
Committed by Greg Sabino Mullane <greg-O9fzpki4YnJWk0Htik3J/[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