Author: mjevans
Date: Sat Feb 5 04:40:49 2011
New Revision: 14675
Modified:
dbi/trunk/Changes
dbi/trunk/DBI.pm
dbi/trunk/DBIXS.h
Log:
Add Con, ENC and DBD trace flags and add macros for XS including the existing
SQL trace flag
Modified: dbi/trunk/Changes
==============================================================================
--- dbi/trunk/Changes (original)
+++ dbi/trunk/Changes Sat Feb 5 04:40:49 2011
@@ -12,6 +12,7 @@
people doing DBI->{Attrib}.
Fixed the definition of ArrayTupleStatus and remove confusion over
rows affected in list context of execute_array (Martin J. Evans)
+ Added CON, ENC and DBD trace flags (MArtin J. Evans)
=head2 Changes in DBI 1.616 (svn r14616) 30th December 2010
Modified: dbi/trunk/DBI.pm
==============================================================================
--- dbi/trunk/DBI.pm (original)
+++ dbi/trunk/DBI.pm Sat Feb 5 04:40:49 2011
@@ -1416,6 +1416,9 @@
my ($h, $name) = @_;
# 0xddDDDDrL (driver, DBI, reserved, Level)
return 0x00000100 if $name eq 'SQL';
+ return 0x00000200 if $name eq 'CON';
+ return 0x00000400 if $name eq 'ENC';
+ return 0x00000800 if $name eq 'DBD';
return;
}
@@ -7601,6 +7604,12 @@
ALL - turn on all DBI and driver flags (not recommended)
SQL - trace SQL statements executed
(not yet implemented in DBI but implemented in some DBDs)
+ CON - trace connection process
+ (not yet implemented in DBI but implemented in some DBDs)
+ ENC - trace encoding (unicode translations etc)
+ (not yet implemented in DBI but implemented in some DBDs)
+ DBD - trace only DBD messages
+ (not implemented by all DBDs yet)
The L</parse_trace_flags> and L</parse_trace_flag> methods are used
to convert trace flag names into the corresponding integer bit flags.
Modified: dbi/trunk/DBIXS.h
==============================================================================
--- dbi/trunk/DBIXS.h (original)
+++ dbi/trunk/DBIXS.h Sat Feb 5 04:40:49 2011
@@ -202,6 +202,12 @@
#define DBIc_TRACE_SETTINGS(imp) (DBIc_DBISTATE(imp)->debug)
#define DBIc_TRACE_LEVEL(imp) (DBIc_TRACE_SETTINGS(imp) &
DBIc_TRACE_LEVEL_MASK)
#define DBIc_TRACE_FLAGS(imp) (DBIc_TRACE_SETTINGS(imp) &
DBIc_TRACE_FLAGS_MASK)
+/* DBI defined trace flags */
+#define DBIf_TRACE_SQL 0x00000100
+#define DBIf_TRACE_CON 0x00000200
+#define DBIf_TRACE_ENC 0x00000400
+#define DBIf_TRACE_DBD 0x00000800
+
/* DBIc_TRACE_MATCHES(this, crnt): true if this 'matches' (is within) crnt
DBIc_TRACE_MATCHES(foo, DBIc_TRACE_SETTINGS(imp))
*/