NAME

CXC::DB::DDL::Types - Types, oh my!

VERSION

version 0.18

SYNOPSIS

use CXC::DB::DDL::Types -all;

say "yup, it's an index" if is_Index($index);

DESCRIPTION

Types used by CXC::DB::DDL and associated modules. Enumerated values are typically generated by the enumeration functions in CXC::DB::DDL::Constants; see that for more information.

TYPES

Indexes

An array of values which pass the "Index" type constraint.

Coercible from an ArrayRef [Str] as

[ { fields => $aref } ]

Index

A hashref with the following fields (all of which are optional, but that would result in a bogus constraint, so don't do that):

name => Optional [Str]

fields => Optional [ Str | ArrayRef [Str] ]

type => Optional [ Enum [SCHEMA_CONSTANTS] ]

options => Optional [HashRef]

Constraint

A hashref with the following fields (all of which are optional, but that would result in a bogus constraint, so don't do that):

type => Optional [ Enum [SCHEMA_CONSTANTS] ]

name => Optional [Str]

deferrable => Optional [Bool]

expression => Optional [Str|CodeRef]

fields => Optional [ Str | ArrayRef [Str] ]

referenced_fields => Optional [ Str | ArrayRef [Str] ]

reference_table => Optional [Str]

match_type => Optional [ Enum [SCHEMA_CONSTRAINT_MATCH_TYPES] ]

on_delete => Optional [ Enum [SCHEMA_CONSTRAINT_ON_DELETE] ]

on_update => Optional [ Enum [SCHEMA_CONSTRAINT_ON_UPDATE] ]

options => Optional [HashRef]

SUPPORT

Bugs

Please report any bugs or feature requests to bug-cxc-db-ddl@rt.cpan.org or through the web interface at: https://rt.cpan.org/Public/Dist/Display.html?Name=CXC-DB-DDL

Source

Source is available at

https://gitlab.com/djerius/cxc-db-ddl

and may be cloned from

https://gitlab.com/djerius/cxc-db-ddl.git

SEE ALSO

Please see those modules/websites for more information related to this module.

AUTHOR

Diab Jerius <djerius@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2022 by Smithsonian Astrophysical Observatory.

This is free software, licensed under:

The GNU General Public License, Version 3, June 2007