[DBD::Pg 2/2] Update with latest type information from Postgres
dbdpg-commits-gENoVmVU/[email protected] Thu, 14 Nov 2013 00:01:58 -0500
| Newsgroups | gmane.comp.db.postgresql.dbdpg.cvs |
|---|---|
| Message-ID | <[email protected]> |
Committed by Greg Sabino Mullane <greg-O9fzpki4YnJWk0Htik3J/[email protected]> Subject: [DBD::Pg 2/2] Update with latest type information from Postgres --- Pg.pm | 92 +++++++++++++++++++++--------------------- Pg.xs | 1 + t/99_pod.t | 1 + types.c | 132 +++++++++++++++++++++++++++++++------------------------------ types.h | 1 + 5 files changed, 116 insertions(+), 111 deletions(-) diff --git a/Pg.pm b/Pg.pm index 69d91f7..c1c355f 100644 --- a/Pg.pm +++ b/Pg.pm @@ -35,31 +35,31 @@ use 5.008001; PG_BOXARRAY PG_BPCHAR PG_BPCHARARRAY PG_BYTEA PG_BYTEAARRAY PG_CHAR PG_CHARARRAY PG_CID PG_CIDARRAY PG_CIDR PG_CIDRARRAY PG_CIRCLE PG_CIRCLEARRAY PG_CSTRING PG_CSTRINGARRAY - PG_DATE PG_DATEARRAY PG_DATERANGE PG_DATERANGEARRAY PG_FDW_HANDLER - PG_FLOAT4 PG_FLOAT4ARRAY PG_FLOAT8 PG_FLOAT8ARRAY PG_GTSVECTOR - PG_GTSVECTORARRAY 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_DATE PG_DATEARRAY PG_DATERANGE PG_DATERANGEARRAY PG_EVENT_TRIGGER + PG_FDW_HANDLER PG_FLOAT4 PG_FLOAT4ARRAY PG_FLOAT8 PG_FLOAT8ARRAY + PG_GTSVECTOR PG_GTSVECTORARRAY 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 )] ); @@ -3382,27 +3382,27 @@ The current list of Postgres data types exported is: PG_BOOL PG_BOOLARRAY PG_BOX PG_BOXARRAY PG_BPCHAR PG_BPCHARARRAY PG_BYTEA PG_BYTEAARRAY PG_CHAR PG_CHARARRAY PG_CID PG_CIDARRAY PG_CIDR PG_CIDRARRAY PG_CIRCLE PG_CIRCLEARRAY PG_CSTRING PG_CSTRINGARRAY - PG_DATE PG_DATEARRAY PG_DATERANGE PG_DATERANGEARRAY PG_FDW_HANDLER PG_FLOAT4 - PG_FLOAT4ARRAY PG_FLOAT8 PG_FLOAT8ARRAY PG_GTSVECTOR PG_GTSVECTORARRAY 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_DATE PG_DATEARRAY PG_DATERANGE PG_DATERANGEARRAY PG_EVENT_TRIGGER PG_FDW_HANDLER + PG_FLOAT4 PG_FLOAT4ARRAY PG_FLOAT8 PG_FLOAT8ARRAY PG_GTSVECTOR PG_GTSVECTORARRAY + 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 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 13d7779..071648d 100644 --- a/Pg.xs +++ b/Pg.xs @@ -58,6 +58,7 @@ constant(name=Nullch) PG_DATEARRAY = 1182 PG_DATERANGE = 3912 PG_DATERANGEARRAY = 3913 + PG_EVENT_TRIGGER = 3838 PG_FDW_HANDLER = 3115 PG_FLOAT4 = 700 PG_FLOAT4ARRAY = 1021 diff --git a/t/99_pod.t b/t/99_pod.t index f2317f6..65ae15b 100644 --- a/t/99_pod.t +++ b/t/99_pod.t @@ -94,6 +94,7 @@ SKIP: { qr{PG_DATEARRAY}, qr{PG_DATERANGE}, qr{PG_DATERANGEARRAY}, + qr{PG_EVENT_TRIGGER}, qr{PG_FDW_HANDLER}, qr{PG_FLOAT4}, qr{PG_FLOAT4ARRAY}, diff --git a/types.c b/types.c index 9171e12..3c717b2 100644 --- a/types.c +++ b/types.c @@ -101,6 +101,7 @@ static sql_type_info_t pg_types[] = { {PG_CSTRING ,"cstring" ,1,',',"cstring_out" ,quote_string,dequote_string,{0},0}, {PG_DATE ,"date" ,1,',',"date_out" ,quote_string,dequote_string,{SQL_TYPE_DATE},0}, {PG_DATERANGE ,"daterange" ,1,',',"range_out" ,quote_string,dequote_string,{0},0}, + {PG_EVENT_TRIGGER ,"event_trigger" ,1,',',"event_trigger_out",quote_string,dequote_string,{0},0}, {PG_FDW_HANDLER ,"fdw_handler" ,1,',',"fdw_handler_out" ,quote_string,dequote_string,{0},0}, {PG_FLOAT4 ,"float4" ,1,',',"float4out" ,quote_float ,null_dequote ,{0},2}, {PG_FLOAT8 ,"float8" ,1,',',"float8out" ,quote_float ,null_dequote ,{SQL_FLOAT},2}, @@ -260,71 +261,72 @@ sql_type_info_t* pg_type_data(int sql_type) case PG_CSTRING: return &pg_types[83]; case PG_DATE: return &pg_types[84]; case PG_DATERANGE: return &pg_types[85]; - case PG_FDW_HANDLER: return &pg_types[86]; - case PG_FLOAT4: return &pg_types[87]; - case PG_FLOAT8: return &pg_types[88]; - case PG_GTSVECTOR: return &pg_types[89]; - case PG_INET: return &pg_types[90]; - case PG_INT2: return &pg_types[91]; - case PG_INT2VECTOR: return &pg_types[92]; - case PG_INT4: return &pg_types[93]; - case PG_INT4RANGE: return &pg_types[94]; - case PG_INT8: return &pg_types[95]; - case PG_INT8RANGE: return &pg_types[96]; - case PG_INTERNAL: return &pg_types[97]; - case PG_INTERVAL: return &pg_types[98]; - case PG_JSON: return &pg_types[99]; - case PG_LANGUAGE_HANDLER: return &pg_types[100]; - case PG_LINE: return &pg_types[101]; - case PG_LSEG: return &pg_types[102]; - case PG_MACADDR: return &pg_types[103]; - case PG_MONEY: return &pg_types[104]; - case PG_NAME: return &pg_types[105]; - case PG_NUMERIC: return &pg_types[106]; - case PG_NUMRANGE: return &pg_types[107]; - case PG_OID: return &pg_types[108]; - case PG_OIDVECTOR: return &pg_types[109]; - case PG_OPAQUE: return &pg_types[110]; - case PG_PATH: return &pg_types[111]; - case PG_PG_ATTRIBUTE: return &pg_types[112]; - case PG_PG_CLASS: return &pg_types[113]; - case PG_PG_NODE_TREE: return &pg_types[114]; - case PG_PG_PROC: return &pg_types[115]; - case PG_PG_TYPE: return &pg_types[116]; - case PG_POINT: return &pg_types[117]; - case PG_POLYGON: return &pg_types[118]; - case PG_RECORD: return &pg_types[119]; - case PG_REFCURSOR: return &pg_types[120]; - case PG_REGCLASS: return &pg_types[121]; - case PG_REGCONFIG: return &pg_types[122]; - case PG_REGDICTIONARY: return &pg_types[123]; - case PG_REGOPER: return &pg_types[124]; - case PG_REGOPERATOR: return &pg_types[125]; - case PG_REGPROC: return &pg_types[126]; - case PG_REGPROCEDURE: return &pg_types[127]; - case PG_REGTYPE: return &pg_types[128]; - case PG_RELTIME: return &pg_types[129]; - case PG_SMGR: return &pg_types[130]; - case PG_TEXT: return &pg_types[131]; - case PG_TID: return &pg_types[132]; - case PG_TIME: return &pg_types[133]; - case PG_TIMESTAMP: return &pg_types[134]; - case PG_TIMESTAMPTZ: return &pg_types[135]; - case PG_TIMETZ: return &pg_types[136]; - case PG_TINTERVAL: return &pg_types[137]; - case PG_TRIGGER: return &pg_types[138]; - case PG_TSQUERY: return &pg_types[139]; - case PG_TSRANGE: return &pg_types[140]; - case PG_TSTZRANGE: return &pg_types[141]; - case PG_TSVECTOR: return &pg_types[142]; - case PG_TXID_SNAPSHOT: return &pg_types[143]; - case PG_UNKNOWN: return &pg_types[144]; - case PG_UUID: return &pg_types[145]; - case PG_VARBIT: return &pg_types[146]; - case PG_VARCHAR: return &pg_types[147]; - case PG_VOID: return &pg_types[148]; - case PG_XID: return &pg_types[149]; - case PG_XML: return &pg_types[150]; + 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]; default: return NULL; } } diff --git a/types.h b/types.h index ded4c07..dd60f90 100644 --- a/types.h +++ b/types.h @@ -38,6 +38,7 @@ sql_type_info_t* sql_type_data(int); #define PG_CSTRING 2275 #define PG_DATE 1082 #define PG_DATERANGE 3912 +#define PG_EVENT_TRIGGER 3838 #define PG_FDW_HANDLER 3115 #define PG_FLOAT4 700 #define PG_FLOAT8 701 -- 1.8.4