.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Alzabo::Runtime::Column 3pm" .TH Alzabo::Runtime::Column 3pm "2022-06-14" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Alzabo::Runtime::Column \- Column objects .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Alzabo::Runtime::Column; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This object represents a column. It holds data specific to a column. .SH "INHERITS FROM" .IX Header "INHERITS FROM" \&\f(CW\*(C`Alzabo::Column\*(C'\fR .PP Note: all relevant documentation from the superclass has been merged into this document. .SH "METHODS" .IX Header "METHODS" .SS "table" .IX Subsection "table" Returns the table object to which this column belongs. .SS "name" .IX Subsection "name" Returns the column's name as a string. .SS "nullable" .IX Subsection "nullable" Returns a boolean value indicating whether or not NULLs are allowed in this column. .SS "attributes" .IX Subsection "attributes" A column's attributes are strings describing the column (for example, valid attributes in MySQL are '\s-1UNSIGNED\s0' or '\s-1ZEROFILL\s0'. .PP This method returns a list of strings of such strings. .SS "has_attribute" .IX Subsection "has_attribute" This method can be used to test whether or not a column has a particular attribute. By default, the check is case-insensitive. .PP It takes the following parameters: .IP "\(bu" 4 attribute => \f(CW$attribute\fR .IP "\(bu" 4 case_sensitive => 0 or 1 (defaults to 0) .PP It returns a boolean value indicating whether or not the column has this particular attribute. .SS "type" .IX Subsection "type" Returns the column's type as a string. .SS "sequenced" .IX Subsection "sequenced" The meaning of a sequenced column varies from one \s-1RDBMS\s0 to another. In those with sequences, it means that a sequence is created and that values for this column will be drawn from it for inserts into this table. In databases without sequences, the nearest analog for a sequence is used (in MySQL the column is given the \s-1AUTO_INCREMENT\s0 attribute, in Sybase the identity attribute). .PP In general, this only has meaning for the primary key column of a table with a single column primary key. Setting the column as sequenced means its value never has to be provided to when calling \&\f(CW\*(C`Alzabo::Runtime::Table\->insert\*(C'\fR. .PP Returns a boolean value indicating whether or not this column is sequenced. .SS "default" .IX Subsection "default" Returns the default value of the column as a string, or undef if there is no default. .SS "default_is_raw" .IX Subsection "default_is_raw" Returns true if the default is intended to be provided to the \s-1DBMS\s0 as-is, without quoting, fore example \f(CW\*(C`NOW()\*(C'\fR or \f(CW\*(C`current_timestamp\*(C'\fR. .SS "length" .IX Subsection "length" Returns the length attribute of the column, or undef if there is none. .SS "precision" .IX Subsection "precision" Returns the precision attribute of the column, or undef if there is none. .SS "is_primary_key" .IX Subsection "is_primary_key" Returns a boolean value indicating whether or not this column is part of its table's primary key. .SS "is_numeric" .IX Subsection "is_numeric" Returns a boolean value indicating whether the column is a numeric type column. .SS "is_integer" .IX Subsection "is_integer" Returns a boolean value indicating whether the column is a numeric type column. .SS "is_floating_point" .IX Subsection "is_floating_point" Returns a boolean value indicating whether the column is a numeric type column. .SS "is_character" .IX Subsection "is_character" Returns a boolean value indicating whether the column is a character type column. .PP This is true only for any columns which are defined to hold \fItext\fR data, regardless of size. .SS "is_date" .IX Subsection "is_date" Returns a boolean value indicating whether the column is a date type column. .SS "is_datetime" .IX Subsection "is_datetime" Returns a boolean value indicating whether the column is a datetime type column. .SS "is_time" .IX Subsection "is_time" Returns a boolean value indicating whether the column is a time type column. .SS "is_time_interval" .IX Subsection "is_time_interval" Returns a boolean value indicating whether the column is a time interval type column. .SS "is_blob" .IX Subsection "is_blob" Returns a boolean value indicating whether the column is a blob column. .PP This is true for any columns defined to hold binary data, regardless of size. .SS "generic_type" .IX Subsection "generic_type" This methods returns one of the following strings: .IP "integer" 4 .IX Item "integer" .PD 0 .IP "floating_point" 4 .IX Item "floating_point" .IP "character" 4 .IX Item "character" .IP "date" 4 .IX Item "date" .IP "datetime" 4 .IX Item "datetime" .IP "time" 4 .IX Item "time" .IP "blob" 4 .IX Item "blob" .IP "unknown" 4 .IX Item "unknown" .PD .SS "definition" .IX Subsection "definition" The definition object is very rarely of interest. Use the \&\f(CW\*(C`type()\*(C'\fR method if you are only interested in the column's type. .PP This methods returns the \&\f(CW\*(C`Alzabo::Runtime::ColumnDefinition\*(C'\fR object which holds this column's type information. .SS "comment" .IX Subsection "comment" Returns the comment associated with the column object, if any. .SS "alias" .IX Subsection "alias" Takes the following parameters: .IP "\(bu" 4 as => \f(CW$name\fR .PP This method returns an object that can be used in calls to the table and schema \f(CW\*(C`select()\*(C'\fR methods in order to change the name given to the column if \f(CW\*(C`next_as_hash()\*(C'\fR is called on the \&\f(CW\*(C`Alzabo::DriverStatement\*(C'\fR returned by the aforementioned \f(CW\*(C`select()\*(C'\fR method. .SH "AUTHOR" .IX Header "AUTHOR" Dave Rolsky,