Author: turnstep
Date: Tue May 20 14:52:34 2008
New Revision: 11297

Modified:
   DBD-Pg/trunk/Changes
   DBD-Pg/trunk/dbdimp.c
   DBD-Pg/trunk/types.c

Log:
Quick test of types.c fix for pg_type bind_param casting.


Modified: DBD-Pg/trunk/Changes
==============================================================================
--- DBD-Pg/trunk/Changes        (original)
+++ DBD-Pg/trunk/Changes        Tue May 20 14:52:34 2008
@@ -1,5 +1,10 @@
 ('GSM' is Greg Sabino Mullane, [EMAIL PROTECTED])
 
+2.7.3
+
+       - Fixed problem preventing some pg_type bind_arrays
+               from working [GSM]
+
 2.7.2 Released May 14, 2008 (subversion r11269)
 
        - Handle embedded commas in quotes properly when destringifying 

Modified: DBD-Pg/trunk/dbdimp.c
==============================================================================
--- DBD-Pg/trunk/dbdimp.c       (original)
+++ DBD-Pg/trunk/dbdimp.c       Tue May 20 14:52:34 2008
@@ -2212,7 +2212,7 @@
        if (pg_type) {
                if ((currph->bind_type = pg_type_data(pg_type))) {
                        if (!currph->bind_type->bind_ok) { /* Re-evaluate with 
new prepare */
-                               croak("Cannot bind %s, sql_type %s not 
supported by DBD::Pg",
+                               croak("Cannot bind %s, pg_type %s not supported 
by DBD::Pg",
                                          name, currph->bind_type->type_name);
                        }
                }

Modified: DBD-Pg/trunk/types.c
==============================================================================
--- DBD-Pg/trunk/types.c        (original)
+++ DBD-Pg/trunk/types.c        Tue May 20 14:52:34 2008
@@ -18,139 +18,139 @@
 #include "Pg.h"
 
 static sql_type_info_t pg_types[] = {
- {PG_ABSTIMEARRAY      ,"_abstime"         ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_ACLITEMARRAY      ,"_aclitem"         ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_BITARRAY          ,"_bit"             ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_BOOLARRAY         ,"_bool"            ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_BOXARRAY          ,"_box"             ,';',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_BPCHARARRAY       ,"_bpchar"          ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_BYTEAARRAY        ,"_bytea"           ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_CHARARRAY         ,"_char"            ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_CIDARRAY          ,"_cid"             ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_CIDRARRAY         ,"_cidr"            ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_CIRCLEARRAY       ,"_circle"          ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_CSTRINGARRAY      ,"_cstring"         ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {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},
- {PG_INT4ARRAY         ,"_int4"            ,',',"array_out"       
,quote_string,dequote_string,{0},0,1},
- {PG_INT8ARRAY         ,"_int8"            ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_INTERVALARRAY     ,"_interval"        ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_LINEARRAY         ,"_line"            ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_LSEGARRAY         ,"_lseg"            ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_MACADDRARRAY      ,"_macaddr"         ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_MONEYARRAY        ,"_money"           ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_NAMEARRAY         ,"_name"            ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_NUMERICARRAY      ,"_numeric"         ,',',"array_out"       
,quote_string,dequote_string,{0},0,2},
- {PG_OIDARRAY          ,"_oid"             ,',',"array_out"       
,quote_string,dequote_string,{0},0,1},
- {PG_OIDVECTORARRAY    ,"_oidvector"       ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_PATHARRAY         ,"_path"            ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_POINTARRAY        ,"_point"           ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {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},
- {PG_REGPROCEDUREARRAY ,"_regprocedure"    ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_REGTYPEARRAY      ,"_regtype"         ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_RELTIMEARRAY      ,"_reltime"         ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_TEXTARRAY         ,"_text"            ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_TIDARRAY          ,"_tid"             ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_TIMEARRAY         ,"_time"            ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_TIMESTAMPARRAY    ,"_timestamp"       ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {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_TXID_SNAPSHOTARRAY,"_txid_snapshot"   ,',',"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},
- {PG_XIDARRAY          ,"_xid"             ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_XMLARRAY          ,"_xml"             ,',',"array_out"       
,quote_string,dequote_string,{0},0,0},
- {PG_ABSTIME           ,"abstime"          ,',',"abstimeout"      
,quote_string,dequote_string,{0},0,0},
- {PG_ACLITEM           ,"aclitem"          ,',',"aclitemout"      
,quote_string,dequote_string,{0},0,0},
- {PG_ANY               ,"any"              ,',',"any_out"         
,quote_string,dequote_string,{0},0,0},
- {PG_ANYARRAY          ,"anyarray"         ,',',"anyarray_out"    
,quote_string,dequote_string,{0},0,0},
- {PG_ANYELEMENT        ,"anyelement"       ,',',"anyelement_out"  
,quote_string,dequote_string,{0},0,0},
- {PG_ANYENUM           ,"anyenum"          ,',',"anyenum_out"     
,quote_string,dequote_string,{0},0,0},
- {PG_ANYNONARRAY       ,"anynonarray"      ,',',"anynonarray_out" 
,quote_string,dequote_string,{0},0,0},
- {PG_BIT               ,"bit"              ,',',"bit_out"         
,quote_string,dequote_string,{0},0,0},
+ {PG_ABSTIMEARRAY      ,"_abstime"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_ACLITEMARRAY      ,"_aclitem"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_BITARRAY          ,"_bit"             ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_BOOLARRAY         ,"_bool"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_BOXARRAY          ,"_box"             ,';',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_BPCHARARRAY       ,"_bpchar"          ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_BYTEAARRAY        ,"_bytea"           ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_CHARARRAY         ,"_char"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_CIDARRAY          ,"_cid"             ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_CIDRARRAY         ,"_cidr"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_CIRCLEARRAY       ,"_circle"          ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_CSTRINGARRAY      ,"_cstring"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_DATEARRAY         ,"_date"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_FLOAT4ARRAY       ,"_float4"          ,',',"array_out"       
,quote_string,dequote_string,{0},1,2},
+ {PG_FLOAT8ARRAY       ,"_float8"          ,',',"array_out"       
,quote_string,dequote_string,{0},1,2},
+ {PG_GTSVECTORARRAY    ,"_gtsvector"       ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_INETARRAY         ,"_inet"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_INT2ARRAY         ,"_int2"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,1},
+ {PG_INT2VECTORARRAY   ,"_int2vector"      ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_INT4ARRAY         ,"_int4"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,1},
+ {PG_INT8ARRAY         ,"_int8"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_INTERVALARRAY     ,"_interval"        ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_LINEARRAY         ,"_line"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_LSEGARRAY         ,"_lseg"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_MACADDRARRAY      ,"_macaddr"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_MONEYARRAY        ,"_money"           ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_NAMEARRAY         ,"_name"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_NUMERICARRAY      ,"_numeric"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,2},
+ {PG_OIDARRAY          ,"_oid"             ,',',"array_out"       
,quote_string,dequote_string,{0},1,1},
+ {PG_OIDVECTORARRAY    ,"_oidvector"       ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_PATHARRAY         ,"_path"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_POINTARRAY        ,"_point"           ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_POLYGONARRAY      ,"_polygon"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_REFCURSORARRAY    ,"_refcursor"       ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_REGCLASSARRAY     ,"_regclass"        ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_REGCONFIGARRAY    ,"_regconfig"       ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_REGDICTIONARYARRAY,"_regdictionary"   ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_REGOPERARRAY      ,"_regoper"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_REGOPERATORARRAY  ,"_regoperator"     ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_REGPROCARRAY      ,"_regproc"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_REGPROCEDUREARRAY ,"_regprocedure"    ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_REGTYPEARRAY      ,"_regtype"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_RELTIMEARRAY      ,"_reltime"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_TEXTARRAY         ,"_text"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_TIDARRAY          ,"_tid"             ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_TIMEARRAY         ,"_time"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_TIMESTAMPARRAY    ,"_timestamp"       ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_TIMESTAMPTZARRAY  ,"_timestamptz"     ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_TIMETZARRAY       ,"_timetz"          ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_TINTERVALARRAY    ,"_tinterval"       ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_TSQUERYARRAY      ,"_tsquery"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_TSVECTORARRAY     ,"_tsvector"        ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_TXID_SNAPSHOTARRAY,"_txid_snapshot"   ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_UUIDARRAY         ,"_uuid"            ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_VARBITARRAY       ,"_varbit"          ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_VARCHARARRAY      ,"_varchar"         ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_XIDARRAY          ,"_xid"             ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_XMLARRAY          ,"_xml"             ,',',"array_out"       
,quote_string,dequote_string,{0},1,0},
+ {PG_ABSTIME           ,"abstime"          ,',',"abstimeout"      
,quote_string,dequote_string,{0},1,0},
+ {PG_ACLITEM           ,"aclitem"          ,',',"aclitemout"      
,quote_string,dequote_string,{0},1,0},
+ {PG_ANY               ,"any"              ,',',"any_out"         
,quote_string,dequote_string,{0},1,0},
+ {PG_ANYARRAY          ,"anyarray"         ,',',"anyarray_out"    
,quote_string,dequote_string,{0},1,0},
+ {PG_ANYELEMENT        ,"anyelement"       ,',',"anyelement_out"  
,quote_string,dequote_string,{0},1,0},
+ {PG_ANYENUM           ,"anyenum"          ,',',"anyenum_out"     
,quote_string,dequote_string,{0},1,0},
+ {PG_ANYNONARRAY       ,"anynonarray"      ,',',"anynonarray_out" 
,quote_string,dequote_string,{0},1,0},
+ {PG_BIT               ,"bit"              ,',',"bit_out"         
,quote_string,dequote_string,{0},1,0},
  {PG_BOOL              ,"bool"             ,',',"boolout"         ,quote_bool  
,dequote_bool  ,{SQL_BOOLEAN},1,0},
- {PG_BOX               ,"box"              ,';',"box_out"         ,quote_geom  
,dequote_string,{0},0,0},
+ {PG_BOX               ,"box"              ,';',"box_out"         ,quote_geom  
,dequote_string,{0},1,0},
  {PG_BPCHAR            ,"bpchar"           ,',',"bpcharout"       
,quote_string,dequote_char  ,{SQL_CHAR},1,0},
  {PG_BYTEA             ,"bytea"            ,',',"byteaout"        ,quote_bytea 
,dequote_bytea ,{SQL_VARBINARY},1,0},
- {PG_CHAR              ,"char"             ,',',"charout"         
,quote_string,dequote_char  ,{SQL_CHAR},0,0},
- {PG_CID               ,"cid"              ,',',"cidout"          
,quote_string,dequote_string,{0},0,0},
- {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_CHAR              ,"char"             ,',',"charout"         
,quote_string,dequote_char  ,{SQL_CHAR},1,0},
+ {PG_CID               ,"cid"              ,',',"cidout"          
,quote_string,dequote_string,{0},1,0},
+ {PG_CIDR              ,"cidr"             ,',',"cidr_out"        
,quote_string,dequote_string,{0},1,0},
+ {PG_CIRCLE            ,"circle"           ,',',"circle_out"      
,quote_circle,dequote_string,{0},1,0},
+ {PG_CSTRING           ,"cstring"          ,',',"cstring_out"     
,quote_string,dequote_string,{0},1,0},
  {PG_DATE              ,"date"             ,',',"date_out"        
,quote_string,dequote_string,{SQL_TYPE_DATE},1,0},
  {PG_FLOAT4            ,"float4"           ,',',"float4out"       ,null_quote  
,null_dequote  ,{0},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_GTSVECTOR         ,"gtsvector"        ,',',"gtsvectorout"    
,quote_string,dequote_string,{0},1,0},
+ {PG_INET              ,"inet"             ,',',"inet_out"        
,quote_string,dequote_string,{0},1,0},
  {PG_INT2              ,"int2"             ,',',"int2out"         ,null_quote  
,null_dequote  ,{SQL_SMALLINT},1,1},
- {PG_INT2VECTOR        ,"int2vector"       ,',',"int2vectorout"   
,quote_string,dequote_string,{0},0,0},
+ {PG_INT2VECTOR        ,"int2vector"       ,',',"int2vectorout"   
,quote_string,dequote_string,{0},1,0},
  {PG_INT4              ,"int4"             ,',',"int4out"         ,null_quote  
,null_dequote  ,{SQL_INTEGER},1,1},
  {PG_INT8              ,"int8"             ,',',"int8out"         ,null_quote  
,null_dequote  ,{SQL_BIGINT},1,0},
- {PG_INTERNAL          ,"internal"         ,',',"internal_out"    
,quote_string,dequote_string,{0},0,0},
- {PG_INTERVAL          ,"interval"         ,',',"interval_out"    
,quote_string,dequote_string,{0},0,0},
- {PG_LANGUAGE_HANDLER  ,"language_handler" 
,',',"language_handler_out",quote_string,dequote_string,{0},0,0},
- {PG_LINE              ,"line"             ,',',"line_out"        ,quote_geom  
,dequote_string,{0},0,0},
- {PG_LSEG              ,"lseg"             ,',',"lseg_out"        ,quote_geom  
,dequote_string,{0},0,0},
- {PG_MACADDR           ,"macaddr"          ,',',"macaddr_out"     
,quote_string,dequote_string,{0},0,0},
- {PG_MONEY             ,"money"            ,',',"cash_out"        
,quote_string,dequote_string,{0},0,0},
- {PG_NAME              ,"name"             ,',',"nameout"         ,null_quote  
,null_dequote  ,{SQL_VARCHAR},0,0},
+ {PG_INTERNAL          ,"internal"         ,',',"internal_out"    
,quote_string,dequote_string,{0},1,0},
+ {PG_INTERVAL          ,"interval"         ,',',"interval_out"    
,quote_string,dequote_string,{0},1,0},
+ {PG_LANGUAGE_HANDLER  ,"language_handler" 
,',',"language_handler_out",quote_string,dequote_string,{0},1,0},
+ {PG_LINE              ,"line"             ,',',"line_out"        ,quote_geom  
,dequote_string,{0},1,0},
+ {PG_LSEG              ,"lseg"             ,',',"lseg_out"        ,quote_geom  
,dequote_string,{0},1,0},
+ {PG_MACADDR           ,"macaddr"          ,',',"macaddr_out"     
,quote_string,dequote_string,{0},1,0},
+ {PG_MONEY             ,"money"            ,',',"cash_out"        
,quote_string,dequote_string,{0},1,0},
+ {PG_NAME              ,"name"             ,',',"nameout"         ,null_quote  
,null_dequote  ,{SQL_VARCHAR},1,0},
  {PG_NUMERIC           ,"numeric"          ,',',"numeric_out"     ,null_quote  
,null_dequote  ,{SQL_DECIMAL},1,2},
- {PG_OID               ,"oid"              ,',',"oidout"          ,null_quote  
,null_dequote  ,{0},0,1},
- {PG_OIDVECTOR         ,"oidvector"        ,',',"oidvectorout"    
,quote_string,dequote_string,{0},0,0},
- {PG_OPAQUE            ,"opaque"           ,',',"opaque_out"      
,quote_string,dequote_string,{0},0,0},
- {PG_PATH              ,"path"             ,',',"path_out"        ,quote_path  
,dequote_string,{0},0,0},
- {PG_PG_ATTRIBUTE      ,"pg_attribute"     ,',',"record_out"      
,quote_string,dequote_string,{0},0,0},
- {PG_PG_CLASS          ,"pg_class"         ,',',"record_out"      
,quote_string,dequote_string,{0},0,0},
- {PG_PG_PROC           ,"pg_proc"          ,',',"record_out"      
,quote_string,dequote_string,{0},0,0},
- {PG_PG_TYPE           ,"pg_type"          ,',',"record_out"      
,quote_string,dequote_string,{0},0,0},
- {PG_POINT             ,"point"            ,',',"point_out"       ,quote_geom  
,dequote_string,{0},0,0},
- {PG_POLYGON           ,"polygon"          ,',',"poly_out"        ,quote_geom  
,dequote_string,{0},0,0},
- {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},
- {PG_REGPROCEDURE      ,"regprocedure"     ,',',"regprocedureout" 
,quote_string,dequote_string,{0},0,0},
- {PG_REGTYPE           ,"regtype"          ,',',"regtypeout"      
,quote_string,dequote_string,{0},0,0},
- {PG_RELTIME           ,"reltime"          ,',',"reltimeout"      
,quote_string,dequote_string,{0},0,0},
- {PG_SMGR              ,"smgr"             ,',',"smgrout"         
,quote_string,dequote_string,{0},0,0},
+ {PG_OID               ,"oid"              ,',',"oidout"          ,null_quote  
,null_dequote  ,{0},1,1},
+ {PG_OIDVECTOR         ,"oidvector"        ,',',"oidvectorout"    
,quote_string,dequote_string,{0},1,0},
+ {PG_OPAQUE            ,"opaque"           ,',',"opaque_out"      
,quote_string,dequote_string,{0},1,0},
+ {PG_PATH              ,"path"             ,',',"path_out"        ,quote_path  
,dequote_string,{0},1,0},
+ {PG_PG_ATTRIBUTE      ,"pg_attribute"     ,',',"record_out"      
,quote_string,dequote_string,{0},1,0},
+ {PG_PG_CLASS          ,"pg_class"         ,',',"record_out"      
,quote_string,dequote_string,{0},1,0},
+ {PG_PG_PROC           ,"pg_proc"          ,',',"record_out"      
,quote_string,dequote_string,{0},1,0},
+ {PG_PG_TYPE           ,"pg_type"          ,',',"record_out"      
,quote_string,dequote_string,{0},1,0},
+ {PG_POINT             ,"point"            ,',',"point_out"       ,quote_geom  
,dequote_string,{0},1,0},
+ {PG_POLYGON           ,"polygon"          ,',',"poly_out"        ,quote_geom  
,dequote_string,{0},1,0},
+ {PG_RECORD            ,"record"           ,',',"record_out"      
,quote_string,dequote_string,{0},1,0},
+ {PG_REFCURSOR         ,"refcursor"        ,',',"textout"         
,quote_string,dequote_string,{0},1,0},
+ {PG_REGCLASS          ,"regclass"         ,',',"regclassout"     
,quote_string,dequote_string,{0},1,0},
+ {PG_REGCONFIG         ,"regconfig"        ,',',"regconfigout"    
,quote_string,dequote_string,{0},1,0},
+ {PG_REGDICTIONARY     ,"regdictionary"    
,',',"regdictionaryout",quote_string,dequote_string,{0},1,0},
+ {PG_REGOPER           ,"regoper"          ,',',"regoperout"      
,quote_string,dequote_string,{0},1,0},
+ {PG_REGOPERATOR       ,"regoperator"      ,',',"regoperatorout"  
,quote_string,dequote_string,{0},1,0},
+ {PG_REGPROC           ,"regproc"          ,',',"regprocout"      
,quote_string,dequote_string,{0},1,0},
+ {PG_REGPROCEDURE      ,"regprocedure"     ,',',"regprocedureout" 
,quote_string,dequote_string,{0},1,0},
+ {PG_REGTYPE           ,"regtype"          ,',',"regtypeout"      
,quote_string,dequote_string,{0},1,0},
+ {PG_RELTIME           ,"reltime"          ,',',"reltimeout"      
,quote_string,dequote_string,{0},1,0},
+ {PG_SMGR              ,"smgr"             ,',',"smgrout"         
,quote_string,dequote_string,{0},1,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_TID               ,"tid"              ,',',"tidout"          ,quote_geom  
,dequote_string,{0},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" 
,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_TXID_SNAPSHOT     ,"txid_snapshot"    
,',',"txid_snapshot_out",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},
+ {PG_TIMETZ            ,"timetz"           ,',',"timetz_out"      
,quote_string,dequote_string,{0},1,0},
+ {PG_TINTERVAL         ,"tinterval"        ,',',"tintervalout"    
,quote_string,dequote_string,{0},1,0},
+ {PG_TRIGGER           ,"trigger"          ,',',"trigger_out"     
,quote_string,dequote_string,{0},1,0},
+ {PG_TSQUERY           ,"tsquery"          ,',',"tsqueryout"      
,quote_string,dequote_string,{0},1,0},
+ {PG_TSVECTOR          ,"tsvector"         ,',',"tsvectorout"     
,quote_string,dequote_string,{0},1,0},
+ {PG_TXID_SNAPSHOT     ,"txid_snapshot"    
,',',"txid_snapshot_out",quote_string,dequote_string,{0},1,0},
+ {PG_UNKNOWN           ,"unknown"          ,',',"unknownout"      
,quote_string,dequote_string,{0},1,0},
+ {PG_UUID              ,"uuid"             ,',',"uuid_out"        
,quote_string,dequote_string,{0},1,0},
+ {PG_VARBIT            ,"varbit"           ,',',"varbit_out"      
,quote_string,dequote_string,{0},1,0},
  {PG_VARCHAR           ,"varchar"          ,',',"varcharout"      
,quote_string,dequote_string,{SQL_VARCHAR},1,0},
- {PG_VOID              ,"void"             ,',',"void_out"        
,quote_string,dequote_string,{0},0,0},
- {PG_XID               ,"xid"              ,',',"xidout"          
,quote_string,dequote_string,{0},0,0},
- {PG_XML               ,"xml"              ,',',"xml_out"         
,quote_string,dequote_string,{0},0,0},
+ {PG_VOID              ,"void"             ,',',"void_out"        
,quote_string,dequote_string,{0},1,0},
+ {PG_XID               ,"xid"              ,',',"xidout"          
,quote_string,dequote_string,{0},1,0},
+ {PG_XML               ,"xml"              ,',',"xml_out"         
,quote_string,dequote_string,{0},1,0},
 };
 
 sql_type_info_t* pg_type_data(int sql_type)
@@ -622,7 +622,7 @@
        $pgtype{$name}{svtype}  = $svtype;
        ## For arrays, we want to echo the base svtype
        if ($svtype and exists $pgtype{"_$name"} and $pgtype{"_$name"}{textin} 
=~ /array/) {
-      $pgtype{"_$name"}{svtype} = $svtype;
+        $pgtype{"_$name"}{svtype} = $svtype;
        }
 }
 
@@ -634,14 +634,12 @@
 my %pos;
 my $item = 0;
 for my $name (sort {$a cmp $b } keys %pgtype) {
-       ## {BOOLOID, "bool", ",", "boolout", quote_bool, dequote_bool, 
{SQL_BOOLEAN}, DBDPG_TRUE},
        my $t = $pgtype{$name};
        my ($sqltype,$quote,$dequote) = (0,0,0);
-       ## INT2OID, int2, null_quote, null_dequote, SQL_SMALLINT|SQL_TINYINT, 1
        (my $sql = $t->{sql}) =~ s#^(\w+).*#$1#;
 
        printf $newfh qq! {%-*s,%-*s,'%s',%-18s,%-12s,%-14s,\{%s\},%d,%d\},\n!,
-               $maxlen, $t->{define}, $maxlen-2, "\"$name\"", $t->{delim}, 
"\"$t->{textout}\"", $t->{quote}, $t->{dequote}, $sql, $t->{sqlc}, $t->{svtype};
+               $maxlen, $t->{define}, $maxlen-2, "\"$name\"", $t->{delim}, 
"\"$t->{textout}\"", $t->{quote}, $t->{dequote}, $sql, 1, $t->{svtype};
        $pos{$name} = $item++;
 }
 
@@ -695,7 +693,7 @@
 
 exit;
 __DATA__
-## Format: for each type, there are 5 items, space separated:
+## Format: for each type, there are 6 items, space separated:
 ## 1. The given name, from the Postgres source code (pg_type.h)
 ## 2. The function name we use to do the quoting, or 0 if we do not bind it
 ## 3. The function name we use for DE-quoting
@@ -749,4 +747,3 @@
 
 */
 
-

Reply via email to