NAME

DBIO::Test::Conformance::Cases::Names - The shared cases for names a driver writes as identifiers: schema, extension, load library

VERSION

version 0.900004

DESCRIPTION

The Names list of DBIO::Test::Conformance (ADR 0060, ADR 0077): a schema name (the connect key schema), the name of a database extension and the name of a library an extension loads are identifiers. A driver writes each of them into a statement only through its identifier quoting (or a bind), or refuses it with a DBIO::Exception. These cases hand the driver, per kind, a plain name and five names a naive statement builder cannot take: a double quote, a semicolon, a blank, a backslash and a line break.

A case is a hash:

{
  name  => 'name-schema-quote',      # stable id, name- prefix
  since => 1,                        # table version that added it
  cards => [ 'core k391' ],
  input => { kind => 'schema', name => 'a"b' },
}

kind is schema, extension or library. There is no expect: the two acceptable answers are the same for every case ("Names" in DBIO::Test::Conformance). A driver answers a kind through the capability "conformance_name_kinds" in DBIO::Test::Conformance; a kind it does not declare is not applicable.

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::Names->cases;

An arrayref of the cases, a deep copy.

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.