Columns

Class: TMMUpdater

property Columns : TMMColumnInfoArray;  { read-only }

Per-column metadata array populated by Prepare.
Each element is a TMMColumnInfo record describing one column of the EDB buffer table (Table) and its corresponding MySQL target column.

Returns an empty array before Prepare has been called or after Drop.

Note: This is distinct from UpdateColumns, which is a write-before-Prepare input specifying which columns to include. Columns is the resolved metadata output produced by Prepare.

Fields populated after Prepare

All standard TMMColumnInfo fields are fully populated from INFORMATION_SCHEMA.COLUMNS.
Only ActualMaxBytes and TruncCap are always 0 (those are populated exclusively by TMMScript after Execute).

Identity

Field Description
ColumnName EDB field name in the buffer table (sanitised for EDB identifier rules)
OrdinalPosition 1-based position in the MySQL table
SourceName Original MySQL column name (equals ColumnName in the IS path; no aliases)
SourceTable Target MySQL table name (same as TargetTable for all entries)

MySQL type

Field Description
DataType Base type string: 'varchar', 'bigint', 'blob', etc.
ColumnType Full type with parameters: 'varchar(255)', 'decimal(10,2)', etc.

Size and scale

Field Description
Size Character length, numeric precision, or datetime fractional-seconds precision; 0 when not applicable
Scale Fractional digits for DECIMAL/NUMERIC; 0 for all other types

Nullability and default

Field Description
IsNullable True when IS_NULLABLE = 'YES'
HasDefault True when a column default is defined
ColumnDefault Default value expression; empty when HasDefault is False

Character set and collation

Field Description
CharsetName Character set name; empty for non-text types
CollationName Collation name; empty for non-text types

Key, identity, and generated columns

Field Description
PrimaryKeyIndex 1-based position in the PRIMARY KEY; 0 = not part of PK
IsUnique True when column_key = 'UNI'
IsAutoIncrement True when extra contains auto_increment
IsGenerated True for VIRTUAL or STORED generated columns
GenerationExpr Generation expression; empty when IsGenerated is False

EDB-equivalent type

Field Description
EDBType ElevateDB DDL type string, e.g. 'VARCHAR(255)', 'CLOB', 'INTEGER'
IsBinary True for BLOB, BINARY, VARBINARY, BIT, and related binary types

Miscellaneous

Field Description
ColumnComment MySQL column comment

Script result fields (always 0 in this path)

ActualMaxBytes and TruncCap are always 0; they are populated only by TMMScript after Execute.

See Also

(C) 2026 Easygate, Lda