mirror of
https://github.com/DBD-SQLite/DBD-SQLite
synced 2025-06-07 14:19:10 -04:00
- Accept empty filename at connect (sqlite will open a tempfile) (DAMI)
- Documented the connect() method (DAMI)
This commit is contained in:
parent
baebd1593e
commit
3997c0ffaf
3 changed files with 48 additions and 3 deletions
2
Changes
2
Changes
|
@ -15,6 +15,8 @@ Changes for Perl extension DBD-SQLite
|
|||
- Added a default implementation for the REGEXP infix operator (DAMI)
|
||||
- Renamed several internal sqlite3_ functions to sqlite_
|
||||
for clarity (ISHIGAKI)
|
||||
- Accept empty filename at connect (sqlite will open a tempfile) (DAMI)
|
||||
- Documented the connect() method (DAMI)
|
||||
|
||||
1.26_02 Fri 19 Jun 2009
|
||||
- Updated to SQLite 3.6.15 (DUNCAND)
|
||||
|
|
|
@ -98,7 +98,7 @@ sub connect {
|
|||
|
||||
# To avoid unicode and long file name problems on Windows,
|
||||
# convert to the shortname if the file (or parent directory) exists.
|
||||
if ( $^O =~ /MSWin32/ and $real ne ':memory:' ) {
|
||||
if ( $^O =~ /MSWin32/ and $real ne ':memory:' and $real ne '') {
|
||||
require Win32;
|
||||
require File::Basename;
|
||||
my ($file, $dir, $suffix) = File::Basename::fileparse($real);
|
||||
|
@ -505,7 +505,7 @@ DBD::SQLite - Self-contained RDBMS in a DBI Driver
|
|||
=head1 SYNOPSIS
|
||||
|
||||
use DBI;
|
||||
my $dbh = DBI->connect("dbi:SQLite:dbname=dbfile","","");
|
||||
my $dbh = DBI->connect("dbi:SQLite:dbname=$dbfile","","");
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
|
@ -554,6 +554,29 @@ details about core features.
|
|||
Currently many statement attributes are not implemented or are
|
||||
limited by the typeless nature of the SQLite database.
|
||||
|
||||
=head1 CONNECTING
|
||||
|
||||
The name of the database file is passed in the the DBI connection
|
||||
string :
|
||||
|
||||
my $dbh = DBI->connect("dbi:SQLite:dbname=$dbfile","","");
|
||||
|
||||
The file is opened in read/write mode, and will be created if
|
||||
it does not exist yet.
|
||||
|
||||
If the filename C<$dbfile> is ":memory:", then a private, temporary
|
||||
in-memory database is created for the connection. This in-memory
|
||||
database will vanish when the database connection is closed. Future
|
||||
versions of SQLite might make use of additional special filenames that
|
||||
begin with the ":" character. It is recommended that when a database
|
||||
filename actually does begin with a ":" character you should prefix
|
||||
the filename with a pathname such as "./" to avoid ambiguity.
|
||||
|
||||
If the filename C<$dbfile> is an empty string, then a private,
|
||||
temporary on-disk database will be created. This private database will
|
||||
be automatically deleted as soon as the database connection is closed.
|
||||
|
||||
|
||||
=head1 DRIVER PRIVATE ATTRIBUTES
|
||||
|
||||
=head2 Database Handle Attributes
|
||||
|
@ -1290,6 +1313,11 @@ code we work with leaks.
|
|||
|
||||
Reading/writing into blobs using C<sqlite2_blob_open> / C<sqlite2_blob_close>.
|
||||
|
||||
=head2 Flags for sqlite3_open_v2
|
||||
|
||||
Support the full API of sqlite3_open_v2 (flags for opening the file).
|
||||
|
||||
|
||||
=head1 SUPPORT
|
||||
|
||||
Bugs should be reported via the CPAN bug tracker at
|
||||
|
|
|
@ -13,7 +13,7 @@ use t::lib::Test;
|
|||
use Test::More;
|
||||
BEGIN {
|
||||
if ( $] >= 5.008005 ) {
|
||||
plan( tests => (($^O eq 'cygwin') ? 13 : 25) );
|
||||
plan( tests => (($^O eq 'cygwin') ? 15 : 27) );
|
||||
} else {
|
||||
plan( skip_all => 'Unicode is not supported before 5.8.5' );
|
||||
}
|
||||
|
@ -75,6 +75,21 @@ foreach my $subdir ( 'longascii', 'adatb
|
|||
unlink(_path($dbfilex)) if -e _path($dbfilex);
|
||||
}
|
||||
|
||||
|
||||
# connect to an empty filename - sqlite will create a tempfile
|
||||
eval {
|
||||
my $dbh = DBI->connect("dbi:SQLite:dbname=", undef, undef, {
|
||||
RaiseError => 1,
|
||||
PrintError => 0,
|
||||
} );
|
||||
isa_ok( $dbh, 'DBI::db' );
|
||||
};
|
||||
is( $@, '', "Could connect to temp database (empty filename)" );
|
||||
diag( $@ ) if $@;
|
||||
|
||||
|
||||
|
||||
|
||||
sub _path { # copied from DBD::SQLite::connect
|
||||
my $path = shift;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue