Qore Sqlite3SqlUtil Module Reference  1.0
Sqlite3SqlUtil::Sqlite3Column Class Reference

represents a Sqlite3-specific column More...

Inheritance diagram for Sqlite3SqlUtil::Sqlite3Column:

Public Member Methods

 constructor (string name, string native_type, *string qore_type, bool nullable, *string default_value, bool auto_increment=False, bool primary_key=False)
 Creates the column.
 
softlist< stringgetAddColumnSql (AbstractTable t)
 returns a list of sql strings that can be used to add the column to an existing table More...
 
string getDdlName (string name)
 returns the column name with quoting in case the column name is a reserved word More...
 
softlist< stringgetModifySqlImpl (AbstractTable t, AbstractColumn col, *hash< auto > 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...
 

Private Member Methods

 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 Sqlite3-specific column

Member Function Documentation

◆ getAddColumnSql()

softlist<string> Sqlite3SqlUtil::Sqlite3Column::getAddColumnSql ( AbstractTable  t)

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

Example:
list<string> l = col.getAddColumnSql(t);
Parameters
tthe AbstractTable object to modify

◆ getDdlName()

string Sqlite3SqlUtil::Sqlite3Column::getDdlName ( string  name)
virtual

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

Implements SqlUtil::AbstractDdlObject.

◆ getModifySqlImpl()

softlist<string> Sqlite3SqlUtil::Sqlite3Column::getModifySqlImpl ( AbstractTable  t,
AbstractColumn  col,
*hash< auto >  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
colthe new column definition
optcolumn 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 Sqlite3SqlUtil::Sqlite3Column::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
tthe AbstractTable object to modify
new_namethe new name for the column
Returns
a string that can be used to rename the column