PgsqlSqlUtil::PgsqlColumn Class Reference

represents a PostgreSQL-specific column More...

Inheritance diagram for PgsqlSqlUtil::PgsqlColumn:
[legend]

## Public Member Functions

| constructor (string n, string nt, *string qt, int sz, bool nul, *string dv, *string cm, softint bs)
| creates the column from the supplied arguments
list | getAddColumnSql (AbstractTable t)
| returns a list of sql strings that can be used to add the column to an existing table More...
list | getModifySqlImpl (AbstractTable t, AbstractColumn col, *hash opt)
| returns a list of sql strings that can be used to modify the column to the new definition; if the column definitions are identical then an empty list is returned More...
string | getNativeTypeString ()
| returns a string giving the native type of the column
string | getRenameSql (AbstractTable t, string new_name)
| returns a string that can be used to rename the column More...

## Public Attributes

int | byte_size
| byte size of the column

## Private Member Functions

bool | equalImpl (AbstractColumn c)
| returns True if the argument is equal to the current object, False if not

## Detailed Description

represents a PostgreSQL-specific column

## Member Function Documentation

## getAddColumnSql()

list PgsqlSqlUtil::PgsqlColumn::getAddColumnSql | ( | AbstractTable | t | ) |

returns a list of sql strings that can be used to add the column to an existing table

Example:
  my list $l = $col.getAddColumnSql($t);

Parameters

  t | the SqlUtil::AbstractTable object to modify

## getModifySqlImpl()

list PgsqlSqlUtil::PgsqlColumn::getModifySqlImpl | ( | AbstractTable | t,
|  | AbstractColumn | col,
|  | *hash | opt
| ) |  |

returns a list of sql strings that can be used to modify the column to the new definition; if the column definitions are identical then an empty list is returned

Example:
  my list $l = $col.getModifySql($t, $newcol);

The column names are assumed to be equal.

Parameters

  t | the SqlUtil::AbstractTable object to modify
  col | the new column definition
  opt | column modification options (none are supported by this class)

Returns
  a list of sql strings that can be used to modify the column to the new definition; if the column definitions are identical then an empty list is returned

## getRenameSql()

string PgsqlSqlUtil::PgsqlColumn::getRenameSql | ( | AbstractTable | t,
|  | string | new_name
| ) |  |

returns a string that can be used to rename the column

Example:
  my string $str = $col.getRenameSql($t, "new_name");

Parameters

  t | the SqlUtil::AbstractTable object to modify
  new_name | the new name for the column

Returns
  a string that can be used to rename the column