Qore SqlUtil Module Reference  1.5.1
SqlUtil::AbstractColumn Class Referenceabstract

the base class for column information More...

Inherits Serializable.

Public Member Methods

bool equal (AbstractColumn c)
 returns True if the argument is equal to the current object, False if not
 
abstract list 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 getDropSql (string table_name)
 returns a string that can be used to drop the column from the table
 
list getModifySql (AbstractTable t, AbstractColumn c, *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 the string describing the native type that can be used in SQL (for example to add the colunn to a table or when creating the table)
 
abstract string getRenameSql (AbstractTable t, string new_name)
 returns a string that can be used to rename the column More...
 

Public Attributes

*string comment
 comment on the column
 
*string def_val
 default value for column
 
string name
 the name of the column
 
string native_type
 the native type name of the column
 
bool nullable
 True if the column can hold a NULL value, False if not
 
*string qore_type
 the equivalent qore type name of the column if known
 
int size
 the size of the column
 

Private Member Methods

 constructor ()
 empty constructor for subclasses
 
abstract bool equalImpl (AbstractColumn c)
 returns True if the argument is equal to the current object, False if not
 
abstract list getModifySqlImpl (AbstractTable t, AbstractColumn c, *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...
 

Detailed Description

the base class for column information

Member Function Documentation

◆ getAddColumnSql()

abstract list SqlUtil::AbstractColumn::getAddColumnSql ( AbstractTable  t)
pure virtual

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

Example:
list l = col.getAddColumnSql(t);
Parameters
tthe AbstractTable object to modify
Returns
a list of sql strings that can be used to add the column to an existing table

◆ getModifySql()

list SqlUtil::AbstractColumn::getModifySql ( AbstractTable  t,
AbstractColumn  c,
*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 l = col.getModifySql(t, newcol);

The column names are assumed to be equal.

Parameters
tthe AbstractTable object to modify
cthe new column definition
optcolumn modification options (if supported by the underlying driver)
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

◆ getModifySqlImpl()

abstract list SqlUtil::AbstractColumn::getModifySqlImpl ( AbstractTable  t,
AbstractColumn  c,
*hash  opt 
)
privatepure virtual

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 l = col.getModifySql(t, newcol);

The column names are assumed to be equal.

Parameters
tthe AbstractTable object to modify
cthe new column definition
optcolumn modification options (if supported by the underlying driver)
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()

abstract string SqlUtil::AbstractColumn::getRenameSql ( AbstractTable  t,
string  new_name 
)
pure virtual

returns a string that can be used to rename the column

Example:
string str = col.getRenameSql(t, "new_name");
Parameters
tthe AbstractTable object to modify
new_namethe new name for the column
Returns
a string that can be used to rename the column