NAME
DBIO::Test::Conformance::Cases::DDL - The shared DDL cases every DBIO driver answers
VERSION
version 0.900004
DESCRIPTION
The DDL list of DBIO::Test::Conformance (ADR 0060): twenty cases, D1 to D19 of the ADR's first case list (D15 as two cases, ddl-type-size-char and ddl-type-size-bit), as plain Perl data. A case is one schema declaration in DBIO's own terms and what must be observable on the server after it was installed. It holds no SQL and no driver name.
A case is a hash:
{
name => 'ddl-default-string-apostrophe', # stable id, ddl- prefix
since => 1, # table version that added it
cards => [ 'dbio-sqlite k57', ... ], # where it came from; documentation
subject => { source => 'Note', column => 'note' }, # optional, see below
input => { sources => [ { ... }, ... ] },
expect => [ { read_back => { ... } }, ... ],
}
input and expect are documented in "CASES" in DBIO::Test::Conformance. subject names what a refusal must mention: the table of source and, when given, the column. Without it the first source and no column.
The order is the order of the ADR appendix, so a card's D5 is the fifth entry. Names never change once published; a case that turns out wrong is replaced by a new one with a higher since.
METHODS
cases
my $cases = DBIO::Test::Conformance::Cases::DDL->cases;
An arrayref of the cases. It is a deep copy: a caller cannot damage the next run's table.
AUTHOR
DBIO & DBIx::Class Authors
COPYRIGHT AND LICENSE
Copyright (C) 2026 DBIO Authors Portions Copyright (C) 2005-2025 DBIx::Class Authors Based on DBIx::Class, heavily modified.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.