SqlUtil Namespace Reference

Qore AbstractDatabase class definition. More...

## Classes

class | AbstractCheckConstraint
| abstract class for check constraints More...
class | AbstractColumn
| the base class for column information More...
class | AbstractColumnConstraint
| the API for a constraint with columns More...
class | AbstractColumnSupportingConstraint
| the API for a constraint with columns More...
class | AbstractConstraint
| abstract base class for constraints More...
class | AbstractDatabase
| the base abstract class for the database implementation More...
class | AbstractDdlObject
| the base class for named objects More...
class | AbstractForeignConstraint
| the base class for foreign key constraint information More...
class | AbstractFunction
| base class for functions More...
class | AbstractFunctionBase
| base class for function or objects with code More...
class | AbstractHashContainer
| abstract container class that throws an exception if an unknown key is accessed More...
class | AbstractIndex
| the abstract base class for index information More...
class | AbstractListContainer
| abstract container class that throws an exception if an unknown key is accessed More...
class | AbstractNumericDataType
| the data type for Oracle NUMBER columns More...
class | AbstractPrimaryKey
| represents a primary key More...
class | AbstractSavepointHelper
| Abstract base class for savepoint helpers for epheremal transaction support. More...
class | AbstractSequence
| base class for sequences More...
class | AbstractSqlUtilBase
| base class for abstract SqlUtil classes More...
class | AbstractTable
| the base abstract class for the table implementation More...
class | AbstractTrigger
| the base class for triggers More...
class | AbstractUniqueConstraint
| represents a unique column constraint More...
class | AbstractView
| base class for views More...
struct | ColumnOperatorInfo
| column operator info hash as returned by all column operator functions More...
class | Columns
| column container class that throws an exception if an unknown column is accessed More...
class | Constraints
| constraint container class that throws an exception if an unknown constraint is accessed More...
class | Database
| represents a database; this class embeds an AbstractDatabase object that is created automatically in the constructor based on the database driver for the AbstractDatasource object providing the database connection More...
class | ForeignConstraints
| foreign constraint container class that throws an exception if an unknown constraint is accessed More...
class | ForeignConstraintTarget
| a class describing a foreign constraint target More...
class | Functions
| function container class that throws an exception if an unknown function is accessed More...
struct | GenericColumnInfo
| generic column description hash in schema descriptions More...
class | Indexes
| index container class that throws an exception if an unknown index is accessed More...
struct | InsertOperatorInfo
| insert operator info hash as returned by all insert operator functions More...
struct | JoinOperatorInfo
| join operator info hash as returned by all join operator functions More...
struct | OperatorInfo
| SQL operator info hash as returned by all operator functions. More...
struct | QueryInfo
| Query information. More...
struct | SqlCommandInfo
| A hash describing SQL and arguments for an SQL DML command. More...
struct | SqlResultInfo
| Return type for methods that return a result and also SQL info. More...
class | SqlUtilColumnDataType
| generic type for SQL datatypes where no translations are provided for NULL for "or nothing" types More...
class | SqlUtilColumnField
| SqlUtil column field class. More...
struct | SqlUtilDataTypeOptionInfo
| column data type options More...
class | SqlUtilDateType
| type for date / timestamp columns More...
class | SqlUtilDbSpecificDataType
| data type for DB-specific types that are not convertible to other types More...
class | SqlUtilFloatType
| type for date / timestamp columns More...
class | SqlUtilIntType
| type for date / timestamp columns More...
class | SqlUtilStringType
| type for string / varchar / char columns More...
class | Table
| represents a database table; this class embeds an AbstractTable object that is created automatically in the constructor based on the database driver for the AbstractDatasource object providing the database connection More...
class | Tables
| the table container class stores a collection of tables in a schema More...
class | Triggers
| trigger container class that throws an exception if an unknown trigger is accessed More...
struct | UpdateOperatorInfo
| update operator info hash as returned by all update operator functions More...

## Functions

hash< ColumnOperatorInfo > | cop_append (auto column, string arg)
| returns a ColumnOperatorInfo hash for the `"append"` operator with the given argument More...
hash< ColumnOperatorInfo > | cop_as (auto column, string arg)
| returns a ColumnOperatorInfo hash for the `"as"` operator with the given argument More...
hash< ColumnOperatorInfo > | cop_avg (auto column)
| returns a ColumnOperatorInfo hash for the `"avg"` operator; returns average column values More...
hash< ColumnOperatorInfo > | cop_cast (auto column, string arg, auto arg1, auto arg2)
| returns a ColumnOperatorInfo hash for the `"cast"` operator with the given argument(s) More...
hash< ColumnOperatorInfo > | cop_coalesce (auto col1, auto col2)
| returns a ColumnOperatorInfo hash for the `"coalesce"` operator with the given column arguments; the first non-NULL column value will be returned More...
hash< ColumnOperatorInfo > | cop_count (auto column='')
| returns a ColumnOperatorInfo hash for the `"count"` operator; returns row counts More...
hash< ColumnOperatorInfo > | cop_cume_dist ()
| Analytic/window function: relative rank of the current row. More...
hash< ColumnOperatorInfo > | cop_dense_rank ()
| Analytic/window function: rank of the current row without gaps. More...
hash< ColumnOperatorInfo > | cop_distinct (auto column)
| returns a ColumnOperatorInfo hash for the `"distinct"` operator with the given argument; returns distinct column values More...
hash< ColumnOperatorInfo > | cop_divide (auto column1, auto column2)
| returns a ColumnOperatorInfo hash for the `"/"` operator with the given arguments More...
hash< ColumnOperatorInfo > | cop_first_value (any column)
| Analytic/window function: value evaluated at the row that is the first row of the window frame. More...
hash< ColumnOperatorInfo > | cop_last_value (any column)
| Analytic/window function: value evaluated at the row that is the last row of the window frame. More...
hash< ColumnOperatorInfo > | cop_length (auto column)
| returns a ColumnOperatorInfo hash for the `"len"` operator with the given argument; returns the length of the given text field More...
hash< ColumnOperatorInfo > | cop_lower (auto column)
| returns a ColumnOperatorInfo hash for the `"lower"` operator with the given argument; returns a column value in lower case More...
hash< ColumnOperatorInfo > | cop_max (auto column)
| returns a ColumnOperatorInfo hash for the `"max"` operator; returns maximum column values More...
hash< ColumnOperatorInfo > | cop_min (auto column)
| returns a ColumnOperatorInfo hash for the `"min"` operator; returns minimum column values More...
hash< ColumnOperatorInfo > | cop_minus (auto column1, auto column2)
| returns a ColumnOperatorInfo hash for the `"-"` operator with the given arguments More...
hash< ColumnOperatorInfo > | cop_multiply (auto column1, auto column2)
| returns a ColumnOperatorInfo hash for the `"*"` operator with the given arguments More...
hash< ColumnOperatorInfo > | cop_ntile (int value)
| Analytic/window function: integer ranging from 1 to the argument value, dividing the partition as equally as possible. More...
hash< ColumnOperatorInfo > | cop_over (auto column, *string partitionby, *string orderby)
| returns a ColumnOperatorInfo hash for the `"over"` clause More...
hash< ColumnOperatorInfo > | cop_percent_rank ()
| Analytic/window function: relative rank of the current row. More...
hash< ColumnOperatorInfo > | cop_plus (auto column1, auto column2)
| returns a ColumnOperatorInfo hash for the `"+"` operator with the given arguments More...
hash< ColumnOperatorInfo > | cop_prepend (auto column, string arg)
| returns a ColumnOperatorInfo hash for the `"prepend"` operator with the given argument More...
hash< ColumnOperatorInfo > | cop_rank ()
| Analytic/window function: rank of the current row with gaps. More...
hash< ColumnOperatorInfo > | cop_row_number ()
| Analytic/window function: number of the current row within its partition, counting from 1. More...
hash< ColumnOperatorInfo > | cop_seq (string seq, *string as)
| returns a ColumnOperatorInfo hash for the `"seq"` operator with the given argument giving the sequence name whose value should be returned More...
hash< ColumnOperatorInfo > | cop_seq_currval (string seq, *string as)
| returns a ColumnOperatorInfo hash for the `"seq_currval"` operator with the given argument giving the sequence name whose current value should be returned More...
hash< ColumnOperatorInfo > | cop_substr (auto column, int start, *int count)
| returns a ColumnOperatorInfo hash for the `"substr"` operator with the given arguments; returns a substring of a column value More...
hash< ColumnOperatorInfo > | cop_sum (auto column)
| returns a ColumnOperatorInfo hash for the `"sum"` operator; returns the total sum of a numeric column. More...
hash< ColumnOperatorInfo > | cop_trunc_date (auto column, string mask)
| Truncates a date column or value regarding the given mask. The resulting value remains Qore::date (no conversion to eg. string) More...
hash< ColumnOperatorInfo > | cop_upper (auto column)
| returns a ColumnOperatorInfo hash for the `"upper"` operator with the given argument; returns a column value in upper case More...
hash< ColumnOperatorInfo > | cop_value (auto arg)
| returns a ColumnOperatorInfo hash for the `"value"` (literal) operator with the given argument More...
hash< ColumnOperatorInfo > | cop_year (auto column)
| returns a ColumnOperatorInfo hash for the `"year"` operator with the given argument More...
hash< ColumnOperatorInfo > | cop_year_day (auto column)
| returns a ColumnOperatorInfo hash for the `"year_day"` operator with the given argument More...
hash< ColumnOperatorInfo > | cop_year_hour (auto column)
| returns a ColumnOperatorInfo hash for the `"year_hour"` operator with the given argument More...
hash< ColumnOperatorInfo > | cop_year_month (auto column)
| returns a ColumnOperatorInfo hash for the `"year_month"` operator with the given argument More...
hash< InsertOperatorInfo > | iop_seq (string arg)
| returns an InsertOperatorInfo hash for retrieving the value of the given sequence in insert queries More...
hash< InsertOperatorInfo > | iop_seq_currval (string arg)
| returns an InsertOperatorInfo hash for retrieving the current value of the given sequence in insert queries More...
hash< string, hash< JoinOperatorInfo > > | join_inner (AbstractTable table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for standard inner joins with the given arguments More...
hash< string, hash< JoinOperatorInfo > > | join_inner (string ta, AbstractTable table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for standard inner joins with the given arguments for use when joining with a table other than the primary table More...
hash< string, hash< JoinOperatorInfo > > | join_inner (string ta, Table table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for standard inner joins with the given arguments for use when joining with a table other than the primary table More...
hash< string, hash< JoinOperatorInfo > > | join_inner (string table_name, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for standard inner joins with the given arguments More...
hash< string, hash< JoinOperatorInfo > > | join_inner (Table table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for standard inner joins with the given arguments More...
hash< string, hash< JoinOperatorInfo > > | join_inner_alias (string ta, string table_name, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for standard inner joins with the given arguments for use when joining with a table other than the primary table More...
hash< string, hash< JoinOperatorInfo > > | join_left (AbstractTable table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for left outer joins with the given arguments More...
hash< string, hash< JoinOperatorInfo > > | join_left (string ta, AbstractTable table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for left outer joins with the given arguments for use when joining with a table other than the primary table More...
hash< string, hash< JoinOperatorInfo > > | join_left (string ta, Table table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for left outer joins with the given arguments for use when joining with a table other than the primary table More...
hash< string, hash< JoinOperatorInfo > > | join_left (string table_name, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for left outer joins with the given arguments More...
hash< string, hash< JoinOperatorInfo > > | join_left (Table table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for left outer joins with the given arguments More...
hash< string, hash< JoinOperatorInfo > > | join_left_alias (string ta, string table_name, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for left outer joins with the given arguments for use when joining with a table other than the primary table More...
hash< string, hash< JoinOperatorInfo > > | join_right (AbstractTable table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for right outer joins with the given arguments More...
hash< string, hash< JoinOperatorInfo > > | join_right (string ta, AbstractTable table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for right outer joins with the given arguments for use when joining with a table other than the primary table More...
hash< string, hash< JoinOperatorInfo > > | join_right (string ta, Table table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for right outer joins with the given arguments for use when joining with a table other than the primary table More...
hash< string, hash< JoinOperatorInfo > > | join_right (string table_name, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for right outer joins with the given arguments More...
hash< string, hash< JoinOperatorInfo > > | join_right (Table table, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for right outer joins with the given arguments More...
hash< string, hash< JoinOperatorInfo > > | join_right_alias (string ta, string table_name, *string alias, *hash jcols, *hash cond, *hash< auto > opt)
| returns a hash for right outer joins with the given arguments for use when joining with a table other than the primary table More...
hash< ColumnOperatorInfo > | make_cop (string cop, auto column, auto arg)
| returns a ColumnOperatorInfo hash More...
hash< InsertOperatorInfo > | make_iop (string iop, auto arg)
| returns an InsertOperatorInfo hash More...
hash< string, hash< JoinOperatorInfo > > | make_jop (string jop, AbstractTable table, *string alias, *hash jcols, *hash cond, *string ta, *hash< auto > opt)
| returns hash keyed with the table name assigned to a JoinOperatorInfo hash More...
hash< string, hash< JoinOperatorInfo > > | make_jop (string jop, string table_name, *string alias, *hash jcols, *hash cond, *string ta, *hash< auto > opt)
| returns a hash keyed with the table name assigned to a JoinOperatorInfo hash More...
hash< OperatorInfo > | make_op (string op, auto arg)
| returns an OperatorInfo hash
hash< UpdateOperatorInfo > | make_uop (string uop, auto arg, *hash< UpdateOperatorInfo > nest)
| returns an UpdateOperatorInfo hash More...
hash< OperatorInfo > | op_between (auto l, auto r)
| returns an OperatorInfo hash for the `"between"` operator with the given arguments, neither of which can be NULL or NOTHING; for use in where clauses More...
hash< OperatorInfo > | op_ceq (string arg)
| returns an OperatorInfo hash for the `"="` operator with the given argument for use in where clauses when comparing the values of two columns More...
hash< OperatorInfo > | op_cge (string arg)
| returns an OperatorInfo hash for the `">="` operator with the given argument for use in where clauses when comparing the values of two columns More...
hash< OperatorInfo > | op_cgt (string arg)
| returns an OperatorInfo hash for the `">"` operator with the given argument for use in where clauses when comparing the values of two columns More...
hash< OperatorInfo > | op_cle (string arg)
| returns an OperatorInfo hash for the `"<="` operator with the given argument for use in where clauses when comparing the values of two columns More...
hash< OperatorInfo > | op_clt (string arg)
| returns an OperatorInfo hash for the `"<"` operator with the given argument for use in where clauses when comparing the values of two columns More...
hash< OperatorInfo > | op_cne (string arg)
| returns an OperatorInfo hash for the `"!="` or `"<>"` operator with the given argument for use in where clauses when comparing the values of two columns More...
hash< OperatorInfo > | op_eq (auto arg)
| returns an OperatorInfo hash for the `"="` operator with the given argument for use in where clauses when comparing column values to immediate values More...
hash< OperatorInfo > | op_ge (auto arg)
| returns an OperatorInfo hash for the `">="` operator with the given argument for use in where clauses when comparing column values to immediate values More...
hash< OperatorInfo > | op_gt (auto arg)
| returns an OperatorInfo hash for the `">"` operator with the given argument for use in where clauses when comparing column values to immediate values More...
hash< OperatorInfo > | op_in ()
| returns an OperatorInfo hash for the `"in"` operator with all arguments passed to the function; for use in where clauses More...
hash< OperatorInfo > | op_in (list< auto > args)
| returns an OperatorInfo hash for the `"in"` operator with the given argument list as the first argument; for use in where clauses More...
hash< OperatorInfo > | op_in_select (AbstractTable table, hash< auto > select_hash)
| returns an OperatorInfo hash for the `"in"` operator with a subquery as the argument; for use in where clauses More...
hash< OperatorInfo > | op_in_select (string table, hash< auto > select_hash)
| returns an OperatorInfo hash for the `"in"` operator with a subquery as the argument; for use in where clauses More...
hash< OperatorInfo > | op_in_select (Table table, hash< auto > select_hash)
| returns an OperatorInfo hash for the `"in"` operator with a subquery as the argument; for use in where clauses More...
hash< OperatorInfo > | op_le (auto arg)
| returns an OperatorInfo hash for the `"<="` operator with the given argument for use in where clauses when comparing column values to immediate values More...
hash< OperatorInfo > | op_like (string str)
| returns an OperatorInfo hash for the `"like"` operator with the given argument for use in where clauses More...
hash< OperatorInfo > | op_lt (auto arg)
| returns an OperatorInfo hash for the `"<"` operator with the given argument for use in where clauses when comparing column values to immediate values More...
hash< OperatorInfo > | op_ne (auto arg)
| returns an OperatorInfo hash for the `"!="` or `"<>"` operator with the given argument for use in where clauses when comparing column values to immediate values More...
hash< OperatorInfo > | op_not (hash arg)
| returns an OperatorInfo hash for the `"not"` operator; for use in where clauses More...
hash< OperatorInfo > | op_substr (int start, *int count, string text)
| returns an OperatorInfo hash for the `"substr"` operator with the given arguments; for use in where clauses More...
hash< OperatorInfo > | op_substr (int start, string text)
| returns an OperatorInfo hash for the `"substr"` operator with the given arguments; for use in where clauses More...
| sqlutil_register_ds_deserializer (*code new_ds_get)
| registers a closure or call reference taking a string type and string datasource configuration that will return an AbstractDatasource
| sqlutil_register_ds_serializer (*code new_ds_do)
| registers a closure or call reference taking a string type and string datasource configuration that will return an AbstractDatasource
hash< UpdateOperatorInfo > | uop_append (string arg, *hash< UpdateOperatorInfo > nest)
| returns an UpdateOperatorInfo hash for the `"append"` or concatenate operator with the given argument More...
hash< UpdateOperatorInfo > | uop_divide (auto arg, *hash< UpdateOperatorInfo > nest)
| returns an UpdateOperatorInfo hash for the `"/"` operator with the given arguments More...
hash< UpdateOperatorInfo > | uop_lower (*hash< UpdateOperatorInfo > nest)
| returns an UpdateOperatorInfo hash for the `"lower"` operator with the given argument; returns a column value in lower case More...
hash< UpdateOperatorInfo > | uop_minus (auto arg, *hash< UpdateOperatorInfo > nest)
| returns an UpdateOperatorInfo hash for the `"-"` operator with the given arguments More...
hash< UpdateOperatorInfo > | uop_multiply (auto arg, *hash< UpdateOperatorInfo > nest)
| returns an UpdateOperatorInfo hash for the `"*"` operator with the given arguments More...
hash< UpdateOperatorInfo > | uop_plus (auto arg, *hash< UpdateOperatorInfo > nest)
| returns an UpdateOperatorInfo hash for the `"+"` operator with the given arguments More...
hash< UpdateOperatorInfo > | uop_prepend (string arg, *hash< UpdateOperatorInfo > nest)
| returns an UpdateOperatorInfo hash for the `"prepend"` operator with the given argument More...
hash< UpdateOperatorInfo > | uop_seq (string seq)
| returns an UpdateOperatorInfo hash for the `"seq"` operator with the given argument giving the sequence name whose value should be returned More...
hash< UpdateOperatorInfo > | uop_seq_currval (string seq)
| returns an UpdateOperatorInfo hash for the `"seq"` operator with the given argument giving the sequence name whose current value should be returned More...
hash< UpdateOperatorInfo > | uop_substr (int start, *int count, *hash< UpdateOperatorInfo > nest)
| returns an UpdateOperatorInfo hash for the `"substr"` operator with the given arguments; returns a substring of a column value More...
hash< UpdateOperatorInfo > | uop_upper (*hash< UpdateOperatorInfo > nest)
| returns an UpdateOperatorInfo hash for the `"upper"` operator with the given argument; returns a column value in upper case More...
hash< string, hash< OperatorInfo > > | wop_or (hash h1, hash h2)
| returns an OperatorInfo hash with a fake `"_OR_"` column name; the list of arguments to the function is combined such that each hash in the list generates SQL expressions combined with "and" logic, and each of those clauses is combined with "or" logic; this is for use in where clauses More...

## Variables

const | BLOB = "blob"
| specifies a large variable-length binary column (ie `BLOB` or `BYTEA`, etc)
const | CHAR = "char"
| specifies a `CHAR` column
const | CLOB = "clob"
| specifies a large variable-length character column (ie `CLOB` or `TEXT`, etc)
const | COP_APPEND = "append"
| to append a string to a column on output More...
const | COP_AS = "as"
| to rename a column on output More...
const | COP_AVG = "avg"
| to return the average value More...
const | COP_CAST = "cast"
| to convert column value into another datatype More...
const | COP_COALESCE = "coalesce"
| to return the first non-null argument in the list More...
const | COP_COUNT = "count"
| to return the row count More...
const | COP_CUME_DIST = "cume_dist"
| Analytic (window) function: CUME_DIST. More...
const | COP_DENSE_RANK = "dense_rank"
| Analytic (window) function: DENSE_RANK. More...
const | COP_DISTINCT = "distinct"
| to return distinct values More...
const | COP_DIVIDE = "divide"
| the SQL `"divide"` operator More...
const | COP_FIRST_VALUE = "first_value"
| Analytic (window) function: FIRST_VALUE. More...
const | COP_LAST_VALUE = "last_value"
| Analytic (window) function: LAST_VALUE. More...
const | COP_LENGTH = "length"
| to get the length of a text field More...
const | COP_LOWER = "lower"
| to return column value in lower case More...
const | COP_MAX = "max"
| to return the maximum value More...
const | COP_MIN = "min"
| to return the minimum value More...
const | COP_MINUS = "minus"
| the SQL `"minus"` operator More...
const | COP_MULTIPLY = "multiply"
| the SQL `"multiply"` operator More...
const | COP_NTILE = "ntile"
| Analytic (window) function: NTILE. More...
const | COP_OVER = "over"
| the SQL `"over"` clause More...
const | COP_PERCENT_RANK = "percent_rank"
| Analytic (window) function: PERCENT_RANK. More...
const | COP_PLUS = "plus"
| the SQL `"plus"` operator More...
const | COP_PREPEND = "prepend"
| to prepend a string to a column on output More...
const | COP_RANK = "rank"
| Analytic (window) function: RANK. More...
const | COP_ROW_NUMBER = "row_number"
| Analytic (window) function: ROW_NUMBER. More...
const | COP_SEQ = "seq"
| to return the next value of a sequence More...
const | COP_SEQ_CURRVAL = "seq_currval"
| to return the last value of a sequence issued in the same session More...
const | COP_SUBSTR = "substr"
| to extract a substring from a column More...
const | COP_SUM = "sum"
| to return the sum value More...
const | COP_TRUNC_DATE = "truncate_date"
| to return the date with truncated value More...
const | COP_UPPER = "upper"
| to return column value in upper case More...
const | COP_VALUE = "value"
| to append a constant value (SQL Literal) to use as an output column value More...
const | COP_YEAR = "year"
| to return a date value with year information only More...
const | COP_YEAR_DAY = "year_day"
| to return a date value with year to day information More...
const | COP_YEAR_HOUR = "year_hour"
| to return a date value with year to hextern information More...
const | COP_YEAR_MONTH = "year_month"
| to return a date value with year to month information More...
const | DB_FUNCTIONS = "functions"
| Features constants. More...
const | DB_MVIEWS = "materialized views"
| Feature: materialized views / snapshots.
const | DB_PACKAGES = "packages"
| Feature: packages.
const | DB_PROCEDURES = "procedures"
| Feature: procedures.
const | DB_SEQUENCES = "sequences"
| Feature: sequences.
const | DB_SYNONYMS = "synonyms"
| Feature: synonyms.
const | DB_TABLES = "tables"
| Feature: tables.
const | DB_TYPES = "named types"
| Feature: named types.
const | DB_VIEWS = "views"
| Feature: views.
const | DefaultCopMap = ...
| a hash of default column operator descriptions
const | DefaultExpressionMap
| Default expressions to be supported by all SqlUtil modules.
const | DefaultIopMap = {}
| a hash of default insert operator descriptions (currently empty, all operators are driver-dependent)
const | DefaultOpMap
| a hash of valid operators for use in Where Clauses
const | DefaultUopMap = ...
| a hash of valid update operators
const | DT_DAY = "D"
| Format unit: day.
const | DT_HOUR = "H"
| Format unit: hour.
const | DT_MINUTE = "m"
| Format unit: minute.
const | DT_MONTH = "M"
| Format unit: month.
const | DT_SECOND = "S"
| Format unit: hour.
const | DT_YEAR = "Y"
| Format unit: year.
const | IOP_SEQ = "seq"
| for using the value of a sequence More...
const | IOP_SEQ_CURRVAL = "seq_currval"
| for using the last value of a sequence issued in the current session More...
const | JOP_INNER = "inner"
| for standard inner joins More...
const | JOP_LEFT = "left"
| for left outer joins More...
const | JOP_RIGHT = "right"
| for right outer joins More...
const | JopMap
| a hash of valid join operators
const | NUMERIC = "number"
| specifies a numeric column (equivalent to Qore::Type::Number)
const | OP_BETWEEN = "between"
| the SQL `"between"` operator for use in Where Clauses More...
const | OP_CEQ = "C="
| the SQL equals operator (=) for use in Where Clauses More...
const | OP_CGE = "C>="
| the SQL greater than or equals operator (>=) for use in Where Clauses More...
const | OP_CGT = "C>"
| the SQL greater than operator (>) for use in Where Clauses More...
const | OP_CLE = "C<="
| the SQL less than or equals (<=) operator for use in Where Clauses More...
const | OP_CLT = "C<"
| the SQL less than (<) operator for use in Where Clauses when comparing two columns More...
const | OP_CNE = "C!="
| the SQL not equals operator (!= or <>) for use in Where Clauses More...
const | OP_EQ = "="
| the SQL equals operator (=) for use in Where Clauses More...
const | OP_GE = ">="
| the SQL greater than or equals operator (>=) for use in Where Clauses More...
const | OP_GT = ">"
| the SQL greater than operator (>) for use in Where Clauses More...
const | OP_IN = "in"
| the SQL `"in"` operator for use in Where Clauses More...
const | OP_IN_SELECT = "in_select"
| the SQL `"in"` operator with a select query for use in Where Clauses More...
const | OP_LE = "<="
| the SQL less than or equals (<=) operator for use in Where Clauses More...
const | OP_LIKE = "like"
| the SQL "like" operator for use in Where Clauses More...
const | OP_LT = "<"
| the SQL less than (<) operator for use in Where Clauses More...
const | OP_NE = "!="
| the SQL not equals operator (!= or <>) for use in Where Clauses More...
const | OP_NOT = "not"
| the SQL `"not"` operator for use in Where Clauses More...
const | OP_OR = "or"
| to combine SQL expressions with `"or"` for use in Where Clauses More...
const | OP_SUBSTR = "substr"
| the SQL `"substr"` operator for use in Where Clauses More...
const | SqlUtilDrivers = ...
| known drivers
const | SZ_MAND = 1
| the data type takes a mandatory size parameter
const | SZ_NONE = 0
| the data type does not take a size parameter
const | SZ_NUM = 3
| the data type is numeric so takes an optional precision and scale
const | SZ_OPT = 2
| the data type takes an optional size parameter
const | VARCHAR = "string"
| specifies a `VARCHAR` column (equivalent to Qore::Type::String)

## Detailed Description

Qore AbstractDatabase class definition.

Qore Table class definition.

Qore SqlUtilStringType class definition.

Qore SqlUtilIntType class definition.

Qore SqlUtilFloatType class definition.

Qore SqlUtilDbSpecificDataType class definition.

Qore SqlUtilDateType class definition.

Qore SqlUtilColumnField class definition.

Qore SqlUtilColumnDataType class definition.

the SqlUtil namespace contains all the objects in the SqlUtil module

Qore SqlResultInfo hash definition.

Qore Database class definition.

Qore AbstractTable class definition.

Qore AbstractSqlUtilBase class definition.

Qore AbstractSavepointHelper class definition.

Qore AbstractNumericDataType class definition.

AbstractDatabase.qc Copyright 2019 - 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. contains all public definitions in the SqlUtil module

AbstractNumericDataType.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. strict argument handling contains all public definitions in the SqlUtil module

AbstractSavepointHelper.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. strict argument handling contains all public definitions in the SqlUtil module

AbstractSqlUtilBase.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. contains all public definitions in the SqlUtil module

AbstractTable.qc Copyright 2019 - 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. contains all public definitions in the SqlUtil module

Database.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. strict argument handling contains all public definitions in the SqlUtil module

SqlResultInfo.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. contains all public definitions in the SqlUtil module

SqlUtilColumnDataType.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. strict argument handling contains all public definitions in the SqlUtil module

SqlUtilColumnField.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. strict argument handling contains all public definitions in the SqlUtil module

SqlUtilDateType.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. strict argument handling contains all public definitions in the SqlUtil module

SqlUtilDbSpecificDataType.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. strict argument handling contains all public definitions in the SqlUtil module

SqlUtilFloatType.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. strict argument handling contains all public definitions in the SqlUtil module

SqlUtilIntType.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. strict argument handling contains all public definitions in the SqlUtil module

SqlUtilStringType.qc Copyright 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. strict argument handling contains all public definitions in the SqlUtil module

Table.qc Copyright 2019 - 2022 Qore Technologies, s.r.o.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. contains all public definitions in the SqlUtil module

## Function Documentation

## cop_append()

hash<ColumnOperatorInfo> SqlUtil::cop_append | ( | auto | column,
|  | string | arg
| ) |  |

returns a ColumnOperatorInfo hash for the `"append"` operator with the given argument

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", cop_append("name", "-migrated")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)
  arg | the text to append (ie concatenate) to the row values in the output column

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_as()

hash<ColumnOperatorInfo> SqlUtil::cop_as | ( | auto | column,
|  | string | arg
| ) |  |

returns a ColumnOperatorInfo hash for the `"as"` operator with the given argument

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_as("errors", "error_count")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins) or any other column "cop_..." function
  arg | the new name of the output column

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

See also
  SqlUtil::cop_value for SQL literals handling

## cop_avg()

hash<ColumnOperatorInfo> SqlUtil::cop_avg | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"avg"` operator; returns average column values

Example:
  *list<auto> rows = table.selectRows(("columns": (cop_avg("quantity")), "where": ("order_type": "wholesale")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_cast()

hash<ColumnOperatorInfo> SqlUtil::cop_cast | ( | auto | column,
|  | string | arg,
|  | auto | arg1,
|  | auto | arg2
| ) |  |

returns a ColumnOperatorInfo hash for the `"cast"` operator with the given argument(s)

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", cop_cast("id", "string")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins) or any other column "cop_..." function
  arg | the new datatype to cast the column value(s) to
  arg1 | optional, type dependent, specification (e.g. size or precision)
  arg2 | optional, type dependent, specification (e.g. scale)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

See also
  SqlUtil::cop_value for SQL literals handling

## cop_coalesce()

hash<ColumnOperatorInfo> SqlUtil::cop_coalesce | ( | auto | col1,
|  | auto | col2
| ) |  |

returns a ColumnOperatorInfo hash for the `"coalesce"` operator with the given column arguments; the first non-NULL column value will be returned

Example:
  *list<auto> rows = table.selectRows(("columns": ("first_name", "last_name", cop_colesce("first_name", "last_name")), "where": ("type": "user")));

Parameters

  col1 | the name or column operator hash for the first value
  col2 | the name or column operator hash for the second value, additional values should follow this argument

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

Exceptions

  COALESCE-ERROR | the arguments must be either string column designators or column operator hashes

## cop_count()

hash<ColumnOperatorInfo> SqlUtil::cop_count | ( | auto | column = `''` | ) |

returns a ColumnOperatorInfo hash for the `"count"` operator; returns row counts

Example:
  *list<auto> rows = table.selectRows(("columns": ("account_type", cop_count()), "where": ("type": "user"), "groupby": "account_type"));

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_cume_dist()

hash<ColumnOperatorInfo> SqlUtil::cop_cume_dist | ( |  | ) |

Analytic/window function: relative rank of the current row.

Example:
  # with table structure (Schema module syntax)
  const T_TestAnalyticFunctions = (
  "columns" : (
  "id" : c_number(),
  "row_type" : c_varchar(10),
  "row_value" : c_number(),
  ),
  );
  # select hash
  hash<auto> sh = (
  "columns" : cop_as(cop_over(cop_cume_dist(), "row_type", "id"), "cume_dist"),
  );
  # rendered SQL statement
  # select cume_dist() over (partition by row_type order by id) as "cume_dist" test_analytic_functions;

Analytic/window function. Must be used with cop_over() with `partitionby` and `orderby` arguments

Note
  MySQL DB family: This analytic function is available only in MariaDB 10.2 and later only.

Returns
  relative rank of the current row: (number of rows preceding or peer with current row) / (total rows)

Since
  SqlUtil 1.4.0

## cop_dense_rank()

hash<ColumnOperatorInfo> SqlUtil::cop_dense_rank | ( |  | ) |

Analytic/window function: rank of the current row without gaps.

Example:
  # with table structure (Schema module syntax)
  const T_TestAnalyticFunctions = (
  "columns" : (
  "id" : c_number(),
  "row_type" : c_varchar(10),
  "row_value" : c_number(),
  ),
  );
  # select hash
  hash<auto> sh = (
  "columns" : cop_as(cop_over(cop_dense_rank(), "row_type", "id"), "dense_rank"),
  );
  # rendered SQL statement
  select dense_rank() over (partition by row_type order by id) as "dense_rank" from test_analytic_functions;

Analytic/window function. Must be used with cop_over() with `partitionby` and `orderby` arguments

Note
  MySQL DB family: This analytic function is available only in MariaDB 10.2 and later only.

Returns
  rank of the current row without gaps; this function counts peer groups

Since
  SqlUtil 1.4.0

## cop_distinct()

hash<ColumnOperatorInfo> SqlUtil::cop_distinct | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"distinct"` operator with the given argument; returns distinct column values

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", cop_distinct("name")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_divide()

hash<ColumnOperatorInfo> SqlUtil::cop_divide | ( | auto | column1,
|  | auto | column2
| ) |  |

returns a ColumnOperatorInfo hash for the `"/"` operator with the given arguments

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_divide("complete_count", "error_count")), "where": ("type": "user")));

Parameters

  column1 | the column specification for the first argument (string name or dot notation for use in joins)
  column2 | the column specification for the second argument (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_first_value()

hash<ColumnOperatorInfo> SqlUtil::cop_first_value | ( | any | column | ) |

Analytic/window function: value evaluated at the row that is the first row of the window frame.

Example:
  # with table structure (Schema module syntax)
  const T_TestAnalyticFunctions = (
  "columns" : (
  "id" : c_number(),
  "row_type" : c_varchar(10),
  "row_value" : c_number(),
  ),
  );
  # select hash
  hash<auto> sh = (
  "columns" : cop_as(cop_over(cop_first_value("row_value"), "row_type", "id"), "first_value"),
  );
  # rendered SQL statement
  select first_value(row_value) over (partition by row_type order by id) as "first_value" from test_analytic_functions;

Analytic/window function. Must be used with cop_over() with `partitionby` and `orderby` arguments

Note
  MySQL DB family: This analytic function is available only in MariaDB 10.2 and later only.

Returns
  returns value evaluated at the row that is the first row of the window frame

Since
  SqlUtil 1.4.0

## cop_last_value()

hash<ColumnOperatorInfo> SqlUtil::cop_last_value | ( | any | column | ) |

Analytic/window function: value evaluated at the row that is the last row of the window frame.

Example:
  # with table structure (Schema module syntax)
  const T_TestAnalyticFunctions = (
  "columns" : (
  "id" : c_number(),
  "row_type" : c_varchar(10),
  "row_value" : c_number(),
  ),
  );
  # select hash
  hash<auto> sh = (
  "columns" : cop_as(cop_over(cop_last_value("row_value"), "row_type", "id"), "last_value"),
  );
  # rendered SQL statement
  select last_value(row_value) over (partition by row_type order by id) as "last_value" from test_analytic_functions;

Analytic/window function. Must be used with cop_over() with `partitionby` and `orderby` arguments

Note
  MySQL DB family: This analytic function is available only in MariaDB 10.2 and later only.

Returns
  returns value evaluated at the row that is the last row of the window frame

Since
  SqlUtil 1.4.0

## cop_length()

hash<ColumnOperatorInfo> SqlUtil::cop_length | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"len"` operator with the given argument; returns the length of the given text field

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", cop_length("product_code")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

Since
  SqlUtil 1.3.1

## cop_lower()

hash<ColumnOperatorInfo> SqlUtil::cop_lower | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"lower"` operator with the given argument; returns a column value in lower case

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", cop_lower("name")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_max()

hash<ColumnOperatorInfo> SqlUtil::cop_max | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"max"` operator; returns maximum column values

Example:
  *list<auto> rows = table.selectRows(("columns": (cop_max("id")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_min()

hash<ColumnOperatorInfo> SqlUtil::cop_min | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"min"` operator; returns minimum column values

Example:
  *list<auto> rows = table.selectRows(("columns": (cop_min("id")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_minus()

hash<ColumnOperatorInfo> SqlUtil::cop_minus | ( | auto | column1,
|  | auto | column2
| ) |  |

returns a ColumnOperatorInfo hash for the `"-"` operator with the given arguments

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_minus("complete_count", "error_count")), "where": ("type": "user")));

Parameters

  column1 | the column specification for the first argument (string name or dot notation for use in joins)
  column2 | the column specification for the second argument (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_multiply()

hash<ColumnOperatorInfo> SqlUtil::cop_multiply | ( | auto | column1,
|  | auto | column2
| ) |  |

returns a ColumnOperatorInfo hash for the `"*"` operator with the given arguments

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_multiply("complete_count", "error_count")), "where": ("type": "user")));

Parameters

  column1 | the column specification for the first argument (string name or dot notation for use in joins)
  column2 | the column specification for the second argument (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_ntile()

hash<ColumnOperatorInfo> SqlUtil::cop_ntile | ( | int | value | ) |

Analytic/window function: integer ranging from 1 to the argument value, dividing the partition as equally as possible.

Example:
  # with table structure (Schema module syntax)
  const T_TestAnalyticFunctions = (
  "columns" : (
  "id" : c_number(),
  "row_type" : c_varchar(10),
  "row_value" : c_number(),
  ),
  );
  # select hash
  hash<auto> sh = (
  "columns" : cop_as(cop_over(cop_ntile(10), "row_type", "id"), "ntile"),
  );
  # rendered SQL statement
  select ntile(10) over (partition by row_type order by id) as "ntile" from test_analytic_functions;

Analytic/window function. Must be used with cop_over() with `partitionby` and `orderby` arguments

Note
  MySQL DB family: This analytic function is available only in MariaDB 10.2 and later only.

Parameters

  value | an integer value used as count of buckets

Returns
  integer ranging from 1 to the argument value, dividing the partition as equally as possible

Since
  SqlUtil 1.4.0

## cop_over()

hash<ColumnOperatorInfo> SqlUtil::cop_over | ( | auto | column,
|  | *string | partitionby,
|  | *string | orderby
| ) |  |

returns a ColumnOperatorInfo hash for the `"over"` clause

Example:
  *list<auto> rows = table.selectRows(("columns": ("account_type", cop_count(), cop_as(cop_over(cop_max("qty"), "account_id"), "max_qty_per_account")), "where": ("type": "user"), "groupby": "account_type"));

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_percent_rank()

hash<ColumnOperatorInfo> SqlUtil::cop_percent_rank | ( |  | ) |

Analytic/window function: relative rank of the current row.

Example:
  # with table structure (Schema module syntax)
  const T_TestAnalyticFunctions = (
  "columns" : (
  "id" : c_number(),
  "row_type" : c_varchar(10),
  "row_value" : c_number(),
  ),
  );
  # select hash
  hash<auto> sh = (
  "columns" : cop_as(cop_over(cop_percent_rank(), "row_type", "id"), "percent_rank"),
  );
  # rendered SQL statement
  select percent_rank() over (partition by row_type order by id) as "percent_rank" from test_analytic_functions;

Analytic/window function. Must be used with cop_over() with `partitionby` and `orderby` arguments

Note
  MySQL DB family: This analytic function is available only in MariaDB 10.2 and later only.

Returns
  relative rank of the current row: (rank - 1) / (total rows - 1)

Since
  SqlUtil 1.4.0

## cop_plus()

hash<ColumnOperatorInfo> SqlUtil::cop_plus | ( | auto | column1,
|  | auto | column2
| ) |  |

returns a ColumnOperatorInfo hash for the `"+"` operator with the given arguments

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_plus("complete_count", "error_count")), "where": ("type": "user")));

Parameters

  column1 | the column specification for the first argument (string name or dot notation for use in joins)
  column2 | the column specification for the second argument (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_prepend()

hash<ColumnOperatorInfo> SqlUtil::cop_prepend | ( | auto | column,
|  | string | arg
| ) |  |

returns a ColumnOperatorInfo hash for the `"prepend"` operator with the given argument

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", cop_prepend("name", "migrated-")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)
  arg | the text to prepend to the row values in the output column

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_rank()

hash<ColumnOperatorInfo> SqlUtil::cop_rank | ( |  | ) |

Analytic/window function: rank of the current row with gaps.

Example:
  # with table structure (Schema module syntax)
  const T_TestAnalyticFunctions = (
  "columns" : (
  "id" : c_number(),
  "row_type" : c_varchar(10),
  "row_value" : c_number(),
  ),
  );
  # select hash
  hash<auto> sh = (
  "columns" : cop_as(cop_over(cop_rank(), "row_type", "id"), "rank"),
  );
  # rendered SQL statement
  select rank() over (partition by row_type order by id) as "rank" from test_analytic_functions;

Analytic/window function. Must be used with cop_over() with `partitionby` and `orderby` arguments

Note
  MySQL DB family: This analytic function is available only in MariaDB 10.2 and later only.

Returns
  rank of the current row with gaps; same as row_number of its first peer

Since
  SqlUtil 1.4.0

## cop_row_number()

hash<ColumnOperatorInfo> SqlUtil::cop_row_number | ( |  | ) |

Analytic/window function: number of the current row within its partition, counting from 1.

Example:
  # with table structure (Schema module syntax)
  const T_TestAnalyticFunctions = (
  "columns" : (
  "id" : c_number(),
  "row_type" : c_varchar(10),
  "row_value" : c_number(),
  ),
  );
  # select hash
  hash<auto> sh = (
  "columns" : cop_as(cop_over(cop_row_number(), "row_type", "id"), "row_number"),
  );
  # rendered SQL statement
  select row_number() over (partition by row_type order by id) as "row_number" from test_analytic_functions;

Analytic/window function. Must be used with cop_over() with `partitionby` and `orderby` arguments

Note
  MySQL DB family: This analytic function is available only in MariaDB 10.2 and later only.

Returns
  number of the current row within its partition, counting from 1

Since
  SqlUtil 1.4.0

## cop_seq()

hash<ColumnOperatorInfo> SqlUtil::cop_seq | ( | string | seq,
|  | *string | as
| ) |  |

returns a ColumnOperatorInfo hash for the `"seq"` operator with the given argument giving the sequence name whose value should be returned

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_seq("xid", "xis")), "where": ("type": "user")));

Parameters

  seq | the name of the sequence whose value should be returned
  as | an optional column name that should be returned for the sequence value (so that SqlUtil::cop_as() need not be used)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_seq_currval()

hash<ColumnOperatorInfo> SqlUtil::cop_seq_currval | ( | string | seq,
|  | *string | as
| ) |  |

returns a ColumnOperatorInfo hash for the `"seq_currval"` operator with the given argument giving the sequence name whose current value should be returned

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_seq("xid", "xid_val"), cop_seq_currval("xid", "xid_current")), "where": ("type": "user")));

Parameters

  seq | the name of the sequence whose current value should be returned
  as | an optional column name that should be returned for the sequence value (so that SqlUtil::cop_as() need not be used)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_substr()

hash<ColumnOperatorInfo> SqlUtil::cop_substr | ( | auto | column,
|  | int | start,
|  | *int | count
| ) |  |

returns a ColumnOperatorInfo hash for the `"substr"` operator with the given arguments; returns a substring of a column value

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", cop_substr("name", 1, 1)), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)
  start | position where the substring starts
  count | length of the substring in characters

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_sum()

hash<ColumnOperatorInfo> SqlUtil::cop_sum | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"sum"` operator; returns the total sum of a numeric column.

Example:
  *list<auto> rows = table.selectRows(("columns": (cop_sum("quantity")), "where": ("order_type": "wholesale")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_trunc_date()

hash<ColumnOperatorInfo> SqlUtil::cop_trunc_date | ( | auto | column,
|  | string | mask
| ) |  |

Truncates a date column or value regarding the given mask. The resulting value remains Qore::date (no conversion to eg. string)

Example:
  *list<auto> rows = table.selectRows(("columns": cop_trunc_date("mydate", DF_MINUTE));
  # input: 2017-02-01 14:22:37
  # output 2017-02-01 14:22:00

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)
  mask | the string with one of specified values rederenced in cop_trunc_date formats

Returns
  a column operator description hash corresponding to the arguments for use in the columns argument of a select option hash

Since
  SqlUtil 1.4.0

## cop_upper()

hash<ColumnOperatorInfo> SqlUtil::cop_upper | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"upper"` operator with the given argument; returns a column value in upper case

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", cop_upper("name")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_value()

hash<ColumnOperatorInfo> SqlUtil::cop_value | ( | auto | arg | ) |

returns a ColumnOperatorInfo hash for the `"value"` (literal) operator with the given argument

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_value(100)), "where": ("type": "user")));

Parameters

  arg | the value to be returned in the column

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

SQL literals can be useful in some cases - as dummy values for select statements where there is exact columns required, unions, expected values for `arc.insertFromIterator`(src.getStatement(sh)) "insert as select", etc.

The term literal refers to a fixed data value. For example, 123, 'foobar' etc.

Mapping of Qore values to literals:

Qore Type | SQL Type | Qore Example | SQL interpretation
Integer | NUMBER as it is | `123` | `123`
Float | NUMBER as it is | `12.3` | `12.3`
Numeric | NUMBER as it is | `1.2n` | `1.2`
Date | String representation of the date using DB native implementation like TO_TIMESTAMP for Oracle. | `now()` | `to_timestamp`('20150421104825000000', 'YYYYMMDDHH24MISSFF6')
Bool | Internal representation of the bool value using DB native implementation | `True` | `1`
String | Standard and escaped string literal. No additional literal methods like Oracle's `nq{foobar}` are supported now | `"foo bar"` | `'foo` bar'
`NULL` | Direct null literal | `NULL` | `null`
`NOTHING` | Direct null literal | `NOTHING` | `null`

Note
  Passing an existing SQL function name as a value to the cop_value() function does not result in function call. The string value is escaped as it is. Example: sysdate becomes 'sysdate'. See example below.

The most useful SqlUtil::cop_value() usage is with cooperation of SqlUtil::cop_as() which allows human readable column name aliases.

Warning
  Using SqlUtil::cop_value() without SqlUtil::cop_as() can result in errors depending on the DB backend. For example Oracle's use of `cop_value(1), cop_value(True)` ends with `ORA-00918: column ambiguously defined` because both values are interpreted as 1 in the resulting SQL.

Example

%new-style
%requires SqlUtil
DatasourcePool ds("oracle:pvanek_omq/omq@xbox(al32utf8)");
Database db(ds);
Table t(ds, "dual");
hash<auto> sh = (
"columns" : (
cop_as(cop_value(1), "as_int"),
cop_as(cop_value(1.2), "as_float"),
cop_as(cop_value(3.2n), "as_numeric"),
cop_as(cop_value(now()), "as_date"),
cop_as(cop_value("foo bar"), "as_string"),
cop_as(cop_value("sysdate"), "as_function_call"),
cop_as(cop_value(True), "as_bool"),
cop_as(cop_value(NULL), "as_null"),
cop_as(cop_value(NOTHING), "as_nothing"),
),
);
string sql;
on_exit { printf("sql: %s\n", sql); }
printf("%N\n", t.selectRow(sh, \sql));
# results in:
hash: (9 members)
as_int : 1
as_float : 1.2
as_numeric : 3.2
as_date : 2015-04-21 10:56:57.000000 Tue +02:00 (CEST)
as_string : "foo bar"
as_function_call : "sysdate"
as_bool : 1
as_null : <NULL>
as_nothing : <NULL>
sql: select 1 as as_int,1.2 as as_float,3.2 as as_numeric,to_timestamp('20150421105657000000', 'YYYYMMDDHH24MISSFF6') as as_date,'foo bar' as as_string,'sysdate' as as_function_call,1 as as_bool,null as as_null,null as as_nothing from pvanek_omq.workflows fetch next %v rows only
now
date now()
printf
string printf(string fmt,...)

## cop_year()

hash<ColumnOperatorInfo> SqlUtil::cop_year | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"year"` operator with the given argument

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_year("error_time")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_year_day()

hash<ColumnOperatorInfo> SqlUtil::cop_year_day | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"year_day"` operator with the given argument

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_year_day("error_time")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_year_hour()

hash<ColumnOperatorInfo> SqlUtil::cop_year_hour | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"year_hour"` operator with the given argument

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_year_hour("error_time")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## cop_year_month()

hash<ColumnOperatorInfo> SqlUtil::cop_year_month | ( | auto | column | ) |

returns a ColumnOperatorInfo hash for the `"year_month"` operator with the given argument

Example:
  *list<auto> rows = table.selectRows(("columns": ("id", "name", cop_year_month("error_time")), "where": ("type": "user")));

Parameters

  column | the column specification for the column (string name or dot notation for use in joins)

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

## iop_seq()

hash<InsertOperatorInfo> SqlUtil::iop_seq | ( | string | arg | ) |

returns an InsertOperatorInfo hash for retrieving the value of the given sequence in insert queries

Example:
  table.insert(("id": id, "ref": iop_seq("xid")));

Parameters

  arg | the name of the sequence whose value should be inserted into the column

Returns
  an InsertOperatorInfo hash corresponding to the arguments for use in insert queries

## iop_seq_currval()

hash<InsertOperatorInfo> SqlUtil::iop_seq_currval | ( | string | arg | ) |

returns an InsertOperatorInfo hash for retrieving the current value of the given sequence in insert queries

Example:
  table.insert(("id": id, "ref": iop_seq("xid"), "ref2": iop_seq_currval("xid")));

Parameters

  arg | the name of the sequence whose current value should be inserted into the column

Returns
  an InsertOperatorInfo hash corresponding to the arguments for use in insert queries

## join_inner() [1/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_inner | ( | AbstractTable | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for standard inner joins with the given arguments

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_inner(table2, "t2", ("id": "altid"))));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_inner(table2)));

