SqlBuilder

class SqlBuilder : ObjectWrap {}

Constructors

this
this(void* ptr, Flag!"Take" take)
this
this(gda.types.SqlStatementType stmtType)

Create a new #GdaSqlBuilder object to build #GdaStatement or #GdaSqlStatement objects of type stmt_type

Members

Functions

addCase
gda.types.SqlBuilderId addCase(gda.types.SqlBuilderId testExpr, gda.types.SqlBuilderId elseExpr, gda.types.SqlBuilderId[] whenArray, gda.types.SqlBuilderId[] thenArray)

Creates a new CASE ... WHEN ... THEN ... ELSE ... END expression. The WHEN expression and the THEN expression IDs are taken from the when_array and then_array at the same index, for each index inferior to args_size.

addCond
gda.types.SqlBuilderId addCond(gda.types.SqlOperatorType op, gda.types.SqlBuilderId op1, gda.types.SqlBuilderId op2, gda.types.SqlBuilderId op3)

Builds a new expression which represents a condition (or operation).

addCondV
gda.types.SqlBuilderId addCondV(gda.types.SqlOperatorType op, gda.types.SqlBuilderId[] opIds)

Builds a new expression which represents a condition (or operation).

addExprValue
gda.types.SqlBuilderId addExprValue(gda.data_handler.DataHandler dh, gobject.value.Value value)

Defines an expression in builder which may be reused to build other parts of a statement.

addFieldId
gda.types.SqlBuilderId addFieldId(string fieldName, string tableName)

Defines an expression representing a field in builder, which may be reused to build other parts of a statement, for instance as a parameter to gda.sql_builder.SqlBuilder.addCond or gda.sql_builder.SqlBuilder.addFieldValueId.

addFieldValueAsGvalue
void addFieldValueAsGvalue(string fieldName, gobject.value.Value value)

Valid only for: INSERT, UPDATE statements.

addFieldValueId
void addFieldValueId(gda.types.SqlBuilderId fieldId, gda.types.SqlBuilderId valueId)

Valid only for: INSERT, UPDATE, SELECT statements <itemizedlist> <listitem><para>For UPDATE: specifies that the field represented by field_id will be set to the value identified by value_id.</para></listitem> <listitem><para>For SELECT: add a selected item to the statement, and if value_id is not 0, then use it as an alias</para></listitem> <listitem><para>For INSERT: if field_id represents an SQL identifier (obtained using gda.sql_builder.SqlBuilder.addId): then if value_id is not 0 then specifies that the field represented by field_id will be set to the value identified by value_id, otherwise just specifies a named field to be given a value. If field_id represents a sub SELECT (obtained using gda.sql_builder.SqlBuilder.addSubSelect), then this method call defines the sub SELECT from which values to insert are taken.</para></listitem> </itemizedlist>

addFunction
gda.types.SqlBuilderId addFunction(string funcName, gda.types.SqlBuilderId[] args)

Builds a new expression which represents a function applied to some arguments

addId
gda.types.SqlBuilderId addId(string str)

Defines an expression representing an identifier in builder, which may be reused to build other parts of a statement, for instance as a parameter to gda.sql_builder.SqlBuilder.addCond or gda.sql_builder.SqlBuilder.addFieldValueId.

addParam
gda.types.SqlBuilderId addParam(string paramName, gobject.types.GType type, bool nullok)

Defines a parameter in builder which may be reused to build other parts of a statement.

compoundAddSubSelectFromBuilder
void compoundAddSubSelectFromBuilder(gda.sql_builder.SqlBuilder subselect)

Add a sub select to a COMPOUND statement

compoundSetType
void compoundSetType(gda.types.SqlStatementCompoundType compoundType)

Changes the type of compound which builder is making, for a COMPOUND statement

getStatement
gda.statement.Statement getStatement()

Creates a new #GdaStatement statement from builder's contents.

importExpressionFromBuilder
gda.types.SqlBuilderId importExpressionFromBuilder(gda.sql_builder.SqlBuilder query, gda.types.SqlBuilderId exprId)

Imports the an expression located in query into builder.

joinAddField
void joinAddField(gda.types.SqlBuilderId joinId, string fieldName)

Alter a join in a SELECT statement to make its condition use equal field values in the fields named field_name in both tables, via the USING keyword.

selectAddField
gda.types.SqlBuilderId selectAddField(string fieldName, string tableName, string alias_)

Valid only for: SELECT statements.

selectAddTarget
gda.types.SqlBuilderId selectAddTarget(string tableName, string alias_)

Adds a new target to a SELECT statement

selectAddTargetId
gda.types.SqlBuilderId selectAddTargetId(gda.types.SqlBuilderId tableId, string alias_)

Adds a new target to a SELECT statement. If there already exists a target representing the same table and the same alias (or with the same absence of alias) then the same target ID is returned instead of the ID of a new target.

selectGroupBy
void selectGroupBy(gda.types.SqlBuilderId exprId)

Valid only for: SELECT statements

selectOrderBy
void selectOrderBy(gda.types.SqlBuilderId exprId, bool asc, string collationName)

Adds a new ORDER BY expression to a SELECT statement.

selectSetDistinct
void selectSetDistinct(bool distinct, gda.types.SqlBuilderId exprId)

Defines (if distinct is true) or removes (if distinct is false) a DISTINCT clause for a SELECT statement.

selectSetHaving
void selectSetHaving(gda.types.SqlBuilderId condId)

Valid only for: SELECT statements

selectSetLimit
void selectSetLimit(gda.types.SqlBuilderId limitCountExprId, gda.types.SqlBuilderId limitOffsetExprId)

