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.