@@ -1,14 +1,3 @@
-0.43 - 2014-06-30, H.Merijn Brand
- * Updated copyright to 2014
- * Unquote schema's in test for cygwin
- * Extra guards in Makefile.PL for unmet requirements
-
-0.42 - 2013-08-14, H.Merijn Brand
- * Optionally skip tests using File::Spec->tempdir () RT#87684
- * And document the use of $TMPDIR in README
- * Make the SYNOPSIS more reflect real-world usage
- * Detect DBI::Test and use it if available
-
0.41 - 2013-07-29, H.Merijn Brand
* Use File::Spec->tmpdir () for universal existing folder
Note that huge $TMP folders may cause the test to run slow
@@ -5,14 +5,6 @@ Makefile.PL
README
lib/Bundle/DBD/CSV.pm
lib/DBD/CSV.pm
-lib/DBD/CSV/TypeInfo.pm
-lib/DBD/CSV/GetInfo.pm
-lib/DBI/Test/Case/DBD/CSV/t10_base.pm
-lib/DBI/Test/Case/DBD/CSV/t11_dsnlist.pm
-lib/DBI/Test/Case/DBD/CSV/t20_createdrop.pm
-lib/DBI/Test/Case/DBD/CSV/t85_error.pm
-lib/DBI/Test/DBD/CSV/Conf.pm
-lib/DBI/Test/DBD/CSV/List.pm
t/00_meta.t
t/00_pod_cov.t
t/00_pod.t
@@ -1,5 +1,5 @@
\.aspell\.local.pws
-\.dbi-git
+\.dbi-svn
\bCVS\b
~$
\.tgz$
@@ -17,9 +17,4 @@ tmp/
^xx
META.yml
valgrind.log
-tests.skip
xt/
-t/basic/
-t/DBI/
-t/DBD/
-t/SQL/
@@ -1,76 +1,72 @@
{
- "abstract" : "DBI driver for CSV files",
- "generated_by" : "Author",
- "provides" : {
- "DBD::CSV" : {
- "file" : "lib/DBD/CSV.pm",
- "version" : "0.43"
- }
- },
- "name" : "DBD-CSV",
- "meta-spec" : {
- "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
- "version" : "2"
- },
- "dynamic_config" : 1,
- "release_status" : "stable",
- "resources" : {
- "license" : [
- "http://dev.perl.org/licenses/"
- ],
- "repository" : {
- "url" : "https://github.com/perl5-dbi/DBD-CSV.git",
- "web" : "https://github.com/perl5-dbi/DBD-CSV.git",
- "type" : "git"
- }
- },
"author" : [
"Jochen Wiedmann",
"Jeff Zucker",
"H.Merijn Brand <h.m.brand@xs4all.nl>",
"Jens Rehsack <rehsack@cpan.org>"
- ],
- "x_installdirs" : "site",
- "version" : "0.43",
- "prereqs" : {
- "build" : {
- "requires" : {
- "Config" : "0"
+ ],
+ "dynamic_config" : 1,
+ "provides" : {
+ "DBD::CSV" : {
+ "version" : "0.41",
+ "file" : "lib/DBD/CSV.pm"
}
},
- "test" : {
+ "x_installdirs" : "site",
+ "prereqs" : {
+ "runtime" : {
"recommends" : {
- "Test::More" : "1.001003"
- },
+ "Test::More" : "0.98",
+ "perl" : "5.016003"
+ },
"requires" : {
- "Cwd" : "0",
- "Test::More" : "0.90",
- "charnames" : "0",
- "Encode" : "0",
- "Test::Harness" : "0"
- }
- },
+ "Text::CSV_XS" : "1.01",
+ "perl" : "5.008001",
+ "DBD::File" : "0.42",
+ "SQL::Statement" : "1.405",
+ "DBI" : "1.628"
+ }
+ },
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
- }
- },
- "runtime" : {
+ }
+ },
+ "build" : {
"requires" : {
- "SQL::Statement" : "1.405",
- "DBI" : "1.628",
- "Text::CSV_XS" : "1.01",
- "DBD::File" : "0.42",
- "perl" : "5.008001"
+ "Config" : "0"
+ }
},
- "recommends" : {
- "perl" : "5.018002",
- "Text::CSV_XS" : "1.09",
- "DBI" : "1.631"
+ "test" : {
+ "requires" : {
+ "Encode" : "0",
+ "Test::Harness" : "0",
+ "charnames" : "0",
+ "Test::More" : "0.90",
+ "Cwd" : "0"
+ }
}
- }
- },
+ },
+ "generated_by" : "Author",
"license" : [
"perl_5"
- ]
-}
+ ],
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "url" : "https://github.com/perl5-dbi/DBD-CSV.git",
+ "web" : "https://github.com/perl5-dbi/DBD-CSV.git",
+ "type" : "git"
+ }
+ },
+ "version" : "0.41",
+ "abstract" : "DBI driver for CSV files",
+ "meta-spec" : {
+ "version" : "2",
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec"
+ },
+ "name" : "DBD-CSV",
+ "release_status" : "stable"
+ }
@@ -10,7 +10,7 @@ build_requires:
configure_requires:
ExtUtils::MakeMaker: 0
dynamic_config: 1
-generated_by: Author, CPAN::Meta::Converter version 2.141520
+generated_by: Author, CPAN::Meta::Converter version 2.131560
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -19,12 +19,10 @@ name: DBD-CSV
provides:
DBD::CSV:
file: lib/DBD/CSV.pm
- version: '0.43'
+ version: '0.41'
recommends:
- DBI: '1.631'
- Test::More: '1.001003'
- Text::CSV_XS: '1.09'
- perl: '5.018002'
+ Test::More: '0.98'
+ perl: '5.016003'
requires:
Cwd: 0
DBD::File: '0.42'
@@ -39,5 +37,5 @@ requires:
resources:
license: http://dev.perl.org/licenses/
repository: https://github.com/perl5-dbi/DBD-CSV.git
-version: '0.43'
+version: '0.41'
x_installdirs: site
@@ -1,41 +1,20 @@
# -*- perl -*-
-# Copyright (c) 2009-2014 H.Merijn Brand
+# Copyright (c) 2009-2013 H.Merijn Brand
require 5.008001;
use strict;
use ExtUtils::MakeMaker;
-use File::Spec;
-eval { require DBI; };
-if ($@) {
- print <<"MSG";
-
-DBD::CSV requires DBI and it cannot be loaded:
-$@
-
-MSG
- exit 1;
- }
-if ($DBI::VERSION < 1.628) {
- print <<"MSG";
-
-Trying to use DBD::CSV with DBI-$DBI::VERSION is heading for failure.
-DBD::CSV is relying on DBD::File, bundled in the DBI release and does
-require features not present in this version of DBI.
-
-MSG
- exit 0;
- }
eval { require DBD::CSV; };
if (!$@ && $DBD::CSV::VERSION < 0.1010) {
print <<'MSG';
-WARNING! You seem to have installed a recent version of the DBD::CSV module.
+WARNING! You seem to have installed a recent version of the DBD::CSV module.
Note that the API (in particular attribute names) has changed, to conform to
-the DBI specifications. For example $dbh->{directory} has been renamed to
+the DBI specifications. For example $dbh->{directory} has been renamed to
$dbh->{f_dir} and $dbh->{eol}, $dbh->{quote_char}, ... are gone in favour of
$dbh->{tables}{$table}{csv}, which is used for storing meta information. You
might need to modify existing sources before doing a "make install". See the
@@ -43,26 +22,15 @@ README for details.
MSG
sleep 5;
- }
+ };
use vars qw( $DBI_INC_DIR );
-{ my $tmp_dir = File::Spec->tmpdir ();
- my $default = $ENV{AUTOMATED_TESTING} ? "n" : "y";
- if (prompt ("Enable the use of $tmp_dir for tests?", $default) =~ m/[Yy]/) {
- unlink "tests.skip";
- }
- else {
- open my $fh, ">", "tests.skip";
- print $fh "tmpdir\n";
- close $fh;
- }
- }
my %wm = (
NAME => "DBD::CSV",
DISTNAME => "DBD-CSV",
ABSTRACT => "DBI driver for CSV and similar structured files",
- AUTHOR => "H.Merijn Brand <h.m.brand\@xs4all.nl>",
+ AUTHOR => "H.Merijn Brand <h.merijn\@xs4all.nl>",
VERSION_FROM => "lib/DBD/CSV.pm",
PREREQ_PM => {
"DBI" => 1.628,
@@ -86,26 +54,6 @@ my %wm = (
);
$ExtUtils::MakeMaker::VERSION > 6.30 and $wm{LICENSE} = "perl";
-# Windows is case-insensitive! Do not remove lib.pl and tmp.csv
-$File::Path::VERSION > 2.06 and File::Path::remove_tree (glob "t/[bA-KM-SU-Z]*");
-
-eval "use DBI::Test::Conf ();";
-if ($@) {
- warn "******\n",
- "******\tDBI::Test is not installed.\n",
- "******\tIt will be required in one of the upcoming releases.\n",
- "******\n";
- }
-else {
- use lib "lib";
-
- local $" = " ";
- $wm{PREREQ_PM}{"DBI::Test"} = "0.001";
- my @nt = DBI::Test::Conf->setup (CONTAINED_DBDS => [qw( CSV )]);
- $wm{test} = { TESTS => join " " => (sort glob "t/*.t"), @nt };
- $wm{clean}{FILES} .= " @nt";
- }
-
my $rv = WriteMakefile (%wm);
1;
@@ -117,7 +65,7 @@ sub postamble
my $min_vsn = ($] >= 5.010 && -d "xt" && ($ENV{AUTOMATED_TESTING} || 0) != 1)
? join "\n" =>
'test ::',
- ' -@env DBI_SQL_NANO=1 make -e test_dynamic TEST_FILES=t/[1-9]*.t',
+ ' -@env DBI_SQL_NANO=1 TEST_FILES="t/[012367]*.t t/4[038]*.t t/5[05]*.t t/85*.t" make -e test_dynamic',
'',
'test ::',
' -@env TEST_FILES="xt/*.t" make -e test_dynamic',
@@ -128,7 +76,7 @@ sub postamble
' cover -test',
'',
'spellcheck:',
- ' pod-spell-check --aspell --ispell',
+ ' pod-spell-check --aspell',
'',
'checkmeta: spellcheck',
' perl sandbox/genMETA.pl -c',
@@ -8,8 +8,13 @@ Description
and implements access to so-called CSV files (Comma separated
values).
+Warning
+ THIS IS ALPHA SOFTWARE. It is *only* 'Alpha' because the
+ interface (API) is not finalized. The Alpha status does not
+ reflect code quality or stability.
+
Copying
- Copyright (C) 2009-2014 by H.Merijn Brand
+ Copyright (C) 2009-2013 by H.Merijn Brand
Copyright (C) 2004-2009 by Jeff Zucker
Copyright (C) 1998-2004 by Jochen Wiedmann
@@ -43,8 +48,8 @@ Build/Installation:
cpan DBD::CSV
Or standard build/installation:
- gzip -cd DBD-CSV-0.43.tar.gz | tar xf -
- cd DBD-CSV-0.43
+ gzip -cd DBD-CSV-0.39.tar.gz | tar xf -
+ cd DBD-CSV-0.39
perl Makefile.PL
make test
make install
@@ -52,19 +57,6 @@ Build/Installation:
(this is for Unix users, Windows users would prefer PowerArchiver,
WinZip or something similar).
- The test suite contains extensive tests for all features provided
- by DBD::CSV. Some of them include the use of what is set to be the
- default temporary directory on the system. Even though the tests
- do not use the folder to read or modify data, using the folder will
- imply the scanning of that folder to see if files would qualify for
- use in DBD::CSV. When the folder contains many files, the scanning
- will seriously slow down the testing duration. The configure phase
- therefor asks the user if using the folder is allowed. The default
- answer is yes unless $AUTOMATED_TESTING is set.
- As File::Spec->tmpdir () honors the environment, you can enable
- these tests using another folder by setting $TMPDIR or whatever
- controls tmpdir () or your OS.
-
Author:
This module is currently maintained by
@@ -5,7 +5,7 @@ package Bundle::DBD::CSV;
use strict;
use warnings;
-our $VERSION = "1.12";
+our $VERSION = "1.09";
1;
@@ -21,15 +21,15 @@ Bundle::DBD::CSV - A bundle to install the DBD::CSV driver
=head1 CONTENTS
-DBI 1.631
+DBI 1.628
-Text::CSV_XS 1.09
+Text::CSV_XS 1.01
SQL::Statement 1.405
DBD::File 0.42
-DBD::CSV 0.43
+DBD::CSV 0.41
=head1 DESCRIPTION
@@ -44,7 +44,7 @@ This module is currently maintained by
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2009-2014 by H.Merijn Brand
+Copyright (C) 2009-2013 by H.Merijn Brand
Copyright (C) 2004-2009 by Jeff Zucker
Copyright (C) 1998-2004 by Jochen Wiedmann
@@ -1,257 +0,0 @@
-#!/usr/bin/perl
-
-# The %info hash was automatically generated by
-# DBI::DBD::Metadata::write_getinfo_pm v2.014214.
-
-package DBD::CSV::GetInfo;
-
-use strict;
-use DBD::CSV;
-
-# Beware: not officially documented interfaces...
-# use DBI::Const::GetInfoType qw(%GetInfoType);
-# use DBI::Const::GetInfoReturn qw(%GetInfoReturnTypes %GetInfoReturnValues);
-
-my $sql_driver = "CSV"; # DBD::CSV uses tw-partr version string
-my $sql_ver_fmt = "%02d.%02d.0000"; # ODBC version string: ##.##.#####
-my $sql_driver_ver = sprintf $sql_ver_fmt, split /\./ => $DBD::CSV::VERSION;
-
-sub sql_data_source_name
-{
- my $dbh = shift;
- return "dbi:$sql_driver:" . $dbh->{Name};
- } # sql_data_source_name
-
-sub sql_user_name
-{
- my $dbh = shift;
- # CURRENT_USER is a non-standard attribute, probably undef
- # Username is a standard DBI attribute
- return $dbh->{CURRENT_USER} || $dbh->{Username};
- } # sql_user_name
-
-our %info = (
-# 20 => undef, # SQL_ACCESSIBLE_PROCEDURES
-# 19 => undef, # SQL_ACCESSIBLE_TABLES
-# 0 => undef, # SQL_ACTIVE_CONNECTIONS
-# 116 => undef, # SQL_ACTIVE_ENVIRONMENTS
-# 1 => undef, # SQL_ACTIVE_STATEMENTS
-# 169 => undef, # SQL_AGGREGATE_FUNCTIONS
-# 117 => undef, # SQL_ALTER_DOMAIN
-# 86 => undef, # SQL_ALTER_TABLE
-# 10021 => undef, # SQL_ASYNC_MODE
-# 120 => undef, # SQL_BATCH_ROW_COUNT
-# 121 => undef, # SQL_BATCH_SUPPORT
-# 82 => undef, # SQL_BOOKMARK_PERSISTENCE
-# 114 => undef, # SQL_CATALOG_LOCATION
-# 10003 => undef, # SQL_CATALOG_NAME
-# 41 => undef, # SQL_CATALOG_NAME_SEPARATOR
-# 42 => undef, # SQL_CATALOG_TERM
-# 92 => undef, # SQL_CATALOG_USAGE
-# 10004 => undef, # SQL_COLLATING_SEQUENCE
-# 10004 => undef, # SQL_COLLATION_SEQ
-# 87 => undef, # SQL_COLUMN_ALIAS
-# 22 => undef, # SQL_CONCAT_NULL_BEHAVIOR
-# 53 => undef, # SQL_CONVERT_BIGINT
-# 54 => undef, # SQL_CONVERT_BINARY
-# 55 => undef, # SQL_CONVERT_BIT
-# 56 => undef, # SQL_CONVERT_CHAR
-# 57 => undef, # SQL_CONVERT_DATE
-# 58 => undef, # SQL_CONVERT_DECIMAL
-# 59 => undef, # SQL_CONVERT_DOUBLE
-# 60 => undef, # SQL_CONVERT_FLOAT
-# 48 => undef, # SQL_CONVERT_FUNCTIONS
-# 173 => undef, # SQL_CONVERT_GUID
-# 61 => undef, # SQL_CONVERT_INTEGER
-# 123 => undef, # SQL_CONVERT_INTERVAL_DAY_TIME
-# 124 => undef, # SQL_CONVERT_INTERVAL_YEAR_MONTH
-# 71 => undef, # SQL_CONVERT_LONGVARBINARY
-# 62 => undef, # SQL_CONVERT_LONGVARCHAR
-# 63 => undef, # SQL_CONVERT_NUMERIC
-# 64 => undef, # SQL_CONVERT_REAL
-# 65 => undef, # SQL_CONVERT_SMALLINT
-# 66 => undef, # SQL_CONVERT_TIME
-# 67 => undef, # SQL_CONVERT_TIMESTAMP
-# 68 => undef, # SQL_CONVERT_TINYINT
-# 69 => undef, # SQL_CONVERT_VARBINARY
-# 70 => undef, # SQL_CONVERT_VARCHAR
-# 122 => undef, # SQL_CONVERT_WCHAR
-# 125 => undef, # SQL_CONVERT_WLONGVARCHAR
-# 126 => undef, # SQL_CONVERT_WVARCHAR
-# 74 => undef, # SQL_CORRELATION_NAME
-# 127 => undef, # SQL_CREATE_ASSERTION
-# 128 => undef, # SQL_CREATE_CHARACTER_SET
-# 129 => undef, # SQL_CREATE_COLLATION
-# 130 => undef, # SQL_CREATE_DOMAIN
-# 131 => undef, # SQL_CREATE_SCHEMA
-# 132 => undef, # SQL_CREATE_TABLE
-# 133 => undef, # SQL_CREATE_TRANSLATION
-# 134 => undef, # SQL_CREATE_VIEW
-# 23 => undef, # SQL_CURSOR_COMMIT_BEHAVIOR
-# 24 => undef, # SQL_CURSOR_ROLLBACK_BEHAVIOR
-# 10001 => undef, # SQL_CURSOR_SENSITIVITY
-# 16 => undef, # SQL_DATABASE_NAME
- 2 => \&sql_data_source_name, # SQL_DATA_SOURCE_NAME
-# 25 => undef, # SQL_DATA_SOURCE_READ_ONLY
-# 119 => undef, # SQL_DATETIME_LITERALS
-# 17 => undef, # SQL_DBMS_NAME
-# 18 => undef, # SQL_DBMS_VER
-# 18 => undef, # SQL_DBMS_VERSION
-# 170 => undef, # SQL_DDL_INDEX
-# 26 => undef, # SQL_DEFAULT_TRANSACTION_ISOLATION
-# 26 => undef, # SQL_DEFAULT_TXN_ISOLATION
-# 10002 => undef, # SQL_DESCRIBE_PARAMETER
-# 171 => undef, # SQL_DM_VER
-# 3 => undef, # SQL_DRIVER_HDBC
-# 135 => undef, # SQL_DRIVER_HDESC
-# 4 => undef, # SQL_DRIVER_HENV
-# 76 => undef, # SQL_DRIVER_HLIB
-# 5 => undef, # SQL_DRIVER_HSTMT
- 6 => $INC{"DBD/CSV.pm"}, # SQL_DRIVER_NAME
-# 77 => undef, # SQL_DRIVER_ODBC_VER
- 7 => $sql_driver_ver, # SQL_DRIVER_VER
-# 136 => undef, # SQL_DROP_ASSERTION
-# 137 => undef, # SQL_DROP_CHARACTER_SET
-# 138 => undef, # SQL_DROP_COLLATION
-# 139 => undef, # SQL_DROP_DOMAIN
-# 140 => undef, # SQL_DROP_SCHEMA
-# 141 => undef, # SQL_DROP_TABLE
-# 142 => undef, # SQL_DROP_TRANSLATION
-# 143 => undef, # SQL_DROP_VIEW
-# 144 => undef, # SQL_DYNAMIC_CURSOR_ATTRIBUTES1
-# 145 => undef, # SQL_DYNAMIC_CURSOR_ATTRIBUTES2
-# 27 => undef, # SQL_EXPRESSIONS_IN_ORDERBY
-# 8 => undef, # SQL_FETCH_DIRECTION
-# 84 => undef, # SQL_FILE_USAGE
-# 146 => undef, # SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1
-# 147 => undef, # SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2
-# 81 => undef, # SQL_GETDATA_EXTENSIONS
-# 88 => undef, # SQL_GROUP_BY
-# 28 => undef, # SQL_IDENTIFIER_CASE
-# 29 => undef, # SQL_IDENTIFIER_QUOTE_CHAR
-# 148 => undef, # SQL_INDEX_KEYWORDS
-# 149 => undef, # SQL_INFO_SCHEMA_VIEWS
-# 172 => undef, # SQL_INSERT_STATEMENT
-# 73 => undef, # SQL_INTEGRITY
-# 150 => undef, # SQL_KEYSET_CURSOR_ATTRIBUTES1
-# 151 => undef, # SQL_KEYSET_CURSOR_ATTRIBUTES2
-# 89 => undef, # SQL_KEYWORDS
-# 113 => undef, # SQL_LIKE_ESCAPE_CLAUSE
-# 78 => undef, # SQL_LOCK_TYPES
-# 34 => undef, # SQL_MAXIMUM_CATALOG_NAME_LENGTH
-# 97 => undef, # SQL_MAXIMUM_COLUMNS_IN_GROUP_BY
-# 98 => undef, # SQL_MAXIMUM_COLUMNS_IN_INDEX
-# 99 => undef, # SQL_MAXIMUM_COLUMNS_IN_ORDER_BY
-# 100 => undef, # SQL_MAXIMUM_COLUMNS_IN_SELECT
-# 101 => undef, # SQL_MAXIMUM_COLUMNS_IN_TABLE
-# 30 => undef, # SQL_MAXIMUM_COLUMN_NAME_LENGTH
-# 1 => undef, # SQL_MAXIMUM_CONCURRENT_ACTIVITIES
-# 31 => undef, # SQL_MAXIMUM_CURSOR_NAME_LENGTH
-# 0 => undef, # SQL_MAXIMUM_DRIVER_CONNECTIONS
-# 10005 => undef, # SQL_MAXIMUM_IDENTIFIER_LENGTH
-# 102 => undef, # SQL_MAXIMUM_INDEX_SIZE
-# 104 => undef, # SQL_MAXIMUM_ROW_SIZE
-# 32 => undef, # SQL_MAXIMUM_SCHEMA_NAME_LENGTH
-# 105 => undef, # SQL_MAXIMUM_STATEMENT_LENGTH
-# 20000 => undef, # SQL_MAXIMUM_STMT_OCTETS
-# 20001 => undef, # SQL_MAXIMUM_STMT_OCTETS_DATA
-# 20002 => undef, # SQL_MAXIMUM_STMT_OCTETS_SCHEMA
-# 106 => undef, # SQL_MAXIMUM_TABLES_IN_SELECT
-# 35 => undef, # SQL_MAXIMUM_TABLE_NAME_LENGTH
-# 107 => undef, # SQL_MAXIMUM_USER_NAME_LENGTH
-# 10022 => undef, # SQL_MAX_ASYNC_CONCURRENT_STATEMENTS
-# 112 => undef, # SQL_MAX_BINARY_LITERAL_LEN
-# 34 => undef, # SQL_MAX_CATALOG_NAME_LEN
-# 108 => undef, # SQL_MAX_CHAR_LITERAL_LEN
-# 97 => undef, # SQL_MAX_COLUMNS_IN_GROUP_BY
-# 98 => undef, # SQL_MAX_COLUMNS_IN_INDEX
-# 99 => undef, # SQL_MAX_COLUMNS_IN_ORDER_BY
-# 100 => undef, # SQL_MAX_COLUMNS_IN_SELECT
-# 101 => undef, # SQL_MAX_COLUMNS_IN_TABLE
-# 30 => undef, # SQL_MAX_COLUMN_NAME_LEN
-# 1 => undef, # SQL_MAX_CONCURRENT_ACTIVITIES
-# 31 => undef, # SQL_MAX_CURSOR_NAME_LEN
-# 0 => undef, # SQL_MAX_DRIVER_CONNECTIONS
-# 10005 => undef, # SQL_MAX_IDENTIFIER_LEN
-# 102 => undef, # SQL_MAX_INDEX_SIZE
-# 32 => undef, # SQL_MAX_OWNER_NAME_LEN
-# 33 => undef, # SQL_MAX_PROCEDURE_NAME_LEN
-# 34 => undef, # SQL_MAX_QUALIFIER_NAME_LEN
-# 104 => undef, # SQL_MAX_ROW_SIZE
-# 103 => undef, # SQL_MAX_ROW_SIZE_INCLUDES_LONG
-# 32 => undef, # SQL_MAX_SCHEMA_NAME_LEN
-# 105 => undef, # SQL_MAX_STATEMENT_LEN
-# 106 => undef, # SQL_MAX_TABLES_IN_SELECT
-# 35 => undef, # SQL_MAX_TABLE_NAME_LEN
-# 107 => undef, # SQL_MAX_USER_NAME_LEN
-# 37 => undef, # SQL_MULTIPLE_ACTIVE_TXN
-# 36 => undef, # SQL_MULT_RESULT_SETS
-# 111 => undef, # SQL_NEED_LONG_DATA_LEN
-# 75 => undef, # SQL_NON_NULLABLE_COLUMNS
-# 85 => undef, # SQL_NULL_COLLATION
-# 49 => undef, # SQL_NUMERIC_FUNCTIONS
-# 9 => undef, # SQL_ODBC_API_CONFORMANCE
-# 152 => undef, # SQL_ODBC_INTERFACE_CONFORMANCE
-# 12 => undef, # SQL_ODBC_SAG_CLI_CONFORMANCE
-# 15 => undef, # SQL_ODBC_SQL_CONFORMANCE
-# 73 => undef, # SQL_ODBC_SQL_OPT_IEF
-# 10 => undef, # SQL_ODBC_VER
-# 115 => undef, # SQL_OJ_CAPABILITIES
-# 90 => undef, # SQL_ORDER_BY_COLUMNS_IN_SELECT
-# 38 => undef, # SQL_OUTER_JOINS
-# 115 => undef, # SQL_OUTER_JOIN_CAPABILITIES
-# 39 => undef, # SQL_OWNER_TERM
-# 91 => undef, # SQL_OWNER_USAGE
-# 153 => undef, # SQL_PARAM_ARRAY_ROW_COUNTS
-# 154 => undef, # SQL_PARAM_ARRAY_SELECTS
-# 80 => undef, # SQL_POSITIONED_STATEMENTS
-# 79 => undef, # SQL_POS_OPERATIONS
-# 21 => undef, # SQL_PROCEDURES
-# 40 => undef, # SQL_PROCEDURE_TERM
-# 114 => undef, # SQL_QUALIFIER_LOCATION
-# 41 => undef, # SQL_QUALIFIER_NAME_SEPARATOR
-# 42 => undef, # SQL_QUALIFIER_TERM
-# 92 => undef, # SQL_QUALIFIER_USAGE
-# 93 => undef, # SQL_QUOTED_IDENTIFIER_CASE
-# 11 => undef, # SQL_ROW_UPDATES
-# 39 => undef, # SQL_SCHEMA_TERM
-# 91 => undef, # SQL_SCHEMA_USAGE
-# 43 => undef, # SQL_SCROLL_CONCURRENCY
-# 44 => undef, # SQL_SCROLL_OPTIONS
-# 14 => undef, # SQL_SEARCH_PATTERN_ESCAPE
-# 13 => undef, # SQL_SERVER_NAME
-# 94 => undef, # SQL_SPECIAL_CHARACTERS
-# 155 => undef, # SQL_SQL92_DATETIME_FUNCTIONS
-# 156 => undef, # SQL_SQL92_FOREIGN_KEY_DELETE_RULE
-# 157 => undef, # SQL_SQL92_FOREIGN_KEY_UPDATE_RULE
-# 158 => undef, # SQL_SQL92_GRANT
-# 159 => undef, # SQL_SQL92_NUMERIC_VALUE_FUNCTIONS
-# 160 => undef, # SQL_SQL92_PREDICATES
-# 161 => undef, # SQL_SQL92_RELATIONAL_JOIN_OPERATORS
-# 162 => undef, # SQL_SQL92_REVOKE
-# 163 => undef, # SQL_SQL92_ROW_VALUE_CONSTRUCTOR
-# 164 => undef, # SQL_SQL92_STRING_FUNCTIONS
-# 165 => undef, # SQL_SQL92_VALUE_EXPRESSIONS
-# 118 => undef, # SQL_SQL_CONFORMANCE
-# 166 => undef, # SQL_STANDARD_CLI_CONFORMANCE
-# 167 => undef, # SQL_STATIC_CURSOR_ATTRIBUTES1
-# 168 => undef, # SQL_STATIC_CURSOR_ATTRIBUTES2
-# 83 => undef, # SQL_STATIC_SENSITIVITY
-# 50 => undef, # SQL_STRING_FUNCTIONS
-# 95 => undef, # SQL_SUBQUERIES
-# 51 => undef, # SQL_SYSTEM_FUNCTIONS
-# 45 => undef, # SQL_TABLE_TERM
-# 109 => undef, # SQL_TIMEDATE_ADD_INTERVALS
-# 110 => undef, # SQL_TIMEDATE_DIFF_INTERVALS
-# 52 => undef, # SQL_TIMEDATE_FUNCTIONS
-# 46 => undef, # SQL_TRANSACTION_CAPABLE
-# 72 => undef, # SQL_TRANSACTION_ISOLATION_OPTION
-# 46 => undef, # SQL_TXN_CAPABLE
-# 72 => undef, # SQL_TXN_ISOLATION_OPTION
-# 96 => undef, # SQL_UNION
-# 96 => undef, # SQL_UNION_STATEMENT
- 47 => \&sql_user_name, # SQL_USER_NAME
-# 10000 => undef, # SQL_XOPEN_CLI_YEAR
- );
-
-1;
@@ -1,64 +0,0 @@
-#!/usr/bin/perl
-
-# Don't forget to add version and intellectual property control information.
-
-# The %type_info_all hash was automatically generated by
-# DBI::DBD::Metadata::write_typeinfo_pm v2.014214.
-
-package DBD::CSV::TypeInfo;
-
-{
- require Exporter;
- require DynaLoader;
- @ISA = qw(Exporter DynaLoader);
- @EXPORT = qw(type_info_all);
- use DBI qw(:sql_types);
-
- $type_info_all = [
- { TYPE_NAME => 0,
- DATA_TYPE => 1,
- COLUMN_SIZE => 2,
- LITERAL_PREFIX => 3,
- LITERAL_SUFFIX => 4,
- CREATE_PARAMS => 5,
- NULLABLE => 6,
- CASE_SENSITIVE => 7,
- SEARCHABLE => 8,
- UNSIGNED_ATTRIBUTE => 9,
- FIXED_PREC_SCALE => 10,
- AUTO_UNIQUE_VALUE => 11,
- LOCAL_TYPE_NAME => 12,
- MINIMUM_SCALE => 13,
- MAXIMUM_SCALE => 14,
- SQL_DATA_TYPE => 15,
- SQL_DATETIME_SUB => 16,
- NUM_PREC_RADIX => 17,
- INTERVAL_PRECISION => 18,
- },
- [ "VARCHAR", SQL_VARCHAR, undef, "'", "'", undef, 0, 1, 1, 0, undef,
- undef, undef, 1, 999999, undef, undef, undef, undef,
- ],
- [ "CHAR", DBIstcf_DISCARD_STRING, undef, "'", "'", undef, 0, 1, 1, 0,
- undef, undef, undef, 1, 999999, undef, undef, undef, undef,
- ],
- [ "INTEGER", SQL_INTEGER, undef, "", "", undef, 0, 0, 1, 0, undef,
- undef, undef, 0, 0, undef, undef, undef, undef,
- ],
- [ "REAL", SQL_REAL, undef, "", "", undef,
- 0, 0, 1, 0, undef, undef,
- undef, 0, 0, undef, undef, undef,
- undef,
- ],
- [ "BLOB", SQL_LONGVARBINARY, undef, "'", "'", undef, 0, 1, 1, 0,
- undef, undef, undef, 1, 999999, undef, undef, undef, undef,
- ],
- [ "BLOB", SQL_LONGVARBINARY, undef, "'", "'", undef, 0, 1, 1, 0,
- undef, undef, undef, 1, 999999, undef, undef, undef, undef,
- ],
- [ "TEXT", SQL_LONGVARCHAR, undef, "'", "'", undef, 0, 1, 1, 0, undef,
- undef, undef, 1, 999999, undef, undef, undef, undef,
- ],
- ];
-
- 1;
- }
@@ -23,7 +23,7 @@ use vars qw( @ISA $VERSION $ATTRIBUTION $drh $err $errstr $sqlstate );
@ISA = qw( DBD::File );
-$VERSION = "0.43";
+$VERSION = "0.41";
$ATTRIBUTION = "DBD::CSV $DBD::CSV::VERSION by H.Merijn Brand";
$err = 0; # holds error code for DBI::err
@@ -138,22 +138,6 @@ sub get_csv_versions
return sprintf "%s using %s", $dbh->{csv_version}, $dtype;
} # get_csv_versions
-sub get_info
-{
- my ($dbh, $info_type) = @_;
- require DBD::CSV::GetInfo;
- my $v = $DBD::CSV::GetInfo::info{int ($info_type)};
- ref $v eq "CODE" and $v = $v->($dbh);
- return $v;
- } # get_info
-
-sub type_info_all
-{
- my $dbh = shift;
- require DBD::CSV::TypeInfo;
- return [@$DBD::CSV::TypeInfo::type_info_all];
- } # type_info_all
-
# --- STATEMENT ----------------------------------------------------------------
package DBD::CSV::st;
@@ -375,24 +359,23 @@ DBD::CSV - DBI driver for CSV files
use DBI;
# See "Creating database handle" below
- $dbh = DBI->connect ("dbi:CSV:", undef, undef, {
- f_ext => ".csv/r",
- RaiseError => 1,
- }) or die "Cannot connect: $DBI::errstr";
+ $dbh = DBI->connect ("dbi:CSV:") or
+ die "Cannot connect: $DBI::errstr";
# Simple statements
- $dbh->do ("CREATE TABLE foo (id INTEGER, name CHAR (10))");
+ $dbh->do ("CREATE TABLE a (id INTEGER, name CHAR (10))") or
+ die "Cannot prepare: " . $dbh->errstr ();
# Selecting
+ $dbh->{RaiseError} = 1;
my $sth = $dbh->prepare ("select * from foo");
$sth->execute;
- $sth->bind_columns (\my ($id, $name));
- while ($sth->fetch) {
- print "id: $id, name: $ame\n";
+ while (my @row = $sth->fetchrow_array) {
+ print "id: $row[0], name: $row[1]\n";
}
# Updates
- my $sth = $dbh->prepare ("UPDATE foo SET name = ? WHERE id = ?");
+ my $sth = $dbh->prepare ("UPDATE a SET name = ? WHERE id = ?");
$sth->execute ("DBI rocks!", 1);
$sth->finish;
@@ -1194,7 +1177,7 @@ Previous maintainer was Jeff Zucker
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2009-2014 by H.Merijn Brand
+Copyright (C) 2009-2013 by H.Merijn Brand
Copyright (C) 2004-2009 by Jeff Zucker
Copyright (C) 1998-2004 by Jochen Wiedmann
@@ -1,56 +0,0 @@
-package DBI::Test::Case::DBD::CSV::t10_base;
-
-use strict;
-use warnings;
-
-use parent qw( DBI::Test::DBD::CSV::Case);
-
-use Test::More;
-use DBI::Test;
-use DBI;
-
-sub supported_variant
-{
- my ($self, $test_case, $cfg_pfx, $test_confs,
- $dsn_pfx, $dsn_cred, $options) = @_;
-
- $self->is_test_for_mocked ($test_confs) and return;
-
- return $self->SUPER::supported_variant ($test_case, $cfg_pfx, $test_confs,
- $dsn_pfx, $dsn_cred, $options);
- } # supported_variant
-
-sub run_test
-{
- my ($self, $dbc) = @_;
- my @DB_CREDS = @$dbc;
- $DB_CREDS[3]->{PrintError} = 0;
- $DB_CREDS[3]->{RaiseError} = 0;
- if ($ENV{DBI_PUREPERL}) {
- eval "use Text::CSV;";
- $@ or $DB_CREDS[3]->{csv_class} = "Text::CSV"
- }
-
- defined $ENV{DBI_SQL_NANO} or
- eval "use SQL::Statement;";
-
- ok (my $switch = DBI->internal, "DBI->internal");
- is (ref $switch, "DBI::dr", "Driver class");
-
- # This is a special case. install_driver should not normally be used.
- ok (my $drh = DBI->install_driver ("CSV"), "Install driver");
-
- is (ref $drh, "DBI::dr", "Driver class installed");
-
- ok ($drh->{Version}, "Driver version $drh->{Version}");
-
- my $dbh = connect_ok (@DB_CREDS, "Connect with dbi:CSV:");
-
- my $csv_version_info = $dbh->csv_versions ();
- ok ($csv_version_info, "csv_versions");
- diag ($csv_version_info);
-
- done_testing ();
- }
-
-1;
@@ -1,64 +0,0 @@
-package DBI::Test::Case::DBD::CSV::t11_dsnlist;
-
-use strict;
-use warnings;
-
-use parent qw( DBI::Test::DBD::CSV::Case);
-
-use Test::More;
-use DBI::Test;
-use DBI;
-
-sub supported_variant
-{
- my ($self, $test_case, $cfg_pfx, $test_confs,
- $dsn_pfx, $dsn_cred, $options) = @_;
-
- $self->is_test_for_mocked ($test_confs) and return;
-
- return $self->SUPER::supported_variant ($test_case, $cfg_pfx, $test_confs,
- $dsn_pfx, $dsn_cred, $options);
- } # supported_variant
-
-use vars q{$AUTOLOAD};
-sub AUTOLOAD
-{
- (my $sub = $AUTOLOAD) =~ s/.*:/DBI::Test::DBD::CSV::Case::/;
- { no strict "refs";
- $sub->(@_);
- }
- } # AUTOLOAD
-
-sub run_test
-{
- my ($self, $dbc) = @_;
- my @DB_CREDS = @$dbc;
- $DB_CREDS[3]->{PrintError} = 0;
- $DB_CREDS[3]->{RaiseError} = 0;
- if ($ENV{DBI_PUREPERL}) {
- eval "use Text::CSV;";
- $@ or $DB_CREDS[3]->{csv_class} = "Text::CSV"
- }
-
- defined $ENV{DBI_SQL_NANO} or
- eval "use SQL::Statement;";
-
- my $dbh = connect_ok (@DB_CREDS, "Connect with dbi:CSV:");
-
- ok ($dbh->ping, "ping");
-
- # This returns at least ".", "lib", and "t"
- ok (my @dsn = DBI->data_sources ("CSV"), "data_sources");
- ok (@dsn >= 2, "more than one");
- ok ($dbh->disconnect, "disconnect");
-
- # Try different DSN's
- foreach my $d (qw( . example lib t )) {
- ok (my $dns = Connect ("dbi:CSV:f_dir=$d"), "use $d as f_dir");
- ok ($dbh->disconnect, "disconnect");
- }
-
- done_testing ();
- } # run_test
-
-1;
@@ -1,68 +0,0 @@
-package DBI::Test::Case::DBD::CSV::t20_createdrop;
-
-use strict;
-use warnings;
-
-use parent qw( DBI::Test::DBD::CSV::Case );
-
-use Test::More;
-use DBI::Test;
-use DBI;
-
-sub supported_variant
-{
- my ($self, $test_case, $cfg_pfx, $test_confs,
- $dsn_pfx, $dsn_cred, $options) = @_;
-
- $self->is_test_for_mocked ($test_confs) and return;
-
- return $self->SUPER::supported_variant ($test_case, $cfg_pfx, $test_confs,
- $dsn_pfx, $dsn_cred, $options);
- } # supported_variant
-
-my @tbl_def = (
- [ "id", "INTEGER", 4, 0 ],
- [ "name", "CHAR", 64, 0 ],
- );
-
-use vars q{$AUTOLOAD};
-sub AUTOLOAD
-{
- (my $sub = $AUTOLOAD) =~ s/.*:/DBI::Test::DBD::CSV::Case::/;
- { no strict "refs";
- $sub->(@_);
- }
- } # AUTOLOAD
-
-sub run_test
-{
- my ($self, $dbc) = @_;
- my @DB_CREDS = @$dbc;
- $DB_CREDS[3]->{PrintError} = 0;
- $DB_CREDS[3]->{RaiseError} = 0;
- $DB_CREDS[3]->{f_dir} = DbDir ();
- if ($ENV{DBI_PUREPERL}) {
- eval "use Text::CSV;";
- $@ or $DB_CREDS[3]->{csv_class} = "Text::CSV"
- }
-
- defined $ENV{DBI_SQL_NANO} or
- eval "use SQL::Statement;";
-
- my $dbh = connect_ok (@DB_CREDS, "Connect with dbi:CSV:");
-
- ok (my $tbl = FindNewTable ($dbh), "find new test table");
-
- like (my $def = TableDefinition ($tbl, @tbl_def),
- qr{^create table $tbl}i, "table definition");
- do_ok ($dbh, $def, "create table");
- my $tbl_file = DbFile ($tbl);
- ok (-s $tbl_file, "file exists");
- do_ok ($dbh, "drop table $tbl", "drop table");
- ok ($dbh->disconnect, "disconnect");
- ok (!-f $tbl_file, "file removed");
-
- done_testing ();
- } # run_test
-
-1;
@@ -1,83 +0,0 @@
-package DBI::Test::Case::DBD::CSV::t85_error;
-
-use strict;
-use warnings;
-
-use parent qw( DBI::Test::DBD::CSV::Case );
-
-use Test::More;
-use DBI::Test;
-use DBI;
-
-sub supported_variant
-{
- my ($self, $test_case, $cfg_pfx, $test_confs,
- $dsn_pfx, $dsn_cred, $options) = @_;
-
- $self->is_test_for_mocked ($test_confs) and return;
-
- return $self->SUPER::supported_variant ($test_case, $cfg_pfx, $test_confs,
- $dsn_pfx, $dsn_cred, $options);
- } # supported_variant
-
-my @tbl_def = (
- [ "id", "INTEGER", 4, 0 ],
- [ "name", "CHAR", 64, 0 ],
- );
-
-use vars q{$AUTOLOAD};
-sub AUTOLOAD
-{
- (my $sub = $AUTOLOAD) =~ s/.*:/DBI::Test::DBD::CSV::Case::/;
- { no strict "refs";
- $sub->(@_);
- }
- } # AUTOLOAD
-
-sub run_test
-{
- my ($self, $dbc) = @_;
- my @DB_CREDS = @$dbc;
- $DB_CREDS[3]->{PrintError} = 0;
- $DB_CREDS[3]->{RaiseError} = 0;
- $DB_CREDS[3]->{f_dir} = DbDir ();
- if ($ENV{DBI_PUREPERL}) {
- eval "use Text::CSV;";
- $@ or $DB_CREDS[3]->{csv_class} = "Text::CSV"
- }
-
- defined $ENV{DBI_SQL_NANO} or
- eval "use SQL::Statement;";
-
- my $dbh = connect_ok (@DB_CREDS, "Connect with dbi:CSV:");
-
- ok (my $tbl = FindNewTable ($dbh), "find new test table");
-
- like (my $def = TableDefinition ($tbl, @tbl_def),
- qr{^create table $tbl}i, "table definition");
- do_ok ($dbh, $def, "create table");
- my $tbl_file = DbFile ($tbl);
- ok (-s $tbl_file, "file exists");
- ok ($dbh->disconnect, "disconnect");
- undef $dbh;
-
- ok (-f $tbl_file, "file still there");
- open my $fh, ">>", $tbl_file;
- print $fh qq{1, "p0wnd",",""",0\n}; # Very bad content
- close $fh;
-
- ok ($dbh = connect_ok (@DB_CREDS, "Connect with dbi:CSV:"));
- { local $dbh->{PrintError} = 0;
- local $dbh->{RaiseError} = 0;
- my $sth = prepare_ok ($dbh, "select * from $tbl", "prepare");
- is ($sth->execute, undef, "execute should fail");
- # It is safe to regex on this text, as it is NOT local dependant
- like ($dbh->errstr, qr{\w+ \@ line [0-9?]+ pos [0-9?]+}, "error message");
- };
- do_ok ($dbh, "drop table $tbl", "drop");
- ok ($dbh->disconnect, "disconnect");
-
- done_testing ();
- } # run_test
-
-1;
@@ -1,9 +0,0 @@
-#!/usr/bin/perl
-
-package DBI::Test::DBD::CSV::Conf;
-
-use strict;
-use warnings;
-use parent qw( DBI::Test::Conf );
-
-1;
@@ -1,16 +0,0 @@
-#!/usr/bin/perl
-
-package DBI::Test::DBD::CSV::List;
-
-use strict;
-use warnings;
-use parent "DBI::Test::List";
-
-sub test_cases
-{
- my @pm = glob "lib/DBI/Test/Case/DBD/CSV/*.pm";
- s{lib/DBI/Test/Case/DBD/CSV/(\S+)\.pm}{DBD::CSV::$1} for @pm;
- return @pm;
- } # test_cases
-
-1;
@@ -9,7 +9,6 @@ use Test::More;
BEGIN { use_ok ("DBI") }
do "t/lib.pl";
-my $nano = $ENV{DBI_SQL_NANO};
my @tbl_def = (
[ "id", "INTEGER", 4, &COL_NULLABLE ],
[ "name", "CHAR", 64, &COL_NULLABLE ],
@@ -26,15 +25,11 @@ ok ($dbh->do ($def), "create table");
ok ($dbh->do ("insert into $tbl values (NULL, 'NULL-id', ' ')"), "insert");
-my $row;
-
ok (my $sth = $dbh->prepare ("select * from $tbl where id is NULL"), "prepare");
ok ($sth->execute, "execute");
-TODO: {
- local $TODO = $nano ? "SQL::Nano does not yet support this syntax" : undef;
- ok ($row = $sth->fetch, "fetch");
- is_deeply ($row, [ "", "NULL-id", " " ], "default content");
- }
+ok (my $row = $sth->fetch, "fetch");
+
+is_deeply ($row, [ "", "NULL-id", " " ], "default content");
ok ($sth->finish, "finish");
undef $sth;
@@ -42,11 +37,9 @@ ok ($dbh = Connect ({ csv_null => 1 }), "connect csv_null");
ok ($sth = $dbh->prepare ("select * from $tbl where id is NULL"), "prepare");
ok ($sth->execute, "execute");
-TODO: {
- local $TODO = $nano ? "SQL::Nano does not yet support this syntax" : undef;
- ok ($row = $sth->fetch, "fetch");
- is_deeply ($row, [ undef, "NULL-id", " " ], "NULL content");
- }
+ok ($row = $sth->fetch, "fetch");
+is_deeply ($row, [ undef, "NULL-id", " " ], "NULL content");
+
ok ($sth->finish, "finish");
undef $sth;
@@ -7,13 +7,6 @@ use warnings;
use Test::More;
BEGIN { use_ok ("DBI") }
-
-if ($ENV{DBI_SQL_NANO}) {
- diag ("These tests are not yet supported for SQL::Nano");
- done_testing (1);
- exit 0;
- }
-
do "t/lib.pl";
defined &SQL_VARCHAR or *SQL_VARCHAR = sub { 12 };
@@ -9,11 +9,9 @@ use Test::More;
BEGIN { use_ok ("DBI") }
do "t/lib.pl";
-defined &SQL_CHAR or *SQL_CHAR = sub { 1 };
defined &SQL_VARCHAR or *SQL_VARCHAR = sub { 12 };
defined &SQL_INTEGER or *SQL_INTEGER = sub { 4 };
-my $nano = $ENV{DBI_SQL_NANO};
my @tbl_def = (
[ "id", "INTEGER", 4, &COL_KEY ],
[ "name", "CHAR", 64, &COL_NULLABLE ],
@@ -36,17 +34,16 @@ is ($sth->{NAME_lc}[0], lc $tbl_def[0][0], "NAME_lc");
is ($sth->{NAME_uc}[1], uc $tbl_def[1][0], "NAME_uc");
is_deeply ($sth->{NAME_lc_hash},
{ map { ( lc $tbl_def[$_][0] => $_ ) } 0 .. $#tbl_def }, "NAME_lc_hash");
-if ($DBD::File::VERSION gt "0.42") {
- is ($sth->{TYPE}[0], $nano ? &SQL_VARCHAR : &SQL_INTEGER, "TYPE 1");
- is ($sth->{TYPE}[1], $nano ? &SQL_VARCHAR : &SQL_CHAR, "TYPE 2");
- is ($sth->{PRECISION}[0], 0, "PRECISION 1");
- is ($sth->{PRECISION}[1], $nano ? 0 : 64, "PRECISION 2");
- is ($sth->{NULLABLE}[0], $nano ? 1 : 0, "NULLABLE 1");
- is ($sth->{NULLABLE}[1], 1, "NULLABLE 2");
- }
+# TODO tests
+#s ($sth->{TYPE}[0], &SQL_INTEGER, "TYPE 1");
+#s ($sth->{TYPE}[1], &SQL_VARCHAR, "TYPE 2");
+is ($sth->{PRECISION}[0], 0, "PRECISION 1");
+is ($sth->{PRECISION}[1], 64, "PRECISION 2");
+is ($sth->{NULLABLE}[0], 0, "NULLABLE 1");
+is ($sth->{NULLABLE}[1], 1, "NULLABLE 2");
ok ($sth->finish, "finish");
-#s ($sth->{NUM_OF_FIELDS}, 0, "NUM_OF_FIELDS");
+#s ($sth->{NUM_OF_FIELDS}, 0, "NUM_OF_FIELDS");
undef $sth;
ok ($dbh->do ("drop table $tbl"), "drop table");
@@ -9,7 +9,6 @@ use Test::More;
BEGIN { use_ok ("DBI") }
do "t/lib.pl";
-my $nano = $ENV{DBI_SQL_NANO};
my @tbl_def = (
[ "id", "INTEGER", 4, 0 ],
[ "name", "CHAR", 64, 0 ],
@@ -19,11 +18,6 @@ sub RowCount
{
my ($dbh, $tbl) = @_;
- if ($nano) {
- diag ("SQL::Nano does not support count (*)");
- return 0;
- }
-
local $dbh->{PrintError} = 1;
my $sth = $dbh->prepare ("SELECT count (*) FROM $tbl") or return;
$sth->execute or return;
@@ -47,12 +41,12 @@ is ($dbh->{AutoCommit}, 1, "AutoCommit still on");
# Check whether AutoCommit mode works.
ok ($dbh->do ("insert into $tbl values (1, 'Jochen')"), "insert 1");
-is (RowCount ($dbh, $tbl), $nano ? 0 : 1, "1 row");
+is (RowCount ($dbh, $tbl), 1, "1 row");
ok ($dbh->disconnect, "disconnect");
ok ($dbh = Connect (), "connect");
-is (RowCount ($dbh, $tbl), $nano ? 0 : 1, "still 1 row");
+is (RowCount ($dbh, $tbl), 1, "still 1 row");
# Check whether commit issues a warning in AutoCommit mode
ok ($dbh->do ("insert into $tbl values (2, 'Tim')"), "insert 2");
@@ -8,15 +8,12 @@ use Test::More;
BEGIN { use_ok ("DBI") }
require "t/lib.pl";
+my $tmpdir = File::Spec->tmpdir ();
my $tstdir = DbDir ();
-my @extdir = ("t", File::Spec->tmpdir ());
-if (open my $fh, "<", "tests.skip") {
- grep m/\b tmpdir \b/x => <$fh> and pop @extdir;
- }
my $dbh = DBI->connect ("dbi:CSV:", undef, undef, {
f_schema => undef,
f_dir => DbDir (),
- f_dir_search => \@extdir,
+ f_dir_search => [ "t", $tmpdir ],
f_ext => ".csv/r",
f_lock => 2,
f_encoding => "utf8",
@@ -39,7 +36,7 @@ my %dir = map {
$dbh->do ("create table foo (c_foo integer, foo char (1))");
$dbh->do ("insert into foo values ($_, $_)") for 1, 2, 3;
-my @test_dirs = ($tstdir, @extdir);
+my @test_dirs = ($tstdir, "t", $tmpdir);
is ($dir{$_}, 1, "DSN for $_") for @test_dirs;
my %tbl = map { $_ => 1 } $dbh->tables (undef, undef, undef, undef);
@@ -2,6 +2,7 @@
use strict;
use warnings;
+use version;
use Test::More;
use DBI qw(:sql_types);
@@ -23,13 +23,14 @@ like (my $def = TableDefinition ($tbl, @tbl_def),
qr{^create table $tbl}i, "table definition");
ok ($dbh->do ($def), "create table");
-my @tbl = $dbh->tables ();
if (my $usr = eval { getpwuid $< }) {
- s/^(['"`])(.+)\1\./$2./ for @tbl;
- is_deeply (\@tbl, [ qq{$usr.$tbl} ], "tables");
+ $usr = qq{"$usr"};
+ is_deeply ([ $dbh->tables () ],
+ [ qq{$usr.$tbl} ], "tables");
}
else {
- is_deeply (\@tbl, [ qq{$tbl} ], "tables");
+ is_deeply ([ $dbh->tables () ],
+ [ qq{$tbl} ], "tables");
}
ok ($dbh->disconnect, "disconnect");
@@ -48,7 +48,7 @@ for (qw( foo foO fOo fOO Foo FoO FOo FOO )) {
}
else {
TODO: {
- local $TODO = "Filesystem has to be case-aware" if $^O =~ m/win32|darwin/i;
+ local $TODO = "Filesystem has to be case-aware";
local $sth->{PrintError} = 0;
ok (!$sth->execute, "table name '$_' should not match 'foo'");
}
@@ -5,13 +5,6 @@ use warnings;
use Test::More;
use DBI qw(:sql_types);
-
-if ($ENV{DBI_SQL_NANO}) {
- ok ($ENV{DBI_SQL_NANO}, "These tests are not suit for SQL::Nano");
- done_testing ();
- exit 0;
- }
-
do "t/lib.pl";
my ($rt, %input, %desc);