If limit_count_expr_id is not 0, defines the maximum number of rows in the #GdaDataModel resulting from the execution of the built statement. In this case, the offset from which the rows must be collected can be defined by the limit_offset_expr_id expression if not 0 (note that this feature may not be supported by all the database providers).

self
SqlBuilder self()

Returns this, for use in with statements.

setTable
void setTable(string tableName)

Valid only for: INSERT, UPDATE, DELETE statements

setWhere
void setWhere(gda.types.SqlBuilderId condId)

Valid only for: UPDATE, DELETE, SELECT statements

Properties

_gType
GType _gType [@property getter]

Static functions

_getGType
GType _getGType()
errorQuark
glib.types.Quark errorQuark()

Inherited Members

From ObjectWrap

_setGObject
void _setGObject(void* cObj, Flag!"Take" take)

Set the GObject of a D ObjectWrap wrapper.

_cPtr
void* _cPtr(Flag!"Dup" dup)

Get a pointer to the underlying C object.

_ref
void* _ref(void* gObj)

Calls g_object_ref() on a GObject.

_unref
_unref(void* gObj)

Calls g_object_unref() on a GObject.

_getGType
GType _getGType()

Get the GType of an object.

_gType
GType _gType [@property getter]

GObject GType property.

self
ObjectWrap self()

Convenience method to return this cast to a type. For use in D with statements.

_getDObject
T _getDObject(void* cptr, Flag!"Take" take)

Template to get the D object from a C GObject and cast it to the given D object type.

connectSignalClosure
ulong connectSignalClosure(string signalDetail, DClosure closure, Flag!"After" after)

Connect a D closure to an object signal.

setProperty
void setProperty(string propertyName, T val)

Template for setting a GObject property.

getProperty
T getProperty(string propertyName)

Template for getting a GObject property.

compatControl
size_t compatControl(size_t what, void* data)
bindProperty
gobject.binding.Binding bindProperty(string sourceProperty, gobject.object.ObjectWrap target, string targetProperty, gobject.types.BindingFlags flags)

Creates a binding between source_property on source and target_property on target.

bindPropertyFull
gobject.binding.Binding bindPropertyFull(string sourceProperty, gobject.object.ObjectWrap target, string targetProperty, gobject.types.BindingFlags flags, gobject.closure.Closure transformTo, gobject.closure.Closure transformFrom)

Creates a binding between source_property on source and target_property on target, allowing you to set the transformation functions to be used by the binding.

forceFloating
void forceFloating()

This function is intended for #GObject implementations to re-enforce a floating[floating-ref] object reference. Doing this is seldom required: all #GInitiallyUnowneds are created with a floating reference which usually just needs to be sunken by calling gobject.object.ObjectWrap.refSink.

freezeNotify
void freezeNotify()

Increases the freeze count on object. If the freeze count is non-zero, the emission of "notify" signals on object is stopped. The signals are queued until the freeze count is decreased to zero. Duplicate notifications are squashed so that at most one #GObject::notify signal is emitted for each property modified while the object is frozen.

getData
void* getData(string key)

Gets a named field from the objects table of associations (see gobject.object.ObjectWrap.setData).

getProperty
void getProperty(string propertyName, gobject.value.Value value)

Gets a property of an object.

getQdata
void* getQdata(glib.types.Quark quark)

This function gets back user data pointers stored via gobject.object.ObjectWrap.setQdata.

getv
void getv(string[] names, gobject.value.Value[] values)

Gets n_properties properties for an object. Obtained properties will be set to values. All properties must be valid. Warnings will be emitted and undefined behaviour may result if invalid properties are passed in.

isFloating
bool isFloating()

Checks whether object has a floating[floating-ref] reference.

notify
void notify(string propertyName)

Emits a "notify" signal for the property property_name on object.

notifyByPspec
void notifyByPspec(gobject.param_spec.ParamSpec pspec)

Emits a "notify" signal for the property specified by pspec on object.

refSink
gobject.object.ObjectWrap refSink()

Increase the reference count of object, and possibly remove the floating[floating-ref] reference, if object has a floating reference.

runDispose
void runDispose()

Releases all references to other objects. This can be used to break reference cycles.

setData
void setData(string key, void* data)

Each object carries around a table of associations from strings to pointers. This function lets you set an association.

setProperty
void setProperty(string propertyName, gobject.value.Value value)

Sets a property on an object.

stealData
void* stealData(string key)

Remove a specified datum from the object's data associations, without invoking the association's destroy handler.

stealQdata
void* stealQdata(glib.types.Quark quark)

This function gets back user data pointers stored via gobject.object.ObjectWrap.setQdata and removes the data from object without invoking its destroy() function (if any was set). Usually, calling this function is only required to update user data pointers with a destroy notifier, for example:

thawNotify
void thawNotify()

Reverts the effect of a previous call to gobject.object.ObjectWrap.freezeNotify. The freeze count is decreased on object and when it reaches zero, queued "notify" signals are emitted.

watchClosure
void watchClosure(gobject.closure.Closure closure)

This function essentially limits the life time of the closure to the life time of the object. That is, when the object is finalized, the closure is invalidated by calling gobject.closure.Closure.invalidate on it, in order to prevent invocations of the closure with a finalized (nonexisting) object. Also, gobject.object.ObjectWrap.ref_ and gobject.object.ObjectWrap.unref are added as marshal guards to the closure, to ensure that an extra reference count is held on object during invocation of the closure. Usually, this function will be called on closures that use this object as closure data.

connectNotify
ulong connectNotify(string detail, T callback, Flag!"After" after)

Connect to Notify signal.