iopc::SqlStatementsFeature Class Reference
[iopcdb]

Declares methods that are used to generate basic SQL statements. More...

#include <sqlStatementsFeature.h>

Inheritance diagram for iopc::SqlStatementsFeature:

Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual const std::string & getNameInst ()
 Returns name of the database feature.
virtual std::string getCreateTableStatement (const MetadataHolder &tableMeta, const std::vector< const MetadataHolder * > &columns, const MetadataHolder &createMeta=MetadataHolder::emptyMeta)=0
 Generates a CREATE TABLE statement.
virtual std::string getDropTableStatement (const MetadataHolder &tableMeta, const MetadataHolder &dropmeta=MetadataHolder::emptyMeta)=0
 Generates a DROP TABLE statement.
virtual std::string getInsertStatement (const MetadataHolder &tableMeta, const std::vector< const MetadataHolder * > &inColumns, const MetadataHolder &insertMeta=MetadataHolder::emptyMeta)=0
 Generates an INSERT statement.
virtual std::string getUpdateStatement (const MetadataHolder &tableMeta, const std::vector< const MetadataHolder * > &inColumns, const MetadataHolder &updateMeta=MetadataHolder::emptyMeta)=0
 Generates an UPDATE statement.
virtual std::string getDeleteStatement (const MetadataHolder &tableMeta, const MetadataHolder &deleteMeta=MetadataHolder::emptyMeta)=0
 Generates a DELETE statement.
virtual std::string getSelectStatement (const std::vector< const MetadataHolder * > &tables, const std::vector< const MetadataHolder * > &outColumns, const MetadataHolder &selectMeta=MetadataHolder::emptyMeta)=0
 Generates a basic SELECT statement.
virtual std::string getCreateViewStatement (const MetadataHolder &meta, const MetadataHolder &createMeta=MetadataHolder::emptyMeta)=0
 Generates a CREATE VIEW statement.
virtual std::string getDropViewStatement (const MetadataHolder &meta, const MetadataHolder &dropMeta=MetadataHolder::emptyMeta)=0
 Generates a DROP VIEW statement.
virtual std::vector< std::string > getIndexes (const MetadataHolder &tableMeta, const std::vector< const MetadataHolder * > &columns)=0
 Generates a CREATE INDEX statement.


Detailed Description

Declares methods that are used to generate basic SQL statements.

These statements are: CREATE TABLE, DROP TABLE, INSERT INTO table, UPDATE table, DELETE FROM table, SELECT FROM table CREATE VIEW, DROP VIEW.


Member Function Documentation

virtual const std::string& iopc::SqlStatementsFeature::getNameInst (  )  [inline, virtual]

Returns name of the database feature.

Database features must have unique names across the library

Implements iopc::DbFeature.

virtual std::string iopc::SqlStatementsFeature::getCreateTableStatement ( const MetadataHolder tableMeta,
const std::vector< const MetadataHolder * > &  columns,
const MetadataHolder createMeta = MetadataHolder::emptyMeta 
) [pure virtual]

Generates a CREATE TABLE statement.

Parameters:
tableMeta Metadata describing the table.
  • [db.table] - Name of the table
  • [db.type] - If O/R database is used, a table [db.table] of the ADT type [db.type] is generated
columns Metadata describing the columns.
  • [db.column] - Column name
  • [db.type.notNull] - Column is rendered as NOT NULL
  • [db.primaryKey] - Column is part of the primary key
createMeta Additional driver-specific parameters

virtual std::string iopc::SqlStatementsFeature::getDropTableStatement ( const MetadataHolder tableMeta,
const MetadataHolder dropmeta = MetadataHolder::emptyMeta 
) [pure virtual]

Generates a DROP TABLE statement.

Parameters:
tableMeta Metadata describing the table to drop
  • [db.table] - Name of the table
dropmeta Additional driver-specific parameters

virtual std::string iopc::SqlStatementsFeature::getInsertStatement ( const MetadataHolder tableMeta,
const std::vector< const MetadataHolder * > &  inColumns,
const MetadataHolder insertMeta = MetadataHolder::emptyMeta 
) [pure virtual]