Parameters

  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_inner() [2/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_inner | ( | string | ta,
|  | AbstractTable | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for standard inner joins with the given arguments for use when joining with a table other than the primary table

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_inner(table2, "t2", ("id": "altid")) + join_inner("t2", table3)));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_inner(table2)));

Parameters

  ta | the table name or alias of the other table to join with when not joining with the primary table
  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

Since
  SqlUtil 1.3

## join_inner() [3/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_inner | ( | string | ta,
|  | Table | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for standard inner joins with the given arguments for use when joining with a table other than the primary table

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_inner(table2, "t2", ("id": "altid")) + join_inner("t2", table3)));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_inner(table2)));

Parameters

  ta | the table name or alias of the other table to join with when not joining with the primary table
  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_inner() [4/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_inner | ( | string | table_name,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for standard inner joins with the given arguments

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_inner(table2, "t2", ("id": "altid"))));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_inner(table2)));

Parameters

  table_name | the table to join with; table will be subject to deferred resolution
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_inner() [5/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_inner | ( | Table | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for standard inner joins with the given arguments

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_inner(table2, "t2", ("id": "altid"))));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_inner(table2)));

Parameters

  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_inner_alias()

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_inner_alias | ( | string | ta,
|  | string | table_name,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for standard inner joins with the given arguments for use when joining with a table other than the primary table

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_inner(table2, "t2", ("id": "altid")) + join_inner("t2", table3)));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_inner(table2)));

Parameters

  ta | the table name or alias of the other table to join with when not joining with the primary table
  table_name | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

Since
  SqlUtil 1.3

## join_left() [1/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_left | ( | AbstractTable | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for left outer joins with the given arguments

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", ("id": "altid"), ("tag", op_like("offset%")))));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", NOTHING, ("tag", op_like("offset%")))));

Parameters

  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_left() [2/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_left | ( | string | ta,
|  | AbstractTable | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for left outer joins with the given arguments for use when joining with a table other than the primary table

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", ("id": "altid"), ("tag", op_like("offset%"))) + join_left("t2", table3, "t3")));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", NOTHING, ("tag", op_like("offset%"))) + join_left("t2", table3, "t3")));

Parameters

  ta | the table name or alias of the other table to join with when not joining with the primary table
  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_left() [3/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_left | ( | string | ta,
|  | Table | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for left outer joins with the given arguments for use when joining with a table other than the primary table

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", ("id": "altid"), ("tag", op_like("offset%"))) + join_left("t2", table3, "t3")));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", NOTHING, ("tag", op_like("offset%"))) + join_left("t2", table3, "t3")));

Parameters

  ta | the table name or alias of the other table to join with when not joining with the primary table
  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_left() [4/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_left | ( | string | table_name,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for left outer joins with the given arguments

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", ("id": "altid"), ("tag", op_like("offset%")))));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", NOTHING, ("tag", op_like("offset%")))));

Parameters

  table_name | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

Since
  SqlUtil 1.3

## join_left() [5/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_left | ( | Table | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for left outer joins with the given arguments

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", ("id": "altid"), ("tag", op_like("offset%")))));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", NOTHING, ("tag", op_like("offset%")))));

Parameters

  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_left_alias()

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_left_alias | ( | string | ta,
|  | string | table_name,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for left outer joins with the given arguments for use when joining with a table other than the primary table

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", ("id": "altid"), ("tag", op_like("offset%"))) + join_left("t2", table3, "t3")));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_left(table2, "t2", NOTHING, ("tag", op_like("offset%"))) + join_left("t2", table3, "t3")));

Parameters

  ta | the table name or alias of the other table to join with when not joining with the primary table
  table_name | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

Since
  SqlUtil 1.3

## join_right() [1/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_right | ( | AbstractTable | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for right outer joins with the given arguments

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", ("id": "altid"), ("tag", op_like("offset%")))));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", NOTHING, ("tag", op_like("offset%")))));

Parameters

  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_right() [2/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_right | ( | string | ta,
|  | AbstractTable | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for right outer joins with the given arguments for use when joining with a table other than the primary table

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", ("id": "altid"), ("tag", op_like("offset%"))) + join_right("t2", table3, "t3")));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", NOTHING, ("tag", op_like("offset%"))) + join_right("t2", table3, "t3")));

