api-docs / org.ktorm.expression / SqlExpression
SqlExpression
abstract class SqlExpression
(source code)Root class of SQL expressions or statements.
SQL expressions are tree structures, and can be regarded as SQL abstract syntax trees (AST).
Subclasses must satisfy the following rules:
- Must be data class, providing common abilities such as destruction,
copy
function,equals
function, etc. - Must be immutable, any modify operation should return a new expression instance.
To visit or modify expression trees, use SqlExpressionVisitor.
To format expressions as executable SQL strings, use SqlFormatter.
See Also
Constructors
Name | Summary |
---|---|
SqlExpression() Root class of SQL expressions or statements. |
Properties
Name | Summary |
---|---|
Extra properties of this expression, maybe useful in SqlFormatter to generate some special SQLs. | |
abstract val isLeafNode: Boolean Check if this expression is a leaf node in expression trees. |
Extension Properties
Name | Summary |
---|---|
val SqlExpression.removeBrackets: Boolean |
Extension Functions
Name | Summary |
---|---|
infix fun <T : Any> T.eq( Equal operator, translated to | |
infix fun <T : Any> T.neq( Not-equal operator, translated to | |
infix fun <T : Any> T.notEq( Not-equal operator, translated to |
Inheritors
Name | Summary |
---|---|
data class BulkInsertExpression : SqlExpression Bulk insert expression, represents a bulk insert statement in MySQL. | |
data class BulkInsertExpression : SqlExpression Bulk insert expression, represents a bulk insert statement in PostgreSQL. | |
data class BulkInsertExpression : SqlExpression Bulk insert expression, represents a bulk insert statement in SQLite. | |
data class ColumnAssignmentExpression<T : Any> : Column assignment expression, represents a column assignment for insert or update statements. | |
data class DeleteExpression : SqlExpression Delete expression, represents the | |
data class InsertExpression : SqlExpression Insert expression, represents the | |
data class InsertFromQueryExpression : SqlExpression Insert-from-query expression, eg. | |
data class InsertOrUpdateExpression : SqlExpression Insert or update expression, represents an insert statement with an | |
data class InsertOrUpdateExpression : SqlExpression Insert or update expression, represents an insert statement with an | |
data class InsertOrUpdateExpression : SqlExpression Insert or update expression, represents an insert statement with an | |
data class OrderByExpression : SqlExpression Order-by expression. | |
abstract class QuerySourceExpression : SqlExpression Query source expression, used in the | |
abstract class ScalarExpression<T : Any> : Base class of scalar expressions. An expression is “scalar” if it has a return value (eg. | |
data class UpdateExpression : SqlExpression Update expression, represents the | |
data class WindowFrameBoundExpression : SqlExpression Window frame bound expression. | |
data class WindowSpecificationExpression : SqlExpression Window specification expression. |