Generates an INSERT statement.

Parameters:
tableMeta Metadata describing the table to drop
  • [db.table] - Name of the table
inColumns Metadata describing the table columns
  • [db.column] - Column name
insertMeta Additional driver-specific parameters

virtual std::string iopc::SqlStatementsFeature::getUpdateStatement ( const MetadataHolder tableMeta,
const std::vector< const MetadataHolder * > &  inColumns,
const MetadataHolder updateMeta = MetadataHolder::emptyMeta 
) [pure virtual]

Generates an UPDATE statement.

Parameters:
tableMeta Metadata describing the table to update
  • [db.table] - Name of the table
inColumns Metadata describing the columns which will be updated
  • [db.column] - Column name
updateMeta Additional parameters
  • [db.update.where] - WHERE part of the generated UPDATE statement (optional)

virtual std::string iopc::SqlStatementsFeature::getDeleteStatement ( const MetadataHolder tableMeta,
const MetadataHolder deleteMeta = MetadataHolder::emptyMeta 
) [pure virtual]

Generates a DELETE statement.

Parameters:
tableMeta Metadata describing the table from which to delete rows
  • [db.table] - Name of the table
deleteMeta Additional parameters
  • [db.delete.where] - WHERE part of the generated DELETE statement

virtual std::string iopc::SqlStatementsFeature::getSelectStatement ( const std::vector< const MetadataHolder * > &  tables,
const std::vector< const MetadataHolder * > &  outColumns,
const MetadataHolder selectMeta = MetadataHolder::emptyMeta 
) [pure virtual]

Generates a basic SELECT statement.

Parameters:
tables Metadata describing the tables from which to select data
  • [db.table] - Name of the table
outColumns Metadata describing the columns which will be selected
  • [db.column] - Column name
  • [db.column.alias] - Alias of the column in the SELECT statement (optional)
selectMeta Additional parameters
  • [db.update.where] - WHERE part of the generated SELECT statement (optional)
  • [db.update.groupBy] - GROUP BY part of the generated SELECT statement (optional)
  • [db.update.having] - HAVING part of the generated SELECT statement (optional)
  • [db.update.oraderBy] - ORDER BY part of the generated SELECT statement (optional)
  • [db.select.lock] - boolean, determines whether the generated select should lock the rows returned (FOR UPDATE) (optional)
  • [db.select.nowait] - boolean, determines whether the generated select should wait for the required locks to be freed or not (NOWAIT) (optional)

virtual std::string iopc::SqlStatementsFeature::getCreateViewStatement ( const MetadataHolder meta,
const MetadataHolder createMeta = MetadataHolder::emptyMeta 
) [pure virtual]

Generates a CREATE VIEW statement.

Parameters:
meta Metadata describing the view
  • [db.view] - View name
  • [db.view.select] - View code
createMeta Additional driver-specific parameters

virtual std::string iopc::SqlStatementsFeature::getDropViewStatement ( const MetadataHolder meta,
const MetadataHolder dropMeta = MetadataHolder::emptyMeta 
) [pure virtual]

Generates a DROP VIEW statement.

Parameters:
meta MEtadata describing the view
  • [db.view] - View name
dropMeta Additional driver-specific parameters

virtual std::vector<std::string> iopc::SqlStatementsFeature::getIndexes ( const MetadataHolder tableMeta,
const std::vector< const MetadataHolder * > &  columns 
) [pure virtual]

Generates a CREATE INDEX statement.

Parameters:
tableMeta Metadata describing the table on which to create the index
  • [db.table] - Name of the table
columns Metadata describing the indexes
  • [db.index] - Name of the index
  • [db.index.unique] - Name of the unique index (at least one of these two metadata must be specified)
  • [db.column] - Name of the column on which to create the index


The documentation for this class was generated from the following files:

Generated on Tue Apr 14 16:46:40 2009 for IOPC 2 by  doxygen 1.5.6