Parameters

  ta | the table name or alias of the other table to join with when not joining with the primary table
  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_right() [3/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_right | ( | string | ta,
|  | Table | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for right outer joins with the given arguments for use when joining with a table other than the primary table

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", ("id": "altid"), ("tag", op_like("offset%"))) + join_right("t2", table3, "t3")));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", NOTHING, ("tag", op_like("offset%"))) + join_right("t2", table3, "t3")));

Parameters

  ta | the table name or alias of the other table to join with when not joining with the primary table
  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_right() [4/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_right | ( | string | table_name,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for right outer joins with the given arguments

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", ("id": "altid"), ("tag", op_like("offset%")))));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", NOTHING, ("tag", op_like("offset%")))));

Parameters

  table_name | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

Since
  SqlUtil 1.3

## join_right() [5/5]

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_right | ( | Table | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for right outer joins with the given arguments

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", ("id": "altid"), ("tag", op_like("offset%")))));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", NOTHING, ("tag", op_like("offset%")))));

Parameters

  table | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

## join_right_alias()

hash<string, hash<JoinOperatorInfo> > SqlUtil::join_right_alias | ( | string | ta,
|  | string | table_name,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *hash< auto > | opt
| ) |  |

returns a hash for right outer joins with the given arguments for use when joining with a table other than the primary table

Example With Explicit Join Columns:
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", ("id": "altid"), ("tag", op_like("offset%"))) + join_right("t2", table3, "t3")));

Example With Implicit Join Columns:
  (using an automatically detected foreign key to primary key constraint)
  *list<auto> rows = table.selectRows(("join": join_right(table2, "t2", NOTHING, ("tag", op_like("offset%"))) + join_right("t2", table3, "t3")));

Parameters

  ta | the table name or alias of the other table to join with when not joining with the primary table
  table_name | the table to join with
  alias | the alias for table in the query

  jcols

  the columns to use for the join, the keys will be columns in the source table and the values are columns in the table argument; if this argument is NOTHING, then if there is any foreign key in one table pointing to the primary key of the other table, then this information is automatically assumed as the join condition; a foreign constraint in the current table to the primary key in table will be used first if it exists

  cond | additional conditions for the join clause for the table argument; see Where Clauses for more information
  opt | optional join options (for example, to specify a partition for the join if supported)

Returns
  a join description hash corresponding to the arguments for use in the join argument of a select option hash

Since
  SqlUtil 1.3

## make_cop()

hash<ColumnOperatorInfo> SqlUtil::make_cop | ( | string | cop,
|  | auto | column,
|  | auto | arg
| ) |  |

returns a ColumnOperatorInfo hash

Parameters

  cop | the column operator (one of SQL Column Operators)
  column | the column name
  arg | the argument to the operator

Returns
  a ColumnOperatorInfo hash corresponding to the arguments for use in the columns argument of a select option hash

Note
  Normally this function is not called directly, but rather by the other column operator functions

## make_iop()

hash<InsertOperatorInfo> SqlUtil::make_iop | ( | string | iop,
|  | auto | arg
| ) |  |

returns an InsertOperatorInfo hash

Parameters

  iop | the value operator (one of SQL Insert Operators)
  arg | the argument to the operator

Returns
  an InsertOperatorInfo hash corresponding to the arguments for use as values in insert queries

Note
  Normally this function is not called directly, but rather by the other insert operator functions

## make_jop() [1/2]

hash<string, hash<JoinOperatorInfo> > SqlUtil::make_jop | ( | string | jop,
|  | AbstractTable | table,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *string | ta,
|  | *hash< auto > | opt
| ) |  |

returns hash keyed with the table name assigned to a JoinOperatorInfo hash

Note
  this function is normally not used directly, but rather is called by the other SQL Join Operator Functions

## make_jop() [2/2]

hash<string, hash<JoinOperatorInfo> > SqlUtil::make_jop | ( | string | jop,
|  | string | table_name,
|  | *string | alias,
|  | *hash | jcols,
|  | *hash | cond,
|  | *string | ta,
|  | *hash< auto > | opt
| ) |  |

returns a hash keyed with the table name assigned to a JoinOperatorInfo hash

This version is used for deferred table resolution at join time

Note
  this function is normally not used directly, but rather is called by the other SQL Join Operator Functions

## make_uop()

hash<UpdateOperatorInfo> SqlUtil::make_uop | ( | string | uop,
|  | auto | arg,
|  | *hash< UpdateOperatorInfo > | nest
| ) |  |

returns an UpdateOperatorInfo hash

Parameters

  uop | the update operator (one of SQL Update Operators)
  arg | the argument to the operator
  nest | any nested operation to the operator

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

Note
  Normally this function is not called directly, but rather by the other update operator functions

## op_between()

hash<OperatorInfo> SqlUtil::op_between | ( | auto | l,
|  | auto | r
| ) |  |

returns an OperatorInfo hash for the `"between"` operator with the given arguments, neither of which can be NULL or NOTHING; for use in where clauses

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_between("US", "UX"))));

Parameters

  l | the lower bound for the `"between"` operator
  r | the upper bound for the `"between"` operator

Returns
  an OperatorInfo hash for use in where clauses

Exceptions

  BETWEEN-ERROR | one or both of the required arguments are NULL or NOTHING

## op_ceq()

hash<OperatorInfo> SqlUtil::op_ceq | ( | string | arg | ) |

returns an OperatorInfo hash for the `"="` operator with the given argument for use in where clauses when comparing the values of two columns

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_ceq("other_name"))));

Parameters

  arg | the name of the column to compare against

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_eq() for a function to be used when comparing a column against an immediate value

## op_cge()

hash<OperatorInfo> SqlUtil::op_cge | ( | string | arg | ) |

returns an OperatorInfo hash for the `">="` operator with the given argument for use in where clauses when comparing the values of two columns

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_cge("other_name"))));

Parameters

  arg | the name of the column to compare against

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_ge() for a function to be used when comparing a column against an immediate value

## op_cgt()

hash<OperatorInfo> SqlUtil::op_cgt | ( | string | arg | ) |

returns an OperatorInfo hash for the `">"` operator with the given argument for use in where clauses when comparing the values of two columns

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_cgt("other_name"))));

Parameters

  arg | the name of the column to compare against

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_gt() for a function to be used when comparing a column against an immediate value

## op_cle()

hash<OperatorInfo> SqlUtil::op_cle | ( | string | arg | ) |

returns an OperatorInfo hash for the `"<="` operator with the given argument for use in where clauses when comparing the values of two columns

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_cle("other_name"))));

Parameters

  arg | the name of the column to compare against

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_le() for a function to be used when comparing a column against an immediate value

## op_clt()

hash<OperatorInfo> SqlUtil::op_clt | ( | string | arg | ) |

returns an OperatorInfo hash for the `"<"` operator with the given argument for use in where clauses when comparing the values of two columns

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_clt("other_name"))));

Parameters

  arg | the name of the column to compare against

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_lt() for a function to be used when comparing a column against an immediate value

## op_cne()

hash<OperatorInfo> SqlUtil::op_cne | ( | string | arg | ) |

returns an OperatorInfo hash for the `"!="` or `"<>"` operator with the given argument for use in where clauses when comparing the values of two columns

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_cne("other_name"))));

Parameters

  arg | the name of the column to compare against

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_ne() for a function to be used when comparing a column against an immediate value

## op_eq()

hash<OperatorInfo> SqlUtil::op_eq | ( | auto | arg | ) |

returns an OperatorInfo hash for the `"="` operator with the given argument for use in where clauses when comparing column values to immediate values

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_eq("Smith"))));

Parameters

  arg | the argument for the operator

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_ceq() for a function to be used when comparing two column values

