DB-Handy
view release on metacpan or search on metacpan
lib/DB/Handy.pm view on Meta::CPAN
=item C<UNIQUE constraint violated on 'E<lt>idxnameE<gt>' ...>
An INSERT or UPDATE would have created a duplicate value in a column covered
by a UNIQUE index.
=item C<NOT NULL constraint violated on column 'E<lt>colE<gt>'>
An INSERT or UPDATE supplied a NULL or empty string for a column declared
C<NOT NULL>.
=item C<Subquery returns more than one row>
A scalar subquery (used in a context that expects a single value) returned
multiple rows.
=item C<Cannot parse column def: E<lt>textE<gt>>
The C<CREATE TABLE> parser could not interpret a column definition.
=item C<Unsupported SQL: E<lt>sqlE<gt>>
The SQL string does not match any known pattern.
=item C<Database 'E<lt>nameE<gt>' already exists>
C<create_database> was called for a database directory that already exists.
=item C<Database 'E<lt>nameE<gt>' does not exist>
C<connect> or C<drop_database> was called for a database directory that
does not exist.
=item C<Cannot open base_dir: E<lt>reasonE<gt>>
The base directory passed to C<new> (or C<connect>) could not be opened.
Check that the path exists and that the process has read permission.
=item C<Cannot open dat 'E<lt>fileE<gt>': E<lt>reasonE<gt>>
A C<.dat> record file could not be opened for reading or writing.
Check file permissions and disk space.
=item C<Cannot read schema: E<lt>reasonE<gt>>
A C<.sch> schema file exists but could not be read.
Check file permissions.
=item C<Cannot create base_dir: E<lt>reasonE<gt>>
C<new> could not create the base directory.
Check parent-directory write permissions.
=item C<Cannot create database 'E<lt>nameE<gt>': E<lt>reasonE<gt>>
C<create_database> could not create the database subdirectory.
Check disk space and write permissions on C<base_dir>.
=item C<Cannot drop database 'E<lt>nameE<gt>': E<lt>reasonE<gt>>
C<drop_database> could not remove the database directory tree.
Check that no files are locked and that write permission is granted.
=item C<DB::Handy connect failed: E<lt>messageE<gt>>
The low-level C<connect> call failed. C<$DB::Handy::errstr> contains
the underlying error set by the failing operation.
=item C<DB::Handy: E<lt>messageE<gt>>
A fatal internal error was raised directly via C<die>.
C<RaiseError> must be enabled (the default) for this message to propagate.
=back
=head1 BUGS AND LIMITATIONS
Please report any bugs or feature requests by e-mail to
E<lt>ina@cpan.orgE<gt>.
When reporting a bug, please include:
=over 4
=item *
A minimal, self-contained test script that reproduces the problem.
=item *
The version of DB::Handy:
perl -MDB::Handy -e 'print DB::Handy->VERSION, "\n"'
=item *
Your Perl version:
perl -V
=item *
Your operating system and file system (Windows NTFS, Linux ext4, etc.)
=back
Known limitations:
=over 4
=item *
B<No transaction support.> C<begin_work>, C<commit>, and C<rollback>
are implemented and return C<undef> with C<errstr> set rather than
crashing. C<AutoCommit> always returns C<1>. Every write is
immediately committed.
=item *
B<VARCHAR is always 255 bytes on disk.> Declaring C<VARCHAR(10)> does not
save disk space; the full 255 bytes are always reserved per record.
However, the declared size I<is> enforced on INSERT and UPDATE: a value
( run in 2.861 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )