Loading...
Searching...
No Matches
MysqlSqlUtil::MysqlColumn Class Reference

represents a MySQL-specific column More...

Inheritance diagram for MysqlSqlUtil::MysqlColumn:
[legend]

## Public Member Functions

softlist< string > | getAddColumnSql (AbstractTable t)
| returns a list of sql strings that can be used to add the column to an existing table More...
string | getCreateSql (AbstractTable t)
| returns an sql string that can be used to add the column to a table
string | getDdlName (string name)
| returns the column name with quoting in case the column name is a reserved word More...
softlist< string > | 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 More...
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

## Protected Member Functions

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

## Detailed Description

represents a MySQL-specific column

## Member Function Documentation

## getAddColumnSql()

softlist< string > MysqlSqlUtil::MysqlColumn::getAddColumnSql | ( | AbstractTable | t | ) |

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

Example:
  list<auto> l = col.getAddColumnSql(t);

Parameters

  t | the AbstractTable object to modify

## getDdlName()

string MysqlSqlUtil::MysqlColumn::getDdlName | ( | string | name | ) |

returns the column name with quoting in case the column name is a reserved word

the name returned here will be used when executing DDL

## getModifySqlImpl()

softlist< string > MysqlSqlUtil::MysqlColumn::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:
  list<auto> l = col.getModifySql(t, newcol);

The column names are assumed to be equal.

Parameters

  t | the AbstractTable object to modify
  col | the new column definition
  opt | column modification options (none are supported in 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 MysqlSqlUtil::MysqlColumn::getRenameSql | ( | AbstractTable | t,
|  | string | new_name
| ) |  |

returns a string that can be used to rename the column

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

Parameters

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

Returns
  a string that can be used to rename the column