This operator also handles Qore::NULL as SQL NULL values expanding them into `IS NULL` clause.

## op_ge()

hash<OperatorInfo> SqlUtil::op_ge | ( | auto | arg | ) |

returns an OperatorInfo hash for the `">="` operator with the given argument for use in where clauses when comparing column values to immediate values

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_ge("Apple"))));

Parameters

  arg | the argument for the operator

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_cge() for a function to be used when comparing two column values

## op_gt()

hash<OperatorInfo> SqlUtil::op_gt | ( | auto | arg | ) |

returns an OperatorInfo hash for the `">"` operator with the given argument for use in where clauses when comparing column values to immediate values

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_gt("Apple"))));

Parameters

  arg | the argument for the operator

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_cgt() for a function to be used when comparing two column values

## op_in() [1/2]

hash<OperatorInfo> SqlUtil::op_in | ( |  | ) |

returns an OperatorInfo hash for the `"in"` operator with all arguments passed to the function; for use in where clauses

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_in(200, 300, 500, 9))));

Returns
  an OperatorInfo hash for use in where clauses

Note
  The argument list size may be constrained depending on the database server / driver used; passing a large number of arguments to this function may be a sign of an improper application or query design; consider using a join with a temporary table instead of passing a large number of arguments to this function

## op_in() [2/2]

hash<OperatorInfo> SqlUtil::op_in | ( | list< auto > | args | ) |

returns an OperatorInfo hash for the `"in"` operator with the given argument list as the first argument; for use in where clauses

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_in(idlist))));

Parameters

  args | a list of values for the `"in"` operator

Returns
  an OperatorInfo hash for use in where clauses

Note
  The argument list size may be constrained depending on the database server / driver used; passing a large number of arguments to this function may be a sign of an improper application or query design; consider using a join with a temporary table instead of passing a large number of arguments to this function

## op_in_select() [1/3]

hash<OperatorInfo> SqlUtil::op_in_select | ( | AbstractTable | table,
|  | hash< auto > | select_hash
| ) |  |

returns an OperatorInfo hash for the `"in"` operator with a subquery as the argument; for use in where clauses

Example:
  *list<auto> rows = table.selectRows({"where": {"name": op_in_select(other_table, {"columns": "name", "where": where_hash})}});

Returns
  an OperatorInfo hash for use in where clauses

## op_in_select() [2/3]

hash<OperatorInfo> SqlUtil::op_in_select | ( | string | table,
|  | hash< auto > | select_hash
| ) |  |

returns an OperatorInfo hash for the `"in"` operator with a subquery as the argument; for use in where clauses

Example:
  *list<auto> rows = table.selectRows({"where": {"name": op_in_select("other_table", {"columns": "name", "where": where_hash})}});

Returns
  an OperatorInfo hash for use in where clauses

## op_in_select() [3/3]

hash<OperatorInfo> SqlUtil::op_in_select | ( | Table | table,
|  | hash< auto > | select_hash
| ) |  |

returns an OperatorInfo hash for the `"in"` operator with a subquery as the argument; for use in where clauses

Example:
  *list<auto> rows = table.selectRows({"where": {"name": op_in_select(other_table, {"columns": "name", "where": where_hash})}});

Returns
  an OperatorInfo hash for use in where clauses

## op_le()

hash<OperatorInfo> SqlUtil::op_le | ( | auto | arg | ) |

returns an OperatorInfo hash for the `"<="` operator with the given argument for use in where clauses when comparing column values to immediate values

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_le("Zebra"))));

Parameters

  arg | the argument for the operator

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_cle() for a function to be used when comparing two column values

## op_like()

hash<OperatorInfo> SqlUtil::op_like | ( | string | str | ) |

returns an OperatorInfo hash for the `"like"` operator with the given argument for use in where clauses

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_like("%smith%"))));

Parameters

  str | the argument for the operator

Returns
  an OperatorInfo hash for use in where clauses

## op_lt()

hash<OperatorInfo> SqlUtil::op_lt | ( | auto | arg | ) |

returns an OperatorInfo hash for the `"<"` operator with the given argument for use in where clauses when comparing column values to immediate values

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_lt("Zebra"))));

Parameters

  arg | the argument for the operator

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_clt() for a function to be used when comparing two column values

## op_ne()

hash<OperatorInfo> SqlUtil::op_ne | ( | auto | arg | ) |

returns an OperatorInfo hash for the `"!="` or `"<>"` operator with the given argument for use in where clauses when comparing column values to immediate values

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_ne("Smith"))));

Parameters

  arg | the argument for the operator

Returns
  an OperatorInfo hash for use in where clauses

See also
  op_cne() for a function to be used when comparing two column values

This operator also handles Qore::NULL as SQL NULL values expanding them into `IS NOT NULL` clause.

## op_not()

hash<OperatorInfo> SqlUtil::op_not | ( | hash | arg | ) |

returns an OperatorInfo hash for the `"not"` operator; for use in where clauses

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_not(op_in(200, 300, 500, 9))))_;

Returns
  an OperatorInfo hash for use in where clauses

## op_substr() [1/2]

hash<OperatorInfo> SqlUtil::op_substr | ( | int | start,
|  | *int | count,
|  | string | text
| ) |  |

returns an OperatorInfo hash for the `"substr"` operator with the given arguments; for use in where clauses

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_substr(1, 6, "Martin"))));

Parameters

  start | position where the substring starts
  count | length of the substring in characters
  text | what substring should match

Returns
  an OperatorInfo hash for use in where clauses

## op_substr() [2/2]

hash<OperatorInfo> SqlUtil::op_substr | ( | int | start,
|  | string | text
| ) |  |

returns an OperatorInfo hash for the `"substr"` operator with the given arguments; for use in where clauses

Example:
  *list<auto> rows = table.selectRows(("where": ("hex": op_substr(5, "BEEF"))));

Parameters

  start | position where the substring starts
  text | what substring should match

Returns
  an OperatorInfo hash for use in where clauses

## uop_append()

hash<UpdateOperatorInfo> SqlUtil::uop_append | ( | string | arg,
|  | *hash< UpdateOperatorInfo > | nest
| ) |  |

returns an UpdateOperatorInfo hash for the `"append"` or concatenate operator with the given argument

Example:
  int rows_updated = t.update(("permission_type": uop_append("-migrated", uop_lower())));

Parameters

  arg | the text to prepend to the row values in the output column
  nest | any nested operation to the operator

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

## uop_divide()

hash<UpdateOperatorInfo> SqlUtil::uop_divide | ( | auto | arg,
|  | *hash< UpdateOperatorInfo > | nest
| ) |  |

returns an UpdateOperatorInfo hash for the `"/"` operator with the given arguments

Example:
  int rows_updated = t.update(("counter": uop_divide(2)));

Parameters

  arg | numeric value to divide the column by
  nest | any nested operation to the operator

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

## uop_lower()

hash<UpdateOperatorInfo> SqlUtil::uop_lower | ( | *hash< UpdateOperatorInfo > | nest | ) |

returns an UpdateOperatorInfo hash for the `"lower"` operator with the given argument; returns a column value in lower case

Example:
  int rows_updated = t.update(("permission_type": uop_lower()));

Parameters

  nest | any nested operation to the operator

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

## uop_minus()

hash<UpdateOperatorInfo> SqlUtil::uop_minus | ( | auto | arg,
|  | *hash< UpdateOperatorInfo > | nest
| ) |  |

returns an UpdateOperatorInfo hash for the `"-"` operator with the given arguments

Example:
  int rows_updated = t.update(("counter": uop_minus(1)));

Parameters

  arg | numeric value to subtract from the column
  nest | any nested operation to the operator

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

## uop_multiply()

hash<UpdateOperatorInfo> SqlUtil::uop_multiply | ( | auto | arg,
|  | *hash< UpdateOperatorInfo > | nest
| ) |  |

returns an UpdateOperatorInfo hash for the `"*"` operator with the given arguments

Example:
  int rows_updated = t.update(("counter": uop_multiply(2)));

Parameters

  arg | numeric value to multiply the column by
  nest | any nested operation to the operator

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

## uop_plus()

hash<UpdateOperatorInfo> SqlUtil::uop_plus | ( | auto | arg,
|  | *hash< UpdateOperatorInfo > | nest
| ) |  |

returns an UpdateOperatorInfo hash for the `"+"` operator with the given arguments

Example:
  int rows_updated = t.update(("counter": uop_plus(1)));

Parameters

  arg | numeric value to add to the column
  nest | any nested operation to the operator

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

## uop_prepend()

hash<UpdateOperatorInfo> SqlUtil::uop_prepend | ( | string | arg,
|  | *hash< UpdateOperatorInfo > | nest
| ) |  |

returns an UpdateOperatorInfo hash for the `"prepend"` operator with the given argument

Example:
  int rows_updated = t.update(("permission_type": uop_prepend("migrated-", uop_lower())));

Parameters

  arg | the text to prepend to the row values in the output column
  nest | any nested operation to the operator

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

## uop_seq()

hash<UpdateOperatorInfo> SqlUtil::uop_seq | ( | string | seq | ) |

returns an UpdateOperatorInfo hash for the `"seq"` operator with the given argument giving the sequence name whose value should be returned

Example:
  *list<auto> rows = t.update(("id": uop_seq("xid")), ("type": "user"));

Parameters

  seq | the name of the sequence whose value should be returned

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

## uop_seq_currval()

hash<UpdateOperatorInfo> SqlUtil::uop_seq_currval | ( | string | seq | ) |

returns an UpdateOperatorInfo hash for the `"seq"` operator with the given argument giving the sequence name whose current value should be returned

Example:
  *list<auto> rows = t.update(("id": uop_seq("xid")), ("type": "user"));

Parameters

  seq | the name of the sequence whose current value should be returned

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

## uop_substr()

hash<UpdateOperatorInfo> SqlUtil::uop_substr | ( | int | start,
|  | *int | count,
|  | *hash< UpdateOperatorInfo > | nest
| ) |  |

returns an UpdateOperatorInfo hash for the `"substr"` operator with the given arguments; returns a substring of a column value

Example:
  int rows_updated = t.update(("first_name": uop_substr(1, 1)));

Parameters

  start | position where the substring starts
  count | length of the substring in characters
  nest | any nested operation to the operator

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

## uop_upper()

hash<UpdateOperatorInfo> SqlUtil::uop_upper | ( | *hash< UpdateOperatorInfo > | nest | ) |

returns an UpdateOperatorInfo hash for the `"upper"` operator with the given argument; returns a column value in upper case

Example:
  int rows_updated = t.update(("permission_type": uop_upper()));

Parameters

  nest | any nested operation to the operator

Returns
  an UpdateOperatorInfo hash corresponding to the arguments for use in update statements

## wop_or()

hash<string, hash<OperatorInfo> > SqlUtil::wop_or | ( | hash | h1,
|  | hash | h2
| ) |  |

returns an OperatorInfo hash with a fake `"_OR_"` column name; the list of arguments to the function is combined such that each hash in the list generates SQL expressions combined with "and" logic, and each of those clauses is combined with "or" logic; this is for use in where clauses

Example:
  *list<auto> rows = table.selectRows(("where": ("name": op_ceq("other_name")) + wop_or(("type": "C", "validation_flag": op_ne(NULL)), ("expiration_date": op_ge(date)))));
  Generates:

      select * from schema.table where name = other_name and ((type = %v and validation flag is not null) or (expiration_date >= %v))

Parameters

  h1 | the first hash of expressions to combine with `"or"` logic
  h2 | the second hash of expressions to combine with `"or"` logic
  ... | remaining expressions to combine with `"or"` logic

Returns
  a hash with an OperatorInfo hash value keyed by a fake column name (`"_OR_"` with a numeric prefix for uniqueness) for use in a where operation description hash for use in where clauses

Note
  a random prefix is used so that multiple uses of the function can be used to generate a single where clause hash

## Variable Documentation

## COP_APPEND

const SqlUtil::COP_APPEND = "append"

to append a string to a column on output

See also
  cop_append()

## COP_AS

const SqlUtil::COP_AS = "as"

to rename a column on output

See also
  cop_as()

## COP_AVG

const SqlUtil::COP_AVG = "avg"

to return the average value

See also
  cop_avg

## COP_CAST

const SqlUtil::COP_CAST = "cast"

to convert column value into another datatype

See also
  cop_cast()

## COP_COALESCE

const SqlUtil::COP_COALESCE = "coalesce"

to return the first non-null argument in the list

See also
  cop_coalesce()

## COP_COUNT

const SqlUtil::COP_COUNT = "count"

to return the row count

See also
  cop_count

## COP_CUME_DIST

const SqlUtil::COP_CUME_DIST = "cume_dist"

Analytic (window) function: CUME_DIST.

See also
  cop_cume_dist()

Since
  SqlUtil 1.4.0

## COP_DENSE_RANK

const SqlUtil::COP_DENSE_RANK = "dense_rank"

Analytic (window) function: DENSE_RANK.

See also
  cop_dense_rank()

Since
  SqlUtil 1.4.0

## COP_DISTINCT

const SqlUtil::COP_DISTINCT = "distinct"

to return distinct values

See also
  cop_distinct

## COP_DIVIDE

const SqlUtil::COP_DIVIDE = "divide"

the SQL `"divide"` operator

See also
  cop_divide()

## COP_FIRST_VALUE

const SqlUtil::COP_FIRST_VALUE = "first_value"

Analytic (window) function: FIRST_VALUE.

See also
  cop_first_value()

Since
  SqlUtil 1.4.0

## COP_LAST_VALUE

const SqlUtil::COP_LAST_VALUE = "last_value"

Analytic (window) function: LAST_VALUE.

See also
  cop_last_value()

Since
  SqlUtil 1.4.0

## COP_LENGTH

const SqlUtil::COP_LENGTH = "length"

to get the length of a text field

See also
  cop_length()

Since
  SqlUtil 1.3.1

## COP_LOWER

const SqlUtil::COP_LOWER = "lower"

to return column value in lower case

See also
  cop_lower()

## COP_MAX

const SqlUtil::COP_MAX = "max"

to return the maximum value

See also
  cop_max

## COP_MIN

const SqlUtil::COP_MIN = "min"

to return the minimum value

See also
  cop_min

## COP_MINUS

const SqlUtil::COP_MINUS = "minus"

the SQL `"minus"` operator

See also
  cop_minus()

## COP_MULTIPLY

const SqlUtil::COP_MULTIPLY = "multiply"

the SQL `"multiply"` operator

See also
  cop_multiply()

## COP_NTILE

const SqlUtil::COP_NTILE = "ntile"

Analytic (window) function: NTILE.

See also
  cop_ntile()

Since
  SqlUtil 1.4.0

## COP_OVER

const SqlUtil::COP_OVER = "over"

the SQL `"over"` clause

See also
  cop_over()

## COP_PERCENT_RANK

const SqlUtil::COP_PERCENT_RANK = "percent_rank"

Analytic (window) function: PERCENT_RANK.

See also
  cop_percent_rank()

Since
  SqlUtil 1.4.0

## COP_PLUS

const SqlUtil::COP_PLUS = "plus"

the SQL `"plus"` operator

See also
  cop_plus()

## COP_PREPEND

const SqlUtil::COP_PREPEND = "prepend"

to prepend a string to a column on output

See also
  cop_prepend()

## COP_RANK

const SqlUtil::COP_RANK = "rank"

Analytic (window) function: RANK.

See also
  cop_rank()

Since
  SqlUtil 1.4.0

## COP_ROW_NUMBER

const SqlUtil::COP_ROW_NUMBER = "row_number"

Analytic (window) function: ROW_NUMBER.

See also
  cop_row_number()

Since
  SqlUtil 1.4.0

## COP_SEQ

const SqlUtil::COP_SEQ = "seq"

to return the next value of a sequence

See also
  cop_seq()

## COP_SEQ_CURRVAL

const SqlUtil::COP_SEQ_CURRVAL = "seq_currval"

to return the last value of a sequence issued in the same session

See also
  cop_seq_currval()

## COP_SUBSTR

const SqlUtil::COP_SUBSTR = "substr"

to extract a substring from a column

See also
  cop_substr()

## COP_SUM

const SqlUtil::COP_SUM = "sum"

to return the sum value

See also
  cop_sum

## COP_TRUNC_DATE

const SqlUtil::COP_TRUNC_DATE = "truncate_date"

to return the date with truncated value

See also
  cop_trunc_date()

See also cop_trunc_date formats

Since
  SqlUtil 1.4.0

## COP_UPPER

const SqlUtil::COP_UPPER = "upper"

to return column value in upper case

See also
  cop_upper()

## COP_VALUE

const SqlUtil::COP_VALUE = "value"

to append a constant value (SQL Literal) to use as an output column value

See also
  cop_value()

## COP_YEAR

const SqlUtil::COP_YEAR = "year"

to return a date value with year information only

See also
  cop_year()

## COP_YEAR_DAY

const SqlUtil::COP_YEAR_DAY = "year_day"

to return a date value with year to day information

See also
  cop_year_day()

## COP_YEAR_HOUR

const SqlUtil::COP_YEAR_HOUR = "year_hour"

to return a date value with year to hextern information

See also
  cop_year_hour()

## COP_YEAR_MONTH

const SqlUtil::COP_YEAR_MONTH = "year_month"

to return a date value with year to month information

See also
  cop_year_month()

## DB_FUNCTIONS

const SqlUtil::DB_FUNCTIONS = "functions"

Features constants.

Feature: functions

## IOP_SEQ

const SqlUtil::IOP_SEQ = "seq"

for using the value of a sequence

See also
  iop_seq()

## IOP_SEQ_CURRVAL

const SqlUtil::IOP_SEQ_CURRVAL = "seq_currval"

for using the last value of a sequence issued in the current session

See also
  iop_seq_currval()

## JOP_INNER

const SqlUtil::JOP_INNER = "inner"

for standard inner joins

See also
  join_inner()

## JOP_LEFT

const SqlUtil::JOP_LEFT = "left"

for left outer joins

See also
  join_left()

## JOP_RIGHT

const SqlUtil::JOP_RIGHT = "right"

for right outer joins

See also
  join_right()

## OP_BETWEEN

const SqlUtil::OP_BETWEEN = "between"

the SQL `"between"` operator for use in Where Clauses

See also
  op_between()

## OP_CEQ

const SqlUtil::OP_CEQ = "C="

the SQL equals operator (=) for use in Where Clauses

See also
  op_ceq()

## OP_CGE

const SqlUtil::OP_CGE = "C>="

the SQL greater than or equals operator (>=) for use in Where Clauses

See also
  op_cge()

## OP_CGT

const SqlUtil::OP_CGT = "C>"

the SQL greater than operator (>) for use in Where Clauses

See also
  op_cgt()

## OP_CLE

const SqlUtil::OP_CLE = "C<="

the SQL less than or equals (<=) operator for use in Where Clauses

See also
  op_cle()

## OP_CLT

const SqlUtil::OP_CLT = "C<"

the SQL less than (<) operator for use in Where Clauses when comparing two columns

See also
  op_clt()

## OP_CNE

const SqlUtil::OP_CNE = "C!="

the SQL not equals operator (!= or <>) for use in Where Clauses

See also
  op_cne()

## OP_EQ

const SqlUtil::OP_EQ = "="

the SQL equals operator (=) for use in Where Clauses

See also
  op_eq()

## OP_GE

const SqlUtil::OP_GE = ">="

the SQL greater than or equals operator (>=) for use in Where Clauses

See also
  op_ge()

## OP_GT

const SqlUtil::OP_GT = ">"

the SQL greater than operator (>) for use in Where Clauses

See also
  op_gt()

## OP_IN

const SqlUtil::OP_IN = "in"

the SQL `"in"` operator for use in Where Clauses

See also
  op_in()

## OP_IN_SELECT

const SqlUtil::OP_IN_SELECT = "in_select"

the SQL `"in"` operator with a select query for use in Where Clauses

See also
  op_in_select()

## OP_LE

const SqlUtil::OP_LE = "<="

the SQL less than or equals (<=) operator for use in Where Clauses

See also
  op_le()

## OP_LIKE

const SqlUtil::OP_LIKE = "like"

the SQL "like" operator for use in Where Clauses

See also
  op_like()

## OP_LT

const SqlUtil::OP_LT = "<"

the SQL less than (<) operator for use in Where Clauses

See also
  op_lt()

## OP_NE

const SqlUtil::OP_NE = "!="

the SQL not equals operator (!= or <>) for use in Where Clauses

See also
  op_ne()

## OP_NOT

const SqlUtil::OP_NOT = "not"

the SQL `"not"` operator for use in Where Clauses

See also
  op_not()

## OP_OR

const SqlUtil::OP_OR = "or"

to combine SQL expressions with `"or"` for use in Where Clauses

See also
  wop_or()

## OP_SUBSTR

const SqlUtil::OP_SUBSTR = "substr"

the SQL `"substr"` operator for use in Where Clauses

See also
  op_substr()