Author: turnstep
Date: Sun Aug 19 08:58:08 2007
New Revision: 9856
Modified:
DBD-Pg/trunk/Pg.pm
DBD-Pg/trunk/types.c
Log:
Add complete list of exported types to POD docs.
Mention PG_BYTEA exception.
Modified: DBD-Pg/trunk/Pg.pm
==============================================================================
--- DBD-Pg/trunk/Pg.pm (original)
+++ DBD-Pg/trunk/Pg.pm Sun Aug 19 08:58:08 2007
@@ -2579,7 +2579,7 @@
type is officially deprecated. Use C<PG_BYTEA> with C<bind_param()> instead:
$rv = $sth->bind_param($param_num, $bind_value,
- { pg_type => DBD::Pg::PG_BYTEA });
+ { pg_type => PG_BYTEA });
=item B<quote_identifier>
@@ -2797,8 +2797,33 @@
use DBD::Pg qw(:pg_types);
+(The one exception is PG_BYTEA which is exported by default, and does
+not require the above import before being used).
You can then set the data types by setting the value of the C<pg_type>
-key in the hash passed to C<bind_param>.
+key in the hash passed to C<bind_param>.
+The current list of Postgres data types exported is:
+
+PG_ABSTIME PG_ABSTIMEARRAY PG_ACLITEM PG_ACLITEMARRAY PG_ANY PG_ANYARRAY
+PG_ANYELEMENT PG_ANYENUM PG_ANYNONARRAY PG_BIT PG_BITARRAY 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_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_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/types.c
==============================================================================
--- DBD-Pg/trunk/types.c (original)
+++ DBD-Pg/trunk/types.c Sun Aug 19 08:58:08 2007
@@ -481,6 +481,22 @@
next unless /\]/;
$step = 2;
}
+ elsif (2 == $step) {
+ if (/data types exported/) {
+ print $newfh $_;
+ $step = 0;
+ for (sort { $pgtype{$a}{define} cmp $pgtype{$b}{define}
} keys %pgtype) {
+ printf $newfh "%s$pgtype{$_}{define}",
!($step++ % 6) ? "\n" : " ";
+ }
+ print $newfh "\n\n";
+ $step = 3;
+ next;
+ }
+ }
+ elsif (3 == $step) {
+ next unless /sticky/;
+ $step = 4;
+ }
print $newfh $_;
}
close $newfh;