Here are the results for DBD::CSV, first using the XS SQL::Statement,
and then using the Perl SQL::Statement. As you can see, there's quite a
bit of difference.
--
Jeff
DBD::CSV + XS VERSION OF SQL STATEMENT
--------------------------------------
114 SQL_CATALOG_LOCATION 1 SQL_CL_START
41 SQL_CATALOG_NAME_SEPARATOR .
132 SQL_CREATE_TABLE 0x00000001
SQL_CT_CREATE_TABLE
2 SQL_DATA_SOURCE_NAME dbi:CSV:f_dir=/usr/me
25 SQL_DATA_SOURCE_READ_ONLY N
17 SQL_DBMS_NAME CSV
18 SQL_DBMS_VER 00.2003.0000; ss-0.1021
6 SQL_DRIVER_NAME CSV
7 SQL_DRIVER_VER 00.2003.0000; ss-0.1021
141 SQL_DROP_TABLE 0x00000001
SQL_DT_DROP_TABLE
84 SQL_FILE_USAGE 1 SQL_FILE_TABLE
28 SQL_IDENTIFIER_CASE 3
SQL_IC_SENSITIVE
29 SQL_IDENTIFIER_QUOTE_CHAR
172 SQL_INSERT_STATEMENT 0x00000001
SQL_IS_INSERT_LITERALS
89 SQL_KEYWORDS [snip]
75 SQL_NON_NULLABLE_COLUMNS 1
SQL_NNC_NON_NULL
90 SQL_ORDER_BY_COLUMNS_IN_SELECT N
160 SQL_SQL92_PREDICATES 0x00003206
SQL_SP_ISNOTNULL | SQL_SP_ISNULL | SQL_SP_LIKE | SQL_SP_COMPARISON |
SQL_SP_QUANTIFIED_COMPARISON
163 SQL_SQL92_ROW_VALUE_CONSTRUCTOR 0x00000003
SQL_SRVC_VALUE_EXPRESSION | SQL_SRVC_NULL
45 SQL_TABLE_TERM table
DBD::CSV + PERL VERSION OF SQL STATEMENT
----------------------------------------
20 SQL_ACCESSIBLE_PROCEDURES N
19 SQL_ACCESSIBLE_TABLES Y
169 SQL_AGGREGATE_FUNCTIONS 0x0000007F SQL_AF_AVG |
SQL_AF_COUNT | SQL_AF_MAX | SQL_AF_MIN | SQL_AF_SUM | SQL_AF_DISTINCT |
SQL_AF_ALL
114 SQL_CATALOG_LOCATION 1 SQL_CL_START
10003 SQL_CATALOG_NAME N
41 SQL_CATALOG_NAME_SEPARATOR .
42 SQL_CATALOG_TERM
10004 SQL_COLLATING_SEQUENCE ISO-8859-1
87 SQL_COLUMN_ALIAS N
74 SQL_CORRELATION_NAME 2 SQL_CN_ANY
132 SQL_CREATE_TABLE 0x00000001
SQL_CT_CREATE_TABLE
2 SQL_DATA_SOURCE_NAME dbi:CSV:f_dir=/usr/me
25 SQL_DATA_SOURCE_READ_ONLY N
17 SQL_DBMS_NAME CSV
18 SQL_DBMS_VER 00.2003.0000; ss-1.004
10002 SQL_DESCRIBE_PARAMETER N
6 SQL_DRIVER_NAME CSV
7 SQL_DRIVER_VER 00.2003.0000; ss-1.004
141 SQL_DROP_TABLE 0x00000001
SQL_DT_DROP_TABLE
84 SQL_FILE_USAGE 1 SQL_FILE_TABLE
28 SQL_IDENTIFIER_CASE 4 SQL_IC_MIXED
29 SQL_IDENTIFIER_QUOTE_CHAR "
172 SQL_INSERT_STATEMENT 0x00000001
SQL_IS_INSERT_LITERALS
89 SQL_KEYWORDS [snip]
113 SQL_LIKE_ESCAPE_CLAUSE N
111 SQL_NEED_LONG_DATA_LEN N
75 SQL_NON_NULLABLE_COLUMNS 1
SQL_NNC_NON_NULL
85 SQL_NULL_COLLATION 1 SQL_NC_LOW
115 SQL_OJ_CAPABILITIES 0x00000037 SQL_OJ_LEFT |
SQL_OJ_RIGHT | SQL_OJ_FULL | SQL_OJ_NOT_ORDERED | SQL_OJ_INNER
90 SQL_ORDER_BY_COLUMNS_IN_SELECT N
39 SQL_OWNER_TERM schema
21 SQL_PROCEDURES N
93 SQL_QUOTED_IDENTIFIER_CASE 3
SQL_IC_SENSITIVE
11 SQL_ROW_UPDATES N
160 SQL_SQL92_PREDICATES 0x00003E06
SQL_SP_ISNOTNULL | SQL_SP_ISNULL | SQL_SP_LIKE | SQL_SP_IN |
SQL_SP_BETWEEN | SQL_SP_COMPARISON | SQL_SP_QUANTIFIED_COMPARISON
161 SQL_SQL92_RELATIONAL_JOIN_OPERATORS 0x000001D8
SQL_SRJO_FULL_OUTER_JOIN | SQL_SRJO_INNER_JOIN |
SQL_SRJO_LEFT_OUTER_JOIN | SQL_SRJO_NATURAL_JOIN |
SQL_SRJO_RIGHT_OUTER_JOIN
163 SQL_SQL92_ROW_VALUE_CONSTRUCTOR 0x00000003
SQL_SRVC_VALUE_EXPRESSION | SQL_SRVC_NULL
164 SQL_SQL92_STRING_FUNCTIONS 0x000000EE SQL_SSF_LOWER
| SQL_SSF_UPPER | SQL_SSF_SUBSTRING | SQL_SSF_TRIM_BOTH |
SQL_SSF_TRIM_LEADING | SQL_SSF_TRIM_TRAILING
50 SQL_STRING_FUNCTIONS 0x00001C49
SQL_FN_STR_CONCAT | SQL_FN_STR_LTRIM | SQL_FN_STR_LCASE |
SQL_FN_STR_RTRIM | SQL_FN_STR_SUBSTRING | SQL_FN_STR_UCASE
45 SQL_TABLE_TERM table