Author: turnstep
Date: Sun Oct 7 16:51:58 2007
New Revision: 10061
Modified:
DBD-Pg/trunk/Pg.pm
DBD-Pg/trunk/Pg.xs
DBD-Pg/trunk/t/01constants.t
DBD-Pg/trunk/types.c
DBD-Pg/trunk/types.h
Log:
Minor updates to types, go ahead and quote all time/date stuff.
Modified: DBD-Pg/trunk/Pg.pm
==============================================================================
--- DBD-Pg/trunk/Pg.pm (original)
+++ DBD-Pg/trunk/Pg.pm Sun Oct 7 16:51:58 2007
@@ -35,21 +35,23 @@
PG_CHARARRAY PG_CID PG_CIDARRAY PG_CIDR PG_CIDRARRAY
PG_CIRCLE PG_CIRCLEARRAY PG_CSTRING PG_CSTRINGARRAY
PG_DATE
PG_DATEARRAY PG_FLOAT4 PG_FLOAT4ARRAY PG_FLOAT8
PG_FLOAT8ARRAY
- PG_INET PG_INETARRAY PG_INT2 PG_INT2ARRAY PG_INT2VECTOR
- PG_INT2VECTORARRAY PG_INT4 PG_INT4ARRAY PG_INT8
PG_INT8ARRAY
- PG_INTERNAL PG_INTERVAL PG_INTERVALARRAY
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_OID PG_OIDARRAY PG_OIDVECTOR
PG_OIDVECTORARRAY
- PG_OPAQUE PG_PATH PG_PATHARRAY PG_PG_ATTRIBUTE
PG_PG_CLASS
- PG_PG_PROC PG_PG_TYPE PG_POINT PG_POINTARRAY PG_POLYGON
- PG_POLYGONARRAY PG_RECORD PG_REFCURSOR
PG_REFCURSORARRAY PG_REGCLASS
- PG_REGCLASSARRAY 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_UNKNOWN
+ PG_GTSVECTOR PG_GTSVECTORARRAY PG_INET PG_INETARRAY
PG_INT2
+ PG_INT2ARRAY PG_INT2VECTOR PG_INT2VECTORARRAY PG_INT4
PG_INT4ARRAY
+ PG_INT8 PG_INT8ARRAY PG_INTERNAL PG_INTERVAL
PG_INTERVALARRAY
+ 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_OID
PG_OIDARRAY
+ PG_OIDVECTOR PG_OIDVECTORARRAY PG_OPAQUE PG_PATH
PG_PATHARRAY
+ PG_PG_ATTRIBUTE PG_PG_CLASS PG_PG_PROC PG_PG_TYPE
PG_POINT
+ PG_POINTARRAY PG_POLYGON PG_POLYGONARRAY PG_RECORD
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_TSVECTOR PG_TSVECTORARRAY
PG_UNKNOWN
PG_UUID PG_UUIDARRAY PG_VARBIT PG_VARBITARRAY PG_VARCHAR
PG_VARCHARARRAY PG_VOID PG_XID PG_XIDARRAY PG_XML
PG_XMLARRAY
@@ -2811,22 +2813,23 @@
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_FLOAT4 PG_FLOAT4ARRAY PG_FLOAT8 PG_FLOAT8ARRAY PG_INET
-PG_INETARRAY PG_INT2 PG_INT2ARRAY PG_INT2VECTOR PG_INT2VECTORARRAY PG_INT4
-PG_INT4ARRAY PG_INT8 PG_INT8ARRAY PG_INTERNAL PG_INTERVAL PG_INTERVALARRAY
-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_OID PG_OIDARRAY PG_OIDVECTOR PG_OIDVECTORARRAY PG_OPAQUE
-PG_PATH PG_PATHARRAY PG_PG_ATTRIBUTE PG_PG_CLASS PG_PG_PROC PG_PG_TYPE
-PG_POINT PG_POINTARRAY PG_POLYGON PG_POLYGONARRAY PG_RECORD PG_REFCURSOR
-PG_REFCURSORARRAY PG_REGCLASS PG_REGCLASSARRAY PG_REGOPER PG_REGOPERARRAY
PG_REGOPERATOR
+PG_DATEARRAY 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_INT8 PG_INT8ARRAY PG_INTERNAL
+PG_INTERVAL PG_INTERVALARRAY 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_OID PG_OIDARRAY PG_OIDVECTOR
+PG_OIDVECTORARRAY PG_OPAQUE PG_PATH PG_PATHARRAY PG_PG_ATTRIBUTE PG_PG_CLASS
+PG_PG_PROC PG_PG_TYPE PG_POINT PG_POINTARRAY PG_POLYGON PG_POLYGONARRAY
+PG_RECORD 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_UNKNOWN PG_UUID PG_UUIDARRAY PG_VARBIT PG_VARBITARRAY
-PG_VARCHAR PG_VARCHARARRAY PG_VOID PG_XID PG_XIDARRAY PG_XML
-PG_XMLARRAY
+PG_TRIGGER PG_TSQUERY PG_TSQUERYARRAY PG_TSVECTOR PG_TSVECTORARRAY 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
Modified: DBD-Pg/trunk/Pg.xs
==============================================================================
--- DBD-Pg/trunk/Pg.xs (original)
+++ DBD-Pg/trunk/Pg.xs Sun Oct 7 16:51:58 2007
@@ -62,6 +62,8 @@
PG_FLOAT4ARRAY = 1021
PG_FLOAT8 = 701
PG_FLOAT8ARRAY = 1022
+ PG_GTSVECTOR = 3642
+ PG_GTSVECTORARRAY = 3644
PG_INET = 869
PG_INETARRAY = 1041
PG_INT2 = 21
@@ -108,6 +110,10 @@
PG_REFCURSORARRAY = 2201
PG_REGCLASS = 2205
PG_REGCLASSARRAY = 2210
+ PG_REGCONFIG = 3734
+ PG_REGCONFIGARRAY = 3735
+ PG_REGDICTIONARY = 3769
+ PG_REGDICTIONARYARRAY = 3770
PG_REGOPER = 2203
PG_REGOPERARRAY = 2208
PG_REGOPERATOR = 2204
@@ -136,6 +142,10 @@
PG_TINTERVAL = 704
PG_TINTERVALARRAY = 1025
PG_TRIGGER = 2279
+ PG_TSQUERY = 3615
+ PG_TSQUERYARRAY = 3645
+ PG_TSVECTOR = 3614
+ PG_TSVECTORARRAY = 3643
PG_UNKNOWN = 705
PG_UUID = 2950
PG_UUIDARRAY = 2951
Modified: DBD-Pg/trunk/t/01constants.t
==============================================================================
--- DBD-Pg/trunk/t/01constants.t (original)
+++ DBD-Pg/trunk/t/01constants.t Sun Oct 7 16:51:58 2007
@@ -40,6 +40,8 @@
is(PG_FLOAT4ARRAY , 1021, 'PG_FLOAT4ARRAY returns correct value');
is(PG_FLOAT8 , 701, 'PG_FLOAT8 returns correct value');
is(PG_FLOAT8ARRAY , 1022, 'PG_FLOAT8ARRAY returns correct value');
+is(PG_GTSVECTOR , 3642, 'PG_GTSVECTOR returns correct value');
+is(PG_GTSVECTORARRAY , 3644, 'PG_GTSVECTORARRAY returns correct value');
is(PG_INET , 869, 'PG_INET returns correct value');
is(PG_INETARRAY , 1041, 'PG_INETARRAY returns correct value');
is(PG_INT2 , 21, 'PG_INT2 returns correct value');
@@ -86,6 +88,10 @@
is(PG_REFCURSORARRAY , 2201, 'PG_REFCURSORARRAY returns correct value');
is(PG_REGCLASS , 2205, 'PG_REGCLASS returns correct value');
is(PG_REGCLASSARRAY , 2210, 'PG_REGCLASSARRAY returns correct value');
+is(PG_REGCONFIG , 3734, 'PG_REGCONFIG returns correct value');
+is(PG_REGCONFIGARRAY , 3735, 'PG_REGCONFIGARRAY returns correct value');
+is(PG_REGDICTIONARY , 3769, 'PG_REGDICTIONARY returns correct value');
+is(PG_REGDICTIONARYARRAY, 3770, 'PG_REGDICTIONARYARRAY returns correct
value');
is(PG_REGOPER , 2203, 'PG_REGOPER returns correct value');
is(PG_REGOPERARRAY , 2208, 'PG_REGOPERARRAY returns correct value');
is(PG_REGOPERATOR , 2204, 'PG_REGOPERATOR returns correct value');
@@ -114,6 +120,10 @@
is(PG_TINTERVAL , 704, 'PG_TINTERVAL returns correct value');
is(PG_TINTERVALARRAY , 1025, 'PG_TINTERVALARRAY returns correct value');
is(PG_TRIGGER , 2279, 'PG_TRIGGER returns correct value');
+is(PG_TSQUERY , 3615, 'PG_TSQUERY returns correct value');
+is(PG_TSQUERYARRAY , 3645, 'PG_TSQUERYARRAY returns correct value');
+is(PG_TSVECTOR , 3614, 'PG_TSVECTOR returns correct value');
+is(PG_TSVECTORARRAY , 3643, 'PG_TSVECTORARRAY returns correct value');
is(PG_UNKNOWN , 705, 'PG_UNKNOWN returns correct value');
is(PG_UUID , 2950, 'PG_UUID returns correct value');
is(PG_UUIDARRAY , 2951, 'PG_UUIDARRAY returns correct value');
Modified: DBD-Pg/trunk/types.c
==============================================================================
--- DBD-Pg/trunk/types.c (original)
+++ DBD-Pg/trunk/types.c Sun Oct 7 16:51:58 2007
@@ -33,6 +33,7 @@
{PG_DATEARRAY, "_date", ',', "array_out", quote_string, dequote_string,
{0}, 0, 0},
{PG_FLOAT4ARRAY, "_float4", ',', "array_out", quote_string,
dequote_string, {0}, 0, 2},
{PG_FLOAT8ARRAY, "_float8", ',', "array_out", quote_string,
dequote_string, {0}, 0, 2},
+ {PG_GTSVECTORARRAY, "_gtsvector", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
{PG_INETARRAY, "_inet", ',', "array_out", quote_string, dequote_string,
{0}, 0, 0},
{PG_INT2ARRAY, "_int2", ',', "array_out", quote_string, dequote_string,
{0}, 0, 1},
{PG_INT2VECTORARRAY, "_int2vector", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
@@ -52,6 +53,8 @@
{PG_POLYGONARRAY, "_polygon", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
{PG_REFCURSORARRAY, "_refcursor", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
{PG_REGCLASSARRAY, "_regclass", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
+ {PG_REGCONFIGARRAY, "_regconfig", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
+ {PG_REGDICTIONARYARRAY, "_regdictionary", ',', "array_out",
quote_string, dequote_string, {0}, 0, 0},
{PG_REGOPERARRAY, "_regoper", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
{PG_REGOPERATORARRAY, "_regoperator", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
{PG_REGPROCARRAY, "_regproc", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
@@ -65,6 +68,8 @@
{PG_TIMESTAMPTZARRAY, "_timestamptz", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
{PG_TIMETZARRAY, "_timetz", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
{PG_TINTERVALARRAY, "_tinterval", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
+ {PG_TSQUERYARRAY, "_tsquery", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
+ {PG_TSVECTORARRAY, "_tsvector", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
{PG_UUIDARRAY, "_uuid", ',', "array_out", quote_string, dequote_string,
{0}, 0, 0},
{PG_VARBITARRAY, "_varbit", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
{PG_VARCHARARRAY, "_varchar", ',', "array_out", quote_string,
dequote_string, {0}, 0, 0},
@@ -87,9 +92,10 @@
{PG_CIDR, "cidr", ',', "cidr_out", quote_string, dequote_string, {0},
0, 0},
{PG_CIRCLE, "circle", ',', "circle_out", quote_circle, dequote_string,
{0}, 0, 0},
{PG_CSTRING, "cstring", ',', "cstring_out", quote_string,
dequote_string, {0}, 0, 0},
- {PG_DATE, "date", ',', "date_out", null_quote, null_dequote,
{SQL_TYPE_DATE}, 1, 0},
+ {PG_DATE, "date", ',', "date_out", quote_string, dequote_string,
{SQL_TYPE_DATE}, 1, 0},
{PG_FLOAT4, "float4", ',', "float4out", null_quote, null_dequote,
{SQL_REAL}, 1, 2},
{PG_FLOAT8, "float8", ',', "float8out", null_quote, null_dequote,
{SQL_FLOAT}, 1, 2},
+ {PG_GTSVECTOR, "gtsvector", ',', "gtsvectorout", quote_string,
dequote_string, {0}, 0, 0},
{PG_INET, "inet", ',', "inet_out", quote_string, dequote_string, {0},
0, 0},
{PG_INT2, "int2", ',', "int2out", null_quote, null_dequote,
{SQL_SMALLINT}, 1, 1},
{PG_INT2VECTOR, "int2vector", ',', "int2vectorout", quote_string,
dequote_string, {0}, 0, 0},
@@ -117,6 +123,8 @@
{PG_RECORD, "record", ',', "record_out", quote_string, dequote_string,
{0}, 0, 0},
{PG_REFCURSOR, "refcursor", ',', "textout", quote_string,
dequote_string, {0}, 0, 0},
{PG_REGCLASS, "regclass", ',', "regclassout", quote_string,
dequote_string, {0}, 0, 0},
+ {PG_REGCONFIG, "regconfig", ',', "regconfigout", quote_string,
dequote_string, {0}, 0, 0},
+ {PG_REGDICTIONARY, "regdictionary", ',', "regdictionaryout",
quote_string, dequote_string, {0}, 0, 0},
{PG_REGOPER, "regoper", ',', "regoperout", quote_string,
dequote_string, {0}, 0, 0},
{PG_REGOPERATOR, "regoperator", ',', "regoperatorout", quote_string,
dequote_string, {0}, 0, 0},
{PG_REGPROC, "regproc", ',', "regprocout", quote_string,
dequote_string, {0}, 0, 0},
@@ -126,12 +134,14 @@
{PG_SMGR, "smgr", ',', "smgrout", quote_string, dequote_string, {0}, 0,
0},
{PG_TEXT, "text", ',', "textout", quote_string, dequote_string,
{SQL_LONGVARCHAR}, 1, 0},
{PG_TID, "tid", ',', "tidout", quote_geom, dequote_string, {0}, 0, 0},
- {PG_TIME, "time", ',', "time_out", null_quote, null_dequote,
{SQL_TYPE_TIME}, 1, 0},
+ {PG_TIME, "time", ',', "time_out", quote_string, dequote_string,
{SQL_TYPE_TIME}, 1, 0},
{PG_TIMESTAMP, "timestamp", ',', "timestamp_out", quote_string,
dequote_string, {SQL_TIMESTAMP}, 1, 0},
- {PG_TIMESTAMPTZ, "timestamptz", ',', "timestamptz_out", null_quote,
null_dequote, {SQL_TYPE_TIMESTAMP_WITH_TIMEZONE}, 1, 0},
+ {PG_TIMESTAMPTZ, "timestamptz", ',', "timestamptz_out", quote_string,
dequote_string, {SQL_TYPE_TIMESTAMP_WITH_TIMEZONE}, 1, 0},
{PG_TIMETZ, "timetz", ',', "timetz_out", quote_string, dequote_string,
{0}, 0, 0},
{PG_TINTERVAL, "tinterval", ',', "tintervalout", quote_string,
dequote_string, {0}, 0, 0},
{PG_TRIGGER, "trigger", ',', "trigger_out", quote_string,
dequote_string, {0}, 0, 0},
+ {PG_TSQUERY, "tsquery", ',', "tsqueryout", quote_string,
dequote_string, {0}, 0, 0},
+ {PG_TSVECTOR, "tsvector", ',', "tsvectorout", quote_string,
dequote_string, {0}, 0, 0},
{PG_UNKNOWN, "unknown", ',', "unknownout", quote_string,
dequote_string, {0}, 0, 0},
{PG_UUID, "uuid", ',', "uuid_out", quote_string, dequote_string, {0},
0, 0},
{PG_VARBIT, "varbit", ',', "varbit_out", quote_string, dequote_string,
{0}, 0, 0},
@@ -161,112 +171,122 @@
case PG_DATEARRAY: return &pg_types[12];
case PG_FLOAT4ARRAY: return &pg_types[13];
case PG_FLOAT8ARRAY: return &pg_types[14];
- case PG_INETARRAY: return &pg_types[15];
- case PG_INT2ARRAY: return &pg_types[16];
- case PG_INT2VECTORARRAY: return &pg_types[17];
- case PG_INT4ARRAY: return &pg_types[18];
- case PG_INT8ARRAY: return &pg_types[19];
- case PG_INTERVALARRAY: return &pg_types[20];
- case PG_LINEARRAY: return &pg_types[21];
- case PG_LSEGARRAY: return &pg_types[22];
- case PG_MACADDRARRAY: return &pg_types[23];
- case PG_MONEYARRAY: return &pg_types[24];
- case PG_NAMEARRAY: return &pg_types[25];
- case PG_NUMERICARRAY: return &pg_types[26];
- case PG_OIDARRAY: return &pg_types[27];
- case PG_OIDVECTORARRAY: return &pg_types[28];
- case PG_PATHARRAY: return &pg_types[29];
- case PG_POINTARRAY: return &pg_types[30];
- case PG_POLYGONARRAY: return &pg_types[31];
- case PG_REFCURSORARRAY: return &pg_types[32];
- case PG_REGCLASSARRAY: return &pg_types[33];
- case PG_REGOPERARRAY: return &pg_types[34];
- case PG_REGOPERATORARRAY: return &pg_types[35];
- case PG_REGPROCARRAY: return &pg_types[36];
- case PG_REGPROCEDUREARRAY: return &pg_types[37];
- case PG_REGTYPEARRAY: return &pg_types[38];
- case PG_RELTIMEARRAY: return &pg_types[39];
- case PG_TEXTARRAY: return &pg_types[40];
- case PG_TIDARRAY: return &pg_types[41];
- case PG_TIMEARRAY: return &pg_types[42];
- case PG_TIMESTAMPARRAY: return &pg_types[43];
- case PG_TIMESTAMPTZARRAY: return &pg_types[44];
- case PG_TIMETZARRAY: return &pg_types[45];
- case PG_TINTERVALARRAY: return &pg_types[46];
- case PG_UUIDARRAY: return &pg_types[47];
- case PG_VARBITARRAY: return &pg_types[48];
- case PG_VARCHARARRAY: return &pg_types[49];
- case PG_XIDARRAY: return &pg_types[50];
- case PG_XMLARRAY: return &pg_types[51];
- case PG_ABSTIME: return &pg_types[52];
- case PG_ACLITEM: return &pg_types[53];
- case PG_ANY: return &pg_types[54];
- case PG_ANYARRAY: return &pg_types[55];
- case PG_ANYELEMENT: return &pg_types[56];
- case PG_ANYENUM: return &pg_types[57];
- case PG_ANYNONARRAY: return &pg_types[58];
- case PG_BIT: return &pg_types[59];
- case PG_BOOL: return &pg_types[60];
- case PG_BOX: return &pg_types[61];
- case PG_BPCHAR: return &pg_types[62];
- case PG_BYTEA: return &pg_types[63];
- case PG_CHAR: return &pg_types[64];
- case PG_CID: return &pg_types[65];
- case PG_CIDR: return &pg_types[66];
- case PG_CIRCLE: return &pg_types[67];
- case PG_CSTRING: return &pg_types[68];
- case PG_DATE: return &pg_types[69];
- case PG_FLOAT4: return &pg_types[70];
- case PG_FLOAT8: return &pg_types[71];
- case PG_INET: return &pg_types[72];
- case PG_INT2: return &pg_types[73];
- case PG_INT2VECTOR: return &pg_types[74];
- case PG_INT4: return &pg_types[75];
- case PG_INT8: return &pg_types[76];
- case PG_INTERNAL: return &pg_types[77];
- case PG_INTERVAL: return &pg_types[78];
- case PG_LANGUAGE_HANDLER: return &pg_types[79];
- case PG_LINE: return &pg_types[80];
- case PG_LSEG: return &pg_types[81];
- case PG_MACADDR: return &pg_types[82];
- case PG_MONEY: return &pg_types[83];
- case PG_NAME: return &pg_types[84];
- case PG_NUMERIC: return &pg_types[85];
- case PG_OID: return &pg_types[86];
- case PG_OIDVECTOR: return &pg_types[87];
- case PG_OPAQUE: return &pg_types[88];
- case PG_PATH: return &pg_types[89];
- case PG_PG_ATTRIBUTE: return &pg_types[90];
- case PG_PG_CLASS: return &pg_types[91];
- case PG_PG_PROC: return &pg_types[92];
- case PG_PG_TYPE: return &pg_types[93];
- case PG_POINT: return &pg_types[94];
- case PG_POLYGON: return &pg_types[95];
- case PG_RECORD: return &pg_types[96];
- case PG_REFCURSOR: return &pg_types[97];
- case PG_REGCLASS: return &pg_types[98];
- case PG_REGOPER: return &pg_types[99];
- case PG_REGOPERATOR: return &pg_types[100];
- case PG_REGPROC: return &pg_types[101];
- case PG_REGPROCEDURE: return &pg_types[102];
- case PG_REGTYPE: return &pg_types[103];
- case PG_RELTIME: return &pg_types[104];
- case PG_SMGR: return &pg_types[105];
- case PG_TEXT: return &pg_types[106];
- case PG_TID: return &pg_types[107];
- case PG_TIME: return &pg_types[108];
- case PG_TIMESTAMP: return &pg_types[109];
- case PG_TIMESTAMPTZ: return &pg_types[110];
- case PG_TIMETZ: return &pg_types[111];
- case PG_TINTERVAL: return &pg_types[112];
- case PG_TRIGGER: return &pg_types[113];
- case PG_UNKNOWN: return &pg_types[114];
- case PG_UUID: return &pg_types[115];
- case PG_VARBIT: return &pg_types[116];
- case PG_VARCHAR: return &pg_types[117];
- case PG_VOID: return &pg_types[118];
- case PG_XID: return &pg_types[119];
- case PG_XML: return &pg_types[120];
+ case PG_GTSVECTORARRAY: return &pg_types[15];
+ case PG_INETARRAY: return &pg_types[16];
+ case PG_INT2ARRAY: return &pg_types[17];
+ case PG_INT2VECTORARRAY: return &pg_types[18];
+ case PG_INT4ARRAY: return &pg_types[19];
+ case PG_INT8ARRAY: return &pg_types[20];
+ case PG_INTERVALARRAY: return &pg_types[21];
+ case PG_LINEARRAY: return &pg_types[22];
+ case PG_LSEGARRAY: return &pg_types[23];
+ case PG_MACADDRARRAY: return &pg_types[24];
+ case PG_MONEYARRAY: return &pg_types[25];
+ case PG_NAMEARRAY: return &pg_types[26];
+ case PG_NUMERICARRAY: return &pg_types[27];
+ case PG_OIDARRAY: return &pg_types[28];
+ case PG_OIDVECTORARRAY: return &pg_types[29];
+ case PG_PATHARRAY: return &pg_types[30];
+ case PG_POINTARRAY: return &pg_types[31];
+ case PG_POLYGONARRAY: return &pg_types[32];
+ case PG_REFCURSORARRAY: return &pg_types[33];
+ case PG_REGCLASSARRAY: return &pg_types[34];
+ case PG_REGCONFIGARRAY: return &pg_types[35];
+ case PG_REGDICTIONARYARRAY: return &pg_types[36];
+ case PG_REGOPERARRAY: return &pg_types[37];
+ case PG_REGOPERATORARRAY: return &pg_types[38];
+ case PG_REGPROCARRAY: return &pg_types[39];
+ case PG_REGPROCEDUREARRAY: return &pg_types[40];
+ case PG_REGTYPEARRAY: return &pg_types[41];
+ case PG_RELTIMEARRAY: return &pg_types[42];
+ case PG_TEXTARRAY: return &pg_types[43];
+ case PG_TIDARRAY: return &pg_types[44];
+ case PG_TIMEARRAY: return &pg_types[45];
+ case PG_TIMESTAMPARRAY: return &pg_types[46];
+ case PG_TIMESTAMPTZARRAY: return &pg_types[47];
+ case PG_TIMETZARRAY: return &pg_types[48];
+ case PG_TINTERVALARRAY: return &pg_types[49];
+ case PG_TSQUERYARRAY: return &pg_types[50];
+ case PG_TSVECTORARRAY: return &pg_types[51];
+ case PG_UUIDARRAY: return &pg_types[52];
+ case PG_VARBITARRAY: return &pg_types[53];
+ case PG_VARCHARARRAY: return &pg_types[54];
+ case PG_XIDARRAY: return &pg_types[55];
+ case PG_XMLARRAY: return &pg_types[56];
+ case PG_ABSTIME: return &pg_types[57];
+ case PG_ACLITEM: return &pg_types[58];
+ case PG_ANY: return &pg_types[59];
+ case PG_ANYARRAY: return &pg_types[60];
+ case PG_ANYELEMENT: return &pg_types[61];
+ case PG_ANYENUM: return &pg_types[62];
+ case PG_ANYNONARRAY: return &pg_types[63];
+ case PG_BIT: return &pg_types[64];
+ case PG_BOOL: return &pg_types[65];
+ case PG_BOX: return &pg_types[66];
+ case PG_BPCHAR: return &pg_types[67];
+ case PG_BYTEA: return &pg_types[68];
+ case PG_CHAR: return &pg_types[69];
+ case PG_CID: return &pg_types[70];
+ case PG_CIDR: return &pg_types[71];
+ case PG_CIRCLE: return &pg_types[72];
+ case PG_CSTRING: return &pg_types[73];
+ case PG_DATE: return &pg_types[74];
+ case PG_FLOAT4: return &pg_types[75];
+ case PG_FLOAT8: return &pg_types[76];
+ case PG_GTSVECTOR: return &pg_types[77];
+ case PG_INET: return &pg_types[78];
+ case PG_INT2: return &pg_types[79];
+ case PG_INT2VECTOR: return &pg_types[80];
+ case PG_INT4: return &pg_types[81];
+ case PG_INT8: return &pg_types[82];
+ case PG_INTERNAL: return &pg_types[83];
+ case PG_INTERVAL: return &pg_types[84];
+ case PG_LANGUAGE_HANDLER: return &pg_types[85];
+ case PG_LINE: return &pg_types[86];
+ case PG_LSEG: return &pg_types[87];
+ case PG_MACADDR: return &pg_types[88];
+ case PG_MONEY: return &pg_types[89];
+ case PG_NAME: return &pg_types[90];
+ case PG_NUMERIC: return &pg_types[91];
+ case PG_OID: return &pg_types[92];
+ case PG_OIDVECTOR: return &pg_types[93];
+ case PG_OPAQUE: return &pg_types[94];
+ case PG_PATH: return &pg_types[95];
+ case PG_PG_ATTRIBUTE: return &pg_types[96];
+ case PG_PG_CLASS: return &pg_types[97];
+ case PG_PG_PROC: return &pg_types[98];
+ case PG_PG_TYPE: return &pg_types[99];
+ case PG_POINT: return &pg_types[100];
+ case PG_POLYGON: return &pg_types[101];
+ case PG_RECORD: return &pg_types[102];
+ case PG_REFCURSOR: return &pg_types[103];
+ case PG_REGCLASS: return &pg_types[104];
+ case PG_REGCONFIG: return &pg_types[105];
+ case PG_REGDICTIONARY: return &pg_types[106];
+ case PG_REGOPER: return &pg_types[107];
+ case PG_REGOPERATOR: return &pg_types[108];
+ case PG_REGPROC: return &pg_types[109];
+ case PG_REGPROCEDURE: return &pg_types[110];
+ case PG_REGTYPE: return &pg_types[111];
+ case PG_RELTIME: return &pg_types[112];
+ case PG_SMGR: return &pg_types[113];
+ case PG_TEXT: return &pg_types[114];
+ case PG_TID: return &pg_types[115];
+ case PG_TIME: return &pg_types[116];
+ case PG_TIMESTAMP: return &pg_types[117];
+ case PG_TIMESTAMPTZ: return &pg_types[118];
+ case PG_TIMETZ: return &pg_types[119];
+ case PG_TINTERVAL: return &pg_types[120];
+ case PG_TRIGGER: return &pg_types[121];
+ case PG_TSQUERY: return &pg_types[122];
+ case PG_TSVECTOR: return &pg_types[123];
+ case PG_UNKNOWN: return &pg_types[124];
+ case PG_UUID: return &pg_types[125];
+ case PG_VARBIT: return &pg_types[126];
+ case PG_VARCHAR: return &pg_types[127];
+ case PG_VOID: return &pg_types[128];
+ case PG_XID: return &pg_types[129];
+ case PG_XML: return &pg_types[130];
default: return NULL;
}
}
@@ -276,7 +296,7 @@
{SQL_CHAR, "SQL_CHAR", ',', "none", quote_string, dequote_char,
{PG_BPCHAR}, 1, 0},
{SQL_VARBINARY, "SQL_VARBINARY", ',', "none", quote_bytea,
dequote_bytea, {PG_BYTEA}, 1, 0},
{SQL_CHAR, "SQL_CHAR", ',', "none", quote_string, dequote_char,
{PG_CHAR}, 1, 0},
- {SQL_TYPE_DATE, "SQL_TYPE_DATE", ',', "none", null_quote, null_dequote,
{PG_DATE}, 1, 0},
+ {SQL_TYPE_DATE, "SQL_TYPE_DATE", ',', "none", quote_string,
dequote_string, {PG_DATE}, 1, 0},
{SQL_REAL, "SQL_REAL", ',', "none", null_quote, null_dequote,
{PG_FLOAT4}, 1, 2},
{SQL_NUMERIC, "SQL_NUMERIC", ',', "none", null_quote, null_dequote,
{PG_FLOAT4}, 1, 2},
{SQL_FLOAT, "SQL_FLOAT", ',', "none", null_quote, null_dequote,
{PG_FLOAT8}, 1, 2},
@@ -288,11 +308,11 @@
{SQL_VARCHAR, "SQL_VARCHAR", ',', "none", null_quote, null_dequote,
{PG_NAME}, 1, 0},
{SQL_DECIMAL, "SQL_DECIMAL", ',', "none", null_quote, null_dequote,
{PG_NUMERIC}, 1, 2},
{SQL_LONGVARCHAR, "SQL_LONGVARCHAR", ',', "none", quote_string,
dequote_string, {PG_TEXT}, 1, 0},
- {SQL_TYPE_TIME, "SQL_TYPE_TIME", ',', "none", null_quote, null_dequote,
{PG_TIME}, 1, 0},
+ {SQL_TYPE_TIME, "SQL_TYPE_TIME", ',', "none", quote_string,
dequote_string, {PG_TIME}, 1, 0},
{SQL_TIMESTAMP, "SQL_TIMESTAMP", ',', "none", quote_string,
dequote_string, {PG_TIMESTAMP}, 1, 0},
{SQL_TYPE_TIMESTAMP, "SQL_TYPE_TIMESTAMP", ',', "none", quote_string,
dequote_string, {PG_TIMESTAMP}, 1, 0},
- {SQL_TYPE_TIMESTAMP_WITH_TIMEZONE, "SQL_TYPE_TIMESTAMP_WITH_TIMEZONE",
',', "none", null_quote, null_dequote, {PG_TIMESTAMPTZ}, 1, 0},
- {SQL_TYPE_TIME_WITH_TIMEZONE, "SQL_TYPE_TIME_WITH_TIMEZONE", ',',
"none", null_quote, null_dequote, {PG_TIMESTAMPTZ}, 1, 0},
+ {SQL_TYPE_TIMESTAMP_WITH_TIMEZONE, "SQL_TYPE_TIMESTAMP_WITH_TIMEZONE",
',', "none", quote_string, dequote_string, {PG_TIMESTAMPTZ}, 1, 0},
+ {SQL_TYPE_TIME_WITH_TIMEZONE, "SQL_TYPE_TIME_WITH_TIMEZONE", ',',
"none", quote_string, dequote_string, {PG_TIMESTAMPTZ}, 1, 0},
{SQL_VARCHAR, "SQL_VARCHAR", ',', "none", quote_string, dequote_string,
{PG_VARCHAR}, 1, 0},
};
@@ -683,10 +703,10 @@
bytea quote_bytea dequote_bytea SQL_VARBINARY 1 0
## Time and date
-date null_quote null_dequote SQL_TYPE_DATE 1 0
-time null_quote null_dequote SQL_TYPE_TIME 1 0
+date quote_string dequote_string SQL_TYPE_DATE 1 0
+time quote_string dequote_string SQL_TYPE_TIME 1 0
timestamp quote_string dequote_string SQL_TIMESTAMP|SQL_TYPE_TIMESTAMP 1 0
-timestamptz null_quote null_dequote
SQL_TYPE_TIMESTAMP_WITH_TIMEZONE|SQL_TYPE_TIME_WITH_TIMEZONE 1 0
+timestamptz quote_string dequote_string
SQL_TYPE_TIMESTAMP_WITH_TIMEZONE|SQL_TYPE_TIME_WITH_TIMEZONE 1 0
__END__
Modified: DBD-Pg/trunk/types.h
==============================================================================
--- DBD-Pg/trunk/types.h (original)
+++ DBD-Pg/trunk/types.h Sun Oct 7 16:51:58 2007
@@ -41,6 +41,7 @@
#define PG_DATE 1082
#define PG_FLOAT4 700
#define PG_FLOAT8 701
+#define PG_GTSVECTOR 3642
#define PG_INET 869
#define PG_INT2 21
#define PG_INT2VECTOR 22
@@ -68,6 +69,8 @@
#define PG_RECORD 2249
#define PG_REFCURSOR 1790
#define PG_REGCLASS 2205
+#define PG_REGCONFIG 3734
+#define PG_REGDICTIONARY 3769
#define PG_REGOPER 2203
#define PG_REGOPERATOR 2204
#define PG_REGPROC 24
@@ -83,6 +86,8 @@
#define PG_TIMETZ 1266
#define PG_TINTERVAL 704
#define PG_TRIGGER 2279
+#define PG_TSQUERY 3615
+#define PG_TSVECTOR 3614
#define PG_UNKNOWN 705
#define PG_UUID 2950
#define PG_VARBIT 1562
@@ -107,6 +112,7 @@
#define PG_DATEARRAY 1182
#define PG_FLOAT4ARRAY 1021
#define PG_FLOAT8ARRAY 1022
+#define PG_GTSVECTORARRAY 3644
#define PG_INETARRAY 1041
#define PG_INT2ARRAY 1005
#define PG_INT2VECTORARRAY 1006
@@ -126,6 +132,8 @@
#define PG_POLYGONARRAY 1027
#define PG_REFCURSORARRAY 2201
#define PG_REGCLASSARRAY 2210
+#define PG_REGCONFIGARRAY 3735
+#define PG_REGDICTIONARYARRAY 3770
#define PG_REGOPERARRAY 2208
#define PG_REGOPERATORARRAY 2209
#define PG_REGPROCARRAY 1008
@@ -139,6 +147,8 @@
#define PG_TIMESTAMPTZARRAY 1185
#define PG_TIMETZARRAY 1270
#define PG_TINTERVALARRAY 1025
+#define PG_TSQUERYARRAY 3645
+#define PG_TSVECTORARRAY 3643
#define PG_UUIDARRAY 2951
#define PG_VARBITARRAY 1563
#define PG_VARCHARARRAY 1015