[libgda] Tracking API changes by adding Gda-5.0.gir and libgda-5.0.vapi files
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] Tracking API changes by adding Gda-5.0.gir and libgda-5.0.vapi files
- Date: Wed, 28 Dec 2011 17:33:04 +0000 (UTC)
commit a8f0f2b4b7e5875ba9ecc87fec9709713123e53a
Author: Daniel Espinosa <despinosa src gnome org>
Date: Wed Dec 28 10:08:39 2011 -0600
Tracking API changes by adding Gda-5.0.gir and libgda-5.0.vapi files
libgda/Gda-5.0.gir |24928 ++++++++++++++++++++++++++++++++++++++++++++++++
libgda/Makefile.am | 4 +-
libgda/libgda-5.0.vapi | 2142 +++++
3 files changed, 27071 insertions(+), 3 deletions(-)
---
diff --git a/libgda/Gda-5.0.gir b/libgda/Gda-5.0.gir
new file mode 100644
index 0000000..76a78cc
--- /dev/null
+++ b/libgda/Gda-5.0.gir
@@ -0,0 +1,24928 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="libxml2" version="2.0"/>
+ <c:include name="libgda/libgda.h"/>
+ <namespace name="Gda"
+ version="5.0"
+ shared-library="libgda-5.0.so.4"
+ c:identifier-prefixes="Gda"
+ c:symbol-prefixes="gda">
+ <alias name="SqlBuilderId" c:type="GdaSqlBuilderId">
+ <type name="guint" c:type="guint"/>
+ </alias>
+ <alias name="SqlErrorType" c:type="GdaSqlErrorType">
+ <type name="SqlError" c:type="GdaSqlError"/>
+ </alias>
+ <constant name="ATTRIBUTE_AUTO_INCREMENT"
+ value="__gda_attr_autoinc"
+ c:type="GDA_ATTRIBUTE_AUTO_INCREMENT">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ATTRIBUTE_DESCRIPTION"
+ value="__gda_attr_descr"
+ c:type="GDA_ATTRIBUTE_DESCRIPTION">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ATTRIBUTE_IS_DEFAULT"
+ value="__gda_attr_is_default"
+ c:type="GDA_ATTRIBUTE_IS_DEFAULT">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ATTRIBUTE_NAME"
+ value="__gda_attr_name"
+ c:type="GDA_ATTRIBUTE_NAME">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ATTRIBUTE_NUMERIC_PRECISION"
+ value="__gda_attr_numeric_precision"
+ c:type="GDA_ATTRIBUTE_NUMERIC_PRECISION">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ATTRIBUTE_NUMERIC_SCALE"
+ value="__gda_attr_numeric_scale"
+ c:type="GDA_ATTRIBUTE_NUMERIC_SCALE">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ATTRIBUTE_TREE_NODE_UNKNOWN_CHILDREN"
+ value="__gda_attr_tnuchild"
+ c:type="GDA_ATTRIBUTE_TREE_NODE_UNKNOWN_CHILDREN">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <record name="AttributesManager"
+ c:type="GdaAttributesManager"
+ disguised="1">
+ <method name="clear" c:identifier="gda_attributes_manager_clear">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="ptr" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gda_attributes_manager_copy">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="from" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="to_mgr" transfer-ownership="none">
+ <type name="AttributesManager" c:type="GdaAttributesManager*"/>
+ </parameter>
+ <parameter name="to" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="foreach"
+ c:identifier="gda_attributes_manager_foreach"
+ introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="ptr" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" closure="2">
+ <type name="AttributesManagerFunc"
+ c:type="GdaAttributesManagerFunc"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gda_attributes_manager_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get" c:identifier="gda_attributes_manager_get">
+ <return-value transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="ptr" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="att_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set" c:identifier="gda_attributes_manager_set">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="ptr" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="att_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_full" c:identifier="gda_attributes_manager_set_full">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="ptr" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="att_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" scope="async">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gda_attributes_manager_new"
+ introspectable="0">
+ <return-value>
+ <type name="AttributesManager" c:type="GdaAttributesManager*"/>
+ </return-value>
+ <parameters>
+ <parameter name="for_objects" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="signal_func" transfer-ownership="none" closure="2">
+ <type name="AttributesManagerSignal"
+ c:type="GdaAttributesManagerSignal"/>
+ </parameter>
+ <parameter name="signal_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <callback name="AttributesManagerFunc" c:type="GdaAttributesManagerFunc">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="att_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="AttributesManagerSignal"
+ c:type="GdaAttributesManagerSignal">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="att_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="Batch"
+ c:symbol-prefix="batch"
+ c:type="GdaBatch"
+ parent="GObject.Object"
+ glib:type-name="GdaBatch"
+ glib:get-type="gda_batch_get_type"
+ glib:type-struct="BatchClass">
+ <constructor name="new" c:identifier="gda_batch_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaBatch object</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new object</doc>
+ <type name="Batch" c:type="GdaBatch*"/>
+ </return-value>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_batch_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <virtual-method name="changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="changed_stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_statement" c:identifier="gda_batch_add_statement">
+ <doc xml:whitespace="preserve">Add @stmt to the list of statements managed by @batch. A #GdaStatement object can be
+added multiple times to a #GdaBatch object.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a statement to add to @batch's statements list</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gda_batch_copy">
+ <doc xml:whitespace="preserve">Copy constructor</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a the new copy of @orig</doc>
+ <type name="Batch" c:type="GdaBatch*"/>
+ </return-value>
+ </method>
+ <method name="get_parameters"
+ c:identifier="gda_batch_get_parameters"
+ throws="1">
+ <doc xml:whitespace="preserve">Get a new #GdaSet object which groups all the execution parameters
+which @batch needs for all the statements it includes.
+This new object is returned though @out_params.
+
+Note that if @batch does not need any parameter, then @out_params is set to %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="out_params"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a place to store a new #GdaSet object, or %NULL</doc>
+ <type name="Set" c:type="GdaSet**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_statements" c:identifier="gda_batch_get_statements">
+ <doc xml:whitespace="preserve">Get a list of the #GdaStatement objects contained in @batch</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of #GdaStatement which should not be modified.</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="Statement"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="remove_statement"
+ c:identifier="gda_batch_remove_statement">
+ <doc xml:whitespace="preserve">Removes @stmt from the list of statements managed by @batch. If @stmt is present several
+times in @batch's statements' list, then only the first one is removed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a statement to remove from @batch's statements list</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="serialize" c:identifier="gda_batch_serialize">
+ <doc xml:whitespace="preserve">Creates a string representing the contents of @batch.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a string containing the serialized version of @batch</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="BatchPrivate" c:type="GdaBatchPrivate*"/>
+ </field>
+ <glib:signal name="changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever a #GdaStatement in the @batch object changes</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="changed_stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the statement which has been changed</doc>
+ <type name="GObject.Object"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="BatchClass"
+ c:type="GdaBatchClass"
+ glib:is-gtype-struct-for="Batch">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="changed">
+ <callback name="changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="batch" transfer-ownership="none">
+ <type name="Batch" c:type="GdaBatch*"/>
+ </parameter>
+ <parameter name="changed_stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="BatchError" c:type="GdaBatchError">
+ <member name="batch_conflicting_parameter_error"
+ value="0"
+ c:identifier="GDA_BATCH_CONFLICTING_PARAMETER_ERROR"/>
+ </enumeration>
+ <record name="BatchPrivate" c:type="GdaBatchPrivate" disguised="1">
+ </record>
+ <record name="Binary"
+ c:type="GdaBinary"
+ glib:type-name="GdaBinary"
+ glib:get-type="gda_binary_get_type"
+ c:symbol-prefix="binary">
+ <field name="data" writable="1">
+ <type name="guint8" c:type="guchar*"/>
+ </field>
+ <field name="binary_length" writable="1">
+ <type name="glong" c:type="glong"/>
+ </field>
+ <method name="to_string" c:identifier="gda_binary_to_string">
+ <doc xml:whitespace="preserve">Converts all the non printable characters of bin->data into the "\xyz" representation
+where "xyz" is the octal representation of the byte, and the '\' (backslash) character
+is converted to "\\". Printable characters (defined by g_ascii_isprint()) as well as newline
+character are not converted.
+
+Note that the backslash and newline characters are considered as printable characters and
+will not be represented by the "\xyz" representation.
+
+Use this function to get a representation as much readable by humans as possible of a binary
+chunk. Note that this function is internally called when transforming a binary value to
+a string for example when using g_value_transform() or gda_value_stringify().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string from @bin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="maxlen" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a maximum len used to truncate, or %0 for no maximum length</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="copy" c:identifier="gda_binary_copy">
+ <doc xml:whitespace="preserve">Creates a new #GdaBinary structure from an existing one.
+
+Free-function: gda_binary_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GdaBinary which contains a copy of information in @boxed.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <doc xml:whitespace="preserve">source to get a copy from.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="free" c:identifier="gda_binary_free">
+ <doc xml:whitespace="preserve">Deallocates all memory associated to the given #GdaBinary.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="full">
+ <doc xml:whitespace="preserve">#GdaBinary to free.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="Blob"
+ c:type="GdaBlob"
+ glib:type-name="GdaBlob"
+ glib:get-type="gda_blob_get_type"
+ c:symbol-prefix="blob">
+ <doc xml:whitespace="preserve">Represents some binary data, accessed through a #GdaBlobOp object.
+ op is generally set up by database providers when giving access to an existing BLOB in
+a database, but can be modified if needed using gda_blob_set_op().</doc>
+ <field name="data" writable="1">
+ <type name="Binary" c:type="GdaBinary"/>
+ </field>
+ <field name="op" writable="1">
+ <type name="BlobOp" c:type="GdaBlobOp*"/>
+ </field>
+ <method name="set_op" c:identifier="gda_blob_set_op">
+ <doc xml:whitespace="preserve">correctly assigns @op to @blob</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaBlobOp object, or %NULL</doc>
+ <type name="BlobOp" c:type="GdaBlobOp*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_string" c:identifier="gda_blob_to_string">
+ <doc xml:whitespace="preserve">Converts all the non printable characters of blob->data into the \xxx representation
+where xxx is the octal representation of the byte, and the '\' (backslash) character
+is converted to "\\".</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string from @blob</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="maxlen" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a maximum len used to truncate, or 0 for no maximum length</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="copy" c:identifier="gda_blob_copy">
+ <doc xml:whitespace="preserve">Creates a new #GdaBlob structure from an existing one.
+
+Free-function: gda_blob_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GdaBlob which contains a copy of information in @boxed.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <doc xml:whitespace="preserve">source to get a copy from.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="free" c:identifier="gda_blob_free">
+ <doc xml:whitespace="preserve">Deallocates all memory associated to the given #GdaBlob.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="full">
+ <doc xml:whitespace="preserve">#GdaBlob to free.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <class name="BlobOp"
+ c:symbol-prefix="blob_op"
+ c:type="GdaBlobOp"
+ parent="GObject.Object"
+ abstract="1"
+ glib:type-name="GdaBlobOp"
+ glib:get-type="gda_blob_op_get_type"
+ glib:type-struct="BlobOpClass">
+ <virtual-method name="get_length" invoker="get_length">
+ <doc xml:whitespace="preserve">provider should have added an error (a #GdaConnectionEvent) to the connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of the blob in bytes. In case of error, -1 is returned and the</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="read" invoker="read">
+ <doc xml:whitespace="preserve">Reads a chunk of bytes from the BLOB accessible through @op into @blob.
+
+provider should have added an error to the connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes actually read. In case of error, -1 is returned and the</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ <parameters>
+ <parameter name="blob" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBlob to read data to</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset to read from the start of the blob (starts at 0)</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">maximum number of bytes to read.</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="write" invoker="write">
+ <doc xml:whitespace="preserve">Writes a chunk of bytes from a @blob to the BLOB accessible through @op, @blob is unchanged after
+this call.
+
+If @blob has an associated #GdaBlobOp (ie. if @blob->op is not %NULL) then the data to be written
+using @op is the data fetched using @blob->op.
+
+provider should have added an error to the connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes written. In case of error, -1 is returned and the</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ <parameters>
+ <parameter name="blob" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset to write from the start of the blob (starts at 0)</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="write_all" invoker="write_all">
+ <doc xml:whitespace="preserve">Writes the whole contents of @blob into the blob manipulated by @op. If necessary the resulting
+blob is truncated from its previous length.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="blob" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_length" c:identifier="gda_blob_op_get_length">
+ <doc xml:whitespace="preserve">provider should have added an error (a #GdaConnectionEvent) to the connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of the blob in bytes. In case of error, -1 is returned and the</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ </method>
+ <method name="read" c:identifier="gda_blob_op_read">
+ <doc xml:whitespace="preserve">Reads a chunk of bytes from the BLOB accessible through @op into @blob.
+
+provider should have added an error to the connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes actually read. In case of error, -1 is returned and the</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ <parameters>
+ <parameter name="blob" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBlob to read data to</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset to read from the start of the blob (starts at 0)</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">maximum number of bytes to read.</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read_all" c:identifier="gda_blob_op_read_all">
+ <doc xml:whitespace="preserve">Reads the whole contents of the blob manipulated by @op into @blob</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @blob->data contains the whole BLOB manipulated by @op</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="blob" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBlob to read data to</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="write" c:identifier="gda_blob_op_write">
+ <doc xml:whitespace="preserve">Writes a chunk of bytes from a @blob to the BLOB accessible through @op, @blob is unchanged after
+this call.
+
+If @blob has an associated #GdaBlobOp (ie. if @blob->op is not %NULL) then the data to be written
+using @op is the data fetched using @blob->op.
+
+provider should have added an error to the connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes written. In case of error, -1 is returned and the</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ <parameters>
+ <parameter name="blob" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset to write from the start of the blob (starts at 0)</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="write_all" c:identifier="gda_blob_op_write_all">
+ <doc xml:whitespace="preserve">Writes the whole contents of @blob into the blob manipulated by @op. If necessary the resulting
+blob is truncated from its previous length.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="blob" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="_gda_reserved1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </class>
+ <record name="BlobOpClass"
+ c:type="GdaBlobOpClass"
+ glib:is-gtype-struct-for="BlobOp">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="get_length">
+ <callback name="get_length">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of the blob in bytes. In case of error, -1 is returned and the</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <type name="BlobOp" c:type="GdaBlobOp*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="read">
+ <callback name="read">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes actually read. In case of error, -1 is returned and the</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <type name="BlobOp" c:type="GdaBlobOp*"/>
+ </parameter>
+ <parameter name="blob" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBlob to read data to</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset to read from the start of the blob (starts at 0)</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">maximum number of bytes to read.</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="write">
+ <callback name="write">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes written. In case of error, -1 is returned and the</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <type name="BlobOp" c:type="GdaBlobOp*"/>
+ </parameter>
+ <parameter name="blob" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset to write from the start of the blob (starts at 0)</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="write_all">
+ <callback name="write_all">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <type name="BlobOp" c:type="GdaBlobOp*"/>
+ </parameter>
+ <parameter name="blob" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBlob which contains the data to write</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <class name="Column"
+ c:symbol-prefix="column"
+ c:type="GdaColumn"
+ parent="GObject.Object"
+ glib:type-name="GdaColumn"
+ glib:get-type="gda_column_get_type"
+ glib:type-struct="ColumnClass">
+ <constructor name="new" c:identifier="gda_column_new">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GdaColumn object.</doc>
+ <type name="Column" c:type="GdaColumn*"/>
+ </return-value>
+ </constructor>
+ <virtual-method name="g_type_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="new_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="name_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="copy" c:identifier="gda_column_copy">
+ <doc xml:whitespace="preserve">Creates a new #GdaColumn object from an existing one.
+
+in @column.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GdaColumn with a copy of the data</doc>
+ <type name="Column" c:type="GdaColumn*"/>
+ </return-value>
+ </method>
+ <method name="get_allow_null" c:identifier="gda_column_get_allow_null">
+ <doc xml:whitespace="preserve">Gets the 'allow null' flag of the given column.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether the given column allows null values or not (%TRUE or %FALSE).</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_attribute" c:identifier="gda_column_get_attribute">
+ <doc xml:whitespace="preserve">Get the value associated to a named attribute.
+
+Attributes can have any name, but Libgda proposes some default names, see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has been set for @column</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="attribute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute name as a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_auto_increment"
+ c:identifier="gda_column_get_auto_increment">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether the given column is an auto incremented one (%TRUE or %FALSE).</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_dbms_type" c:identifier="gda_column_get_dbms_type">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the database type of @column.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_default_value"
+ c:identifier="gda_column_get_default_value">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@column's default value, as a #GValue object, or %NULL if column does not have a default value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ </method>
+ <method name="get_description" c:identifier="gda_column_get_description">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the column's description, in any</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_g_type" c:identifier="gda_column_get_g_type">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of @column.</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </method>
+ <method name="get_name" c:identifier="gda_column_get_name">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of @column.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_position" c:identifier="gda_column_get_position">
+ <doc xml:whitespace="preserve">containing data model.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the position of the column refer to in the</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="set_allow_null" c:identifier="gda_column_set_allow_null">
+ <doc xml:whitespace="preserve">Sets the 'allow null' flag of the given column.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="allow" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether the given column should allows null values or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_attribute" c:identifier="gda_column_set_attribute">
+ <doc xml:whitespace="preserve">Set the value associated to a named attribute. The @attribute string is 'stolen' by this method, and
+the memory it uses will be freed using the @destroy function when no longer needed (if @destroy is %NULL,
+then the string will not be freed at all).
+
+Attributes can have any name, but Libgda proposes some default names,
+see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>.
+
+If there is already an attribute named @attribute set, then its value is replaced with the new value (@value is
+copied), except if @value is %NULL, in which case the attribute is removed.
+
+For example one would use it as:
+
+<code>
+gda_column_set_attribute (holder, g_strdup (my_attribute), g_free, my_value);
+gda_column_set_attribute (holder, GDA_ATTRIBUTE_NAME, NULL, my_value);
+</code>
+
+Note: this method does not modify in any way the contents of the data model for which @column is a column (nor
+does it modify the table definition of the tables used by a SELECT statement is the model was created from a
+SELECT statement).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="attribute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute name as a static string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="destroy"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="async">
+ <doc xml:whitespace="preserve">a function to be called when @attribute is not needed anymore, or %NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auto_increment"
+ c:identifier="gda_column_set_auto_increment">
+ <doc xml:whitespace="preserve">Sets the auto increment flag for the given column.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="is_auto" transfer-ownership="none">
+ <doc xml:whitespace="preserve">auto increment status.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_dbms_type" c:identifier="gda_column_set_dbms_type">
+ <doc xml:whitespace="preserve">Defines @column's database type</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dbms_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_default_value"
+ c:identifier="gda_column_set_default_value">
+ <doc xml:whitespace="preserve">Sets @column's default #GValue.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="default_value"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">default #GValue for the column</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_description" c:identifier="gda_column_set_description">
+ <doc xml:whitespace="preserve">Sets the column's description</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="title" transfer-ownership="none">
+ <doc xml:whitespace="preserve">title name.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_g_type" c:identifier="gda_column_set_g_type">
+ <doc xml:whitespace="preserve">Sets the type of @column to @type.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new type of @column.</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_name" c:identifier="gda_column_set_name">
+ <doc xml:whitespace="preserve">Sets the name of @column to @name.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new name of @column.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_position" c:identifier="gda_column_set_position">
+ <doc xml:whitespace="preserve">Sets the position of the column refer to in the containing
+data model.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the wanted position of the column in the containing data model.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="id" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="ColumnPrivate" c:type="GdaColumnPrivate*"/>
+ </field>
+ <glib:signal name="g-type-changed" when="last">
+ <doc xml:whitespace="preserve">Gets emitted whenever @column's type has been changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the column's previous type</doc>
+ <type name="GType"/>
+ </parameter>
+ <parameter name="new_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the column's new type</doc>
+ <type name="GType"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="name-changed" when="last">
+ <doc xml:whitespace="preserve">Gets emitted whenever @column's name has been changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the column's previous name</doc>
+ <type name="utf8"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ColumnClass"
+ c:type="GdaColumnClass"
+ glib:is-gtype-struct-for="Column">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="name_changed">
+ <callback name="name_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="column" transfer-ownership="none">
+ <type name="Column" c:type="GdaColumn*"/>
+ </parameter>
+ <parameter name="old_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="g_type_changed">
+ <callback name="g_type_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="column" transfer-ownership="none">
+ <type name="Column" c:type="GdaColumn*"/>
+ </parameter>
+ <parameter name="old_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="new_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="ColumnPrivate" c:type="GdaColumnPrivate" disguised="1">
+ </record>
+ <class name="Config"
+ c:symbol-prefix="config"
+ c:type="GdaConfig"
+ parent="GObject.Object"
+ glib:type-name="GdaConfig"
+ glib:get-type="gda_config_get_type"
+ glib:type-struct="ConfigClass">
+ <function name="can_modify_system_config"
+ c:identifier="gda_config_can_modify_system_config">
+ <doc xml:whitespace="preserve">Tells if the global (system) configuration can be modified (considering
+system permissions and settings)</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if system-wide configuration can be modified</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="define_dsn"
+ c:identifier="gda_config_define_dsn"
+ throws="1">
+ <doc xml:whitespace="preserve">Add or update a DSN from the definition in @info.
+
+This method may fail with a %GDA_CONFIG_ERROR domain error (see the #GdaConfigError error codes).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a filled GdaDsnInfo structure</doc>
+ <type name="DsnInfo" c:type="GdaDsnInfo*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="dsn_needs_authentication"
+ c:identifier="gda_config_dsn_needs_authentication">
+ <doc xml:whitespace="preserve">Tells if the data source identified as @dsn_name needs any authentication. If a &lt;username&gt;
+and optionally a &lt;password&gt; are specified, they are ignored.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if an authentication is needed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dsn_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a DSN, in the "[&lt;username&gt;[:&lt;password&gt;] ]&lt;DSN&gt;" format</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="error_quark" c:identifier="gda_config_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="get" c:identifier="gda_config_get">
+ <doc xml:whitespace="preserve">Get a pointer to the global (unique) #GdaConfig object. This functions increments
+the reference count of the object, so you need to call g_object_unref() on it once finished.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a non %NULL pointer to the unique #GdaConfig</doc>
+ <type name="Config" c:type="GdaConfig*"/>
+ </return-value>
+ </function>
+ <function name="get_dsn_info" c:identifier="gda_config_get_dsn_info">
+ <doc xml:whitespace="preserve">Get information about the DSN named @dsn_name.
+
+ dsn_name's format is "[&lt;username&gt;[:&lt;password&gt;] ]&lt;DSN&gt;" (if &lt;username&gt;
+and optionally &lt;password&gt; are provided, they are ignored). Also see the gda_dsn_split() utility
+function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to read-only #GdaDsnInfo structure, or %NULL if not found</doc>
+ <type name="DsnInfo" c:type="GdaDsnInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dsn_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the DSN to look for</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_dsn_info_at_index"
+ c:identifier="gda_config_get_dsn_info_at_index">
+ <doc xml:whitespace="preserve">Get a pointer to a read-only #GdaDsnInfo at the @index position</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pointer or %NULL if no DSN exists at position @index</doc>
+ <type name="DsnInfo" c:type="GdaDsnInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_dsn_info_index"
+ c:identifier="gda_config_get_dsn_info_index">
+ <doc xml:whitespace="preserve">Get the index (starting at 0) of the DSN named @dsn_name</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index or -1 if not found</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="dsn_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a DSN</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_nb_dsn" c:identifier="gda_config_get_nb_dsn">
+ <doc xml:whitespace="preserve">Get the number of defined DSN</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of defined DSN</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </function>
+ <function name="get_provider"
+ c:identifier="gda_config_get_provider"
+ throws="1">
+ <doc xml:whitespace="preserve">Get a pointer to the session-wide #GdaServerProvider for the
+provider named @provider_name. The caller must not call g_object_unref() on the
+returned object.
+
+This method may fail with a %GDA_CONFIG_ERROR domain error (see the #GdaConfigError error codes).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the #GdaServerProvider, or %NULL if an error occurred</doc>
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a database provider</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_provider_info"
+ c:identifier="gda_config_get_provider_info">
+ <doc xml:whitespace="preserve">Get some information about the a database provider (adapter) named</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to read-only #GdaProviderInfo structure, or %NULL if not found</doc>
+ <type name="ProviderInfo" c:type="GdaProviderInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a database provider</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="list_dsn" c:identifier="gda_config_list_dsn">
+ <doc xml:whitespace="preserve">Get a #GdaDataModel representing all the configured DSN, and keeping itself up to date with
+the changes in the declared DSN.
+
+The returned data model is composed of the following columns:
+<itemizedlist>
+<listitem><para>DSN name</para></listitem>
+<listitem><para>Provider name</para></listitem>
+<listitem><para>Description</para></listitem>
+<listitem><para>Connection string</para></listitem>
+<listitem><para>Username if it exists</para></listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaDataModel</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ </function>
+ <function name="list_providers" c:identifier="gda_config_list_providers">
+ <doc xml:whitespace="preserve">Get a #GdaDataModel representing all the installed database providers.
+
+The returned data model is composed of the following columns:
+<itemizedlist>
+<listitem><para>Provider name</para></listitem>
+<listitem><para>Description</para></listitem>
+<listitem><para>DSN parameters</para></listitem>
+<listitem><para>Authentication parameters</para></listitem>
+<listitem><para>File name of the plugin</para></listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaDataModel</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ </function>
+ <function name="remove_dsn"
+ c:identifier="gda_config_remove_dsn"
+ throws="1">
+ <doc xml:whitespace="preserve">Remove the DSN named @dsn_name.
+
+This method may fail with a %GDA_CONFIG_ERROR domain error (see the #GdaConfigError error codes).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dsn_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the DSN to remove</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="dsn_added">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="new_dsn" transfer-ownership="none">
+ <type name="DsnInfo" c:type="GdaDsnInfo*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="dsn_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dsn" transfer-ownership="none">
+ <type name="DsnInfo" c:type="GdaDsnInfo*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="dsn_removed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_dsn" transfer-ownership="none">
+ <type name="DsnInfo" c:type="GdaDsnInfo*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="dsn_to_be_removed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_dsn" transfer-ownership="none">
+ <type name="DsnInfo" c:type="GdaDsnInfo*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <property name="system-filename" writable="1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">File to use for system-wide DSN list. When changed, the whole list of DSN will be reloaded.</doc>
+ <type name="utf8"/>
+ </property>
+ <property name="user-filename" writable="1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">File to use for per-user DSN list. When changed, the whole list of DSN will be reloaded.</doc>
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="ConfigPrivate" c:type="GdaConfigPrivate*"/>
+ </field>
+ <glib:signal name="dsn-added" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever a new DSN has been defined</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="new_dsn" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDsnInfo</doc>
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="dsn-changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever a DSN's definition has been changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="dsn" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDsnInfo</doc>
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="dsn-removed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever a DSN has been removed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_dsn" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDsnInfo</doc>
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="dsn-to-be-removed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever a DSN is about to be removed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_dsn" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDsnInfo</doc>
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ConfigClass"
+ c:type="GdaConfigClass"
+ glib:is-gtype-struct-for="Config">
+ <field name="object_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="dsn_added">
+ <callback name="dsn_added">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="conf" transfer-ownership="none">
+ <type name="Config" c:type="GdaConfig*"/>
+ </parameter>
+ <parameter name="new_dsn" transfer-ownership="none">
+ <type name="DsnInfo" c:type="GdaDsnInfo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="dsn_to_be_removed">
+ <callback name="dsn_to_be_removed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="conf" transfer-ownership="none">
+ <type name="Config" c:type="GdaConfig*"/>
+ </parameter>
+ <parameter name="old_dsn" transfer-ownership="none">
+ <type name="DsnInfo" c:type="GdaDsnInfo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="dsn_removed">
+ <callback name="dsn_removed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="conf" transfer-ownership="none">
+ <type name="Config" c:type="GdaConfig*"/>
+ </parameter>
+ <parameter name="old_dsn" transfer-ownership="none">
+ <type name="DsnInfo" c:type="GdaDsnInfo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="dsn_changed">
+ <callback name="dsn_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="conf" transfer-ownership="none">
+ <type name="Config" c:type="GdaConfig*"/>
+ </parameter>
+ <parameter name="dsn" transfer-ownership="none">
+ <type name="DsnInfo" c:type="GdaDsnInfo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="ConfigError" c:type="GdaConfigError">
+ <member name="dsn_not_found_error"
+ value="0"
+ c:identifier="GDA_CONFIG_DSN_NOT_FOUND_ERROR"/>
+ <member name="permission_error"
+ value="1"
+ c:identifier="GDA_CONFIG_PERMISSION_ERROR"/>
+ <member name="provider_not_found_error"
+ value="2"
+ c:identifier="GDA_CONFIG_PROVIDER_NOT_FOUND_ERROR"/>
+ <member name="provider_creation_error"
+ value="3"
+ c:identifier="GDA_CONFIG_PROVIDER_CREATION_ERROR"/>
+ </enumeration>
+ <record name="ConfigPrivate" c:type="GdaConfigPrivate" disguised="1">
+ </record>
+ <class name="Connection"
+ c:symbol-prefix="connection"
+ c:type="GdaConnection"
+ parent="GObject.Object"
+ glib:type-name="GdaConnection"
+ glib:get-type="gda_connection_get_type"
+ glib:type-struct="ConnectionClass">
+ <implements name="Lockable"/>
+ <constructor name="new_from_dsn"
+ c:identifier="gda_connection_new_from_dsn"
+ version="5.0.2"
+ throws="1">
+ <doc xml:whitespace="preserve">This function is similar to gda_connection_open_from_dsn(), except it does not actually open the
+connection, you have to open it using gda_connection_open().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaConnection if connection opening was successful or %NULL if there was an error.</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dsn" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data source name.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="auth_string"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">authentication string, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">options for the connection (see #GdaConnectionOptions).</doc>
+ <type name="ConnectionOptions" c:type="GdaConnectionOptions"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_string"
+ c:identifier="gda_connection_new_from_string"
+ version="5.0.2"
+ throws="1">
+ <doc xml:whitespace="preserve">This function is similar to gda_connection_open_from_string(), except it does not actually open the
+connection, you have to open it using gda_connection_open().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaConnection if connection opening was successful or %NULL if there was an error.</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider_name"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">provider ID to connect to, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="cnc_string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">connection string.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="auth_string"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">authentication string, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">options for the connection (see #GdaConnectionOptions).</doc>
+ <type name="ConnectionOptions" c:type="GdaConnectionOptions"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_connection_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="open_from_dsn"
+ c:identifier="gda_connection_open_from_dsn"
+ throws="1">
+ <doc xml:whitespace="preserve">This function is the way of opening database connections with libgda, using a pre-defined data source (DSN),
+see gda_config_define_dsn() for more information about how to define a DSN. If you don't want to define
+a DSN, it is possible to use gda_connection_open_from_string() instead of this method.
+
+The @dsn string must have the following format: "[&lt;username&gt;[:&lt;password&gt;] ]&lt;DSN&gt;"
+(if &lt;username&gt; and/or &lt;password&gt; are provided, and @auth_string is %NULL, then these username
+and passwords will be used). Note that if provided, &lt;username&gt; and &lt;password&gt;
+must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information.
+
+The @auth_string can contain the authentication information for the server
+to accept the connection. It is a string containing semi-colon seperated named value, usually
+like "USERNAME=...;PASSWORD=..." where the ... are replaced by actual values. Note that each
+name and value must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information.
+
+The actual named parameters required depend on the provider being used, and that list is available
+as the <parameter>auth_params</parameter> member of the #GdaProviderInfo structure for each installed
+provider (use gda_config_get_provider_info() to get it). Also one can use the "gda-sql-5.0 -L" command to
+list the possible named parameters.
+
+This method may fail with a GDA_CONNECTION_ERROR domain error (see the #GdaConnectionError error codes)
+or a %GDA_CONFIG_ERROR domain error (see the #GdaConfigError error codes).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaConnection if connection opening was successful or %NULL if there was an error.</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dsn" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data source name.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="auth_string"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">authentication string, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">options for the connection (see #GdaConnectionOptions).</doc>
+ <type name="ConnectionOptions" c:type="GdaConnectionOptions"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="open_from_string"
+ c:identifier="gda_connection_open_from_string"
+ throws="1">
+ <doc xml:whitespace="preserve">Opens a connection given a provider ID and a connection string. This
+allows applications to open connections without having to create
+a data source (DSN) in the configuration. The format of @cnc_string is
+similar to PostgreSQL and MySQL connection strings. It is a semicolumn-separated
+series of &lt;key&gt;=&lt;value&gt; pairs, where each key and value are encoded as per RFC 1738,
+see gda_rfc1738_encode() for more information.
+
+The possible keys depend on the provider, the "gda-sql-5.0 -L" command
+can be used to list the actual keys for each installed database provider.
+
+For example the connection string to open an SQLite connection to a database
+file named "my_data.db" in the current directory would be <constant>"DB_DIR=.;DB_NAME=my_data"</constant>.
+
+The @cnc_string string must have the following format:
+"[&lt;provider&gt;://][&lt;username&gt;[:&lt;password&gt;] ]&lt;connection_params&gt;"
+(if &lt;username&gt; and/or &lt;password&gt; are provided, and @auth_string is %NULL, then these username
+and passwords will be used, and if &lt;provider&gt; is provided and @provider_name is %NULL then this
+provider will be used). Note that if provided, &lt;username&gt;, &lt;password&gt; and &lt;provider&gt;
+must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information.
+
+The @auth_string must contain the authentication information for the server
+to accept the connection. It is a string containing semi-colon seperated named values, usually
+like "USERNAME=...;PASSWORD=..." where the ... are replaced by actual values. Note that each
+name and value must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information.
+
+The actual named parameters required depend on the provider being used, and that list is available
+as the <parameter>auth_params</parameter> member of the #GdaProviderInfo structure for each installed
+provider (use gda_config_get_provider_info() to get it). Similarly to the format of the connection
+string, use the "gda-sql-5.0 -L" command to list the possible named parameters.
+
+Additionally, it is possible to have the connection string
+respect the "&lt;provider_name&gt;://&lt;real cnc string&gt;" format, in which case the provider name
+and the real connection string will be extracted from that string (note that if @provider_name
+is not %NULL then it will still be used as the provider ID).\
+
+This method may fail with a GDA_CONNECTION_ERROR domain error (see the #GdaConnectionError error codes)
+or a %GDA_CONFIG_ERROR domain error (see the #GdaConfigError error codes).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaConnection if connection opening was successful or %NULL if there was an error.</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider_name"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">provider ID to connect to, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="cnc_string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">connection string.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="auth_string"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">authentication string, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">options for the connection (see #GdaConnectionOptions).</doc>
+ <type name="ConnectionOptions" c:type="GdaConnectionOptions"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="open_sqlite" c:identifier="gda_connection_open_sqlite">
+ <doc xml:whitespace="preserve">Opens an SQLite connection even if the SQLite provider is not installed,
+to be used by database providers which need a temporary database to store
+some information.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaConnection, or %NULL if an error occurred</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </return-value>
+ <parameters>
+ <parameter name="directory" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the directory the database file will be in, or %NULL for the default TMP directory</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the database file name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="auto_unlink" transfer-ownership="none">
+ <doc xml:whitespace="preserve">if %TRUE, then the database file will be removed afterwards</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="string_split" c:identifier="gda_connection_string_split">
+ <doc xml:whitespace="preserve">Extract the provider, connection parameters, username and password from @string.
+in @string, the various parts are strings
+which are expected to be encoded using an RFC 1738 compliant encoding. If they are specified,
+the returned provider, username and password strings are correctly decoded.
+
+For example all the following connection strings:
+<programlisting><![CDATA[
+
+will return the following new strings (double quotes added here to delimit strings):
+<programlisting><![CDATA[</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string in the "[&lt;provider&gt;://][&lt;username&gt;[:&lt;password&gt;] ]&lt;connection_params&gt;" form</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="out_cnc_params" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store the new string containing the &lt;connection_params&gt; part</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="out_provider" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store the new string containing the &lt;provider&gt; part</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="out_username" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store the new string containing the &lt;username&gt; part</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="out_password" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store the new string containing the &lt;password&gt; part</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="conn_closed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="conn_opened">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="conn_to_close">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="dsn_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="error">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="error" transfer-ownership="none">
+ <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transaction_status_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <method name="add_event" c:identifier="gda_connection_add_event">
+ <doc xml:whitespace="preserve">Adds an event to the given connection. This function is usually
+called by providers, to inform clients of events that happened
+during some operation.
+
+As soon as a provider (or a client, it does not matter) calls this
+function with an @event object which is an error,
+the connection object emits the "error" signal, to which clients can connect to be
+informed of events.
+
+WARNING: the reference to the @event object is stolen by this function!</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:whitespace="preserve">is stored internally, so you don't need to unref it.</doc>
+ <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_event_string"
+ c:identifier="gda_connection_add_event_string"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds a new error to the given connection object. This is just a convenience
+function that simply creates a #GdaConnectionEvent and then calls
+#gda_server_connection_add_error.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a new #GdaConnectionEvent object, however the caller does not hold a reference to the returned object, and if need be the caller must call g_object_ref() on it.</doc>
+ <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a format string (see the printf(3) documentation).</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_prepared_statement"
+ c:identifier="gda_connection_add_prepared_statement">
+ <doc xml:whitespace="preserve">Declares that @prepared_stmt is a prepared statement object associated to @gda_stmt within the connection
+(meaning the connection increments the reference counter of @prepared_stmt).
+
+If @gda_stmt changes or is destroyed, the the association will be lost and the connection will lose the
+reference it has on @prepared_stmt.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="gda_stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="prepared_stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a prepared statement object (as a #GdaPStmt object, or more likely a descendant)</doc>
+ <type name="PStmt" c:type="GdaPStmt*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_savepoint"
+ c:identifier="gda_connection_add_savepoint"
+ throws="1">
+ <doc xml:whitespace="preserve">Adds a SAVEPOINT named @name.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">name of the savepoint to add</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="async_cancel"
+ c:identifier="gda_connection_async_cancel"
+ version="4.2"
+ throws="1">
+ <doc xml:whitespace="preserve">Requests that a task be cancelled. This operation may of may not have any effect
+depending on the task's status, even if it returns %TRUE. If it returns %FALSE,
+then the task has not been cancelled.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="task_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a task ID returned by gda_connection_async_statement_execute()</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="async_fetch_result"
+ c:identifier="gda_connection_async_fetch_result"
+ version="4.2"
+ throws="1">
+ <doc xml:whitespace="preserve">Use this method to obtain the result of the execution of a statement which has been executed asynchronously by
+calling gda_connection_async_statement_execute(). This function is non locking and will return %NULL (and no
+error will be set) if the statement has not been executed yet.
+
+If the statement has been executed, this method returns the same value as gda_connection_statement_execute()
+would have if the statement had been
+executed synchronously.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GObject, or %NULL if an error occurred</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="task_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a task ID returned by gda_connection_async_statement_execute()</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="last_insert_row"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a place to store a new #GdaSet object which contains the values of the last inserted row, or %NULL</doc>
+ <type name="Set" c:type="GdaSet**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="async_statement_execute"
+ c:identifier="gda_connection_async_statement_execute"
+ version="4.2"
+ throws="1">
+ <doc xml:whitespace="preserve">This method is similar to gda_connection_statement_execute() but is asynchronous as it method returns
+immediately with a task ID. It's up to the caller to use gda_connection_async_fetch_result() regularly to check
+if the statement's execution is finished.
+
+It is possible to call the method several times to request several statements to be executed asynchronously, the
+statements will be executed in the order in which they were requested.
+
+The parameters, if present, are copied and can be discarded or modified before the statement is actually executed.
+The @stmt object is not copied but simply referenced (for performance reasons), and if it is modified before
+it is actually executed, then its execution will not occur. It is however safe to call g_object_unref() on it if
+it's not needed anymore.
+
+The execution failure of any statement has no impact on the execution of other statements except for example if
+the connection has a transaction started and the failure invalidates the transaction (as decided by the database
+server).
+
+but any other error)</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a task ID, or 0 if an error occurred (not an error regarding @stmt itself as its execution has not yet started</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="model_usage" transfer-ownership="none">
+ <doc xml:whitespace="preserve">in the case where @stmt is a SELECT statement, specifies how the returned data model will be used</doc>
+ <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
+ </parameter>
+ <parameter name="col_types" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an array of GType to request each returned #GdaDataModel's column's GType, terminated with the G_TYPE_NONE</doc>
+ <array zero-terminated="0" c:type="GType*">
+ <type name="GType" c:type="GType"/>
+ </array>
+ </parameter>
+ <parameter name="need_last_insert_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the values of the last interted row must be computed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="batch_execute"
+ c:identifier="gda_connection_batch_execute"
+ throws="1">
+ <doc xml:whitespace="preserve">Executes all the statements contained in @batch (in the order in which they were added to @batch), and
+returns a list of #GObject objects, at most one #GObject for each statement; see gda_connection_statement_execute()
+for details about the returned objects.
+
+If one of the statement fails, then none of the subsequent statement will be executed, and the method returns
+the list of #GObject created by the correct execution of the previous statements. If a transaction is required,
+then it should be started before calling this method.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new list of #GObject objects</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="GObject.Object"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="batch" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBatch object which contains all the statements to execute</doc>
+ <type name="Batch" c:type="GdaBatch*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using gda_batch_get_parameters()), or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="model_usage" transfer-ownership="none">
+ <doc xml:whitespace="preserve">specifies how the returned data model(s) will be used, as a #GdaStatementModelUsage enum</doc>
+ <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="begin_transaction"
+ c:identifier="gda_connection_begin_transaction"
+ throws="1">
+ <doc xml:whitespace="preserve">Starts a transaction on the data source, identified by the
+ name parameter.
+
+Before starting a transaction, you can check whether the underlying
+provider does support transactions or not by using the
+gda_connection_supports_feature() function.
+
+otherwise.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the transaction was started successfully, %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the name of the transation to start, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested transaction level (%GDA_TRANSACTION_ISOLATION_UNKNOWN if not specified)</doc>
+ <type name="TransactionIsolation"
+ c:type="GdaTransactionIsolation"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clear_events_list"
+ c:identifier="gda_connection_clear_events_list">
+ <doc xml:whitespace="preserve">This function lets you clear the list of #GdaConnectionEvent's of the
+given connection.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="close" c:identifier="gda_connection_close">
+ <doc xml:whitespace="preserve">Closes the connection to the underlying data source, but first emits the
+"conn-to-close" signal.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="close_no_warning"
+ c:identifier="gda_connection_close_no_warning">
+ <doc xml:whitespace="preserve">Closes the connection to the underlying data source, without emiting any warning signal.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="commit_transaction"
+ c:identifier="gda_connection_commit_transaction"
+ throws="1">
+ <doc xml:whitespace="preserve">Commits the given transaction to the backend database. You need to call
+gda_connection_begin_transaction() first.
+
+%FALSE otherwise.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the transaction was finished successfully,</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the name of the transation to commit, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_operation"
+ c:identifier="gda_connection_create_operation"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GdaServerOperation object which can be modified in order
+to perform the type type of action. It is a wrapper around the gda_server_provider_create_operation()
+method.
+
+of operation or if an error occurred</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaServerOperation object, or %NULL in the connection's provider does not support the @type type</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of operation requested</doc>
+ <type name="ServerOperationType" c:type="GdaServerOperationType"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an optional list of parameters</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_parser" c:identifier="gda_connection_create_parser">
+ <doc xml:whitespace="preserve">Creates a new parser object able to parse the SQL dialect understood by @cnc.
+If the #GdaServerProvider object internally used by @cnc does not have its own parser,
+then %NULL is returned, and a general SQL parser can be obtained
+using gda_sql_parser_new().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaSqlParser object, or %NULL</doc>
+ <type name="SqlParser" c:type="GdaSqlParser*"/>
+ </return-value>
+ </method>
+ <method name="del_prepared_statement"
+ c:identifier="gda_connection_del_prepared_statement">
+ <doc xml:whitespace="preserve">Removes any prepared statement associated to @gda_stmt in @cnc: this undoes what
+gda_connection_add_prepared_statement() does.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="gda_stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="delete_row_from_table"
+ c:identifier="gda_connection_delete_row_from_table"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">This is a convenience function, which creates a DELETE statement and executes it using the values
+provided. It internally relies on variables which makes it immune to SQL injection problems.
+
+The equivalent SQL command is: DELETE FROM &lt;table&gt; WHERE &lt;condition_column_name&gt; = &lt;condition_value&gt;.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the table's name with the row's values to be updated</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="condition_column_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the column to used in the WHERE condition clause</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="condition_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the @condition_column_type's GType</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="delete_savepoint"
+ c:identifier="gda_connection_delete_savepoint"
+ throws="1">
+ <doc xml:whitespace="preserve">Delete the SAVEPOINT named @name when not used anymore.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">name of the savepoint to delete</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="execute_non_select_command"
+ c:identifier="gda_connection_execute_non_select_command"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">This is a convenience function to execute a SQL command over the opened connection. For the
+returned value, see gda_connection_statement_execute_non_select()'s documentation.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of rows affected or -1, or -2</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="sql" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a query statement that must not begin with "SELECT"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="execute_select_command"
+ c:identifier="gda_connection_execute_select_command"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">Execute a SQL SELECT command over an opened connection.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaDataModel if successful, %NULL otherwise</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sql" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a query statement that must begin with "SELECT"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_authentication"
+ c:identifier="gda_connection_get_authentication">
+ <doc xml:whitespace="preserve">Gets the user name used to open this connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the user name.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_cnc_string"
+ c:identifier="gda_connection_get_cnc_string">
+ <doc xml:whitespace="preserve">Gets the connection string used to open this connection.
+
+The connection string is the string sent over to the underlying
+database provider, which describes the parameters to be used
+to open a connection on the underlying data source.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the connection string used when opening the connection.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_dsn" c:identifier="gda_connection_get_dsn">
+ <doc xml:whitespace="preserve">to.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data source name the connection object is connected</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_events" c:identifier="gda_connection_get_events">
+ <doc xml:whitespace="preserve">Retrieves a list of the last errors occurred during the connection. The returned list is
+chronologically ordered such as that the most recent event is the #GdaConnectionEvent of the first node.
+
+Warning: the @cnc object may change the list if connection events occur</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GList of #GdaConnectionEvent objects (the list should not be modified)</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="ConnectionEvent"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_meta_store"
+ c:identifier="gda_connection_get_meta_store">
+ <doc xml:whitespace="preserve">Get or initializes the #GdaMetaStore associated to @cnc</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaMetaStore object</doc>
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </return-value>
+ </method>
+ <method name="get_meta_store_data"
+ c:identifier="gda_connection_get_meta_store_data"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Retrieves data stored in @cnc's associated #GdaMetaStore object. This method is useful
+to easily get some information about the meta-data associated to @cnc, such as the list of
+tables, views, and other database objects.
+
+Note: it's up to the caller to make sure the information contained within @cnc's associated #GdaMetaStore
+is up to date using gda_connection_update_meta_store() (it can become outdated if the database's schema
+is modified).
+
+For more information about the returned data model's attributes, or about the @meta_type and ... filter arguments,
+see <link linkend="GdaConnectionMetaTypeHead">this description</link>.
+
+Also, when using filters involving data which are SQL identifiers, make sure each SQL identifier
+is represented using the #GdaMetaStore convention, using gda_meta_store_sql_identifier_quote() or
+gda_meta_store_sql_identifier_quote().
+
+See the <link linkend="information_schema:sql_identifiers">
+meta data section about SQL identifiers</link> for more information, and the documentation about the
+gda_sql_identifier_quote() function which will be most useful.
+
+for freeing the returned model using g_object_unref().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaDataModel containing the data required. The caller is responsible</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="meta_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">describes which data to get.</doc>
+ <type name="ConnectionMetaType" c:type="GdaConnectionMetaType"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="nb_filters" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of filters in the @... argument</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_meta_store_data_v"
+ c:identifier="gda_connection_get_meta_store_data_v"
+ throws="1">
+ <doc xml:whitespace="preserve">see #gda_connection_get_meta_store_data
+
+for freeing the returned model using g_object_unref().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaDataModel containing the data required. The caller is responsible</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="meta_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">describes which data to get.</doc>
+ <type name="ConnectionMetaType" c:type="GdaConnectionMetaType"/>
+ </parameter>
+ <parameter name="filters" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GList of #GdaHolder objects</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Holder"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_options" c:identifier="gda_connection_get_options">
+ <doc xml:whitespace="preserve">Gets the #GdaConnectionOptions used to open this connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the connection options.</doc>
+ <type name="ConnectionOptions" c:type="GdaConnectionOptions"/>
+ </return-value>
+ </method>
+ <method name="get_prepared_statement"
+ c:identifier="gda_connection_get_prepared_statement">
+ <doc xml:whitespace="preserve">Retrieves a pointer to an object representing a prepared statement for @gda_stmt within @cnc. The
+association must have been done using gda_connection_add_prepared_statement().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the prepared statement, or %NULL if no association exists</doc>
+ <type name="PStmt" c:type="GdaPStmt*"/>
+ </return-value>
+ <parameters>
+ <parameter name="gda_stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_provider" c:identifier="gda_connection_get_provider">
+ <doc xml:whitespace="preserve">Gets a pointer to the #GdaServerProvider object used to access the database</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaServerProvider (NEVER NULL)</doc>
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </return-value>
+ </method>
+ <method name="get_provider_name"
+ c:identifier="gda_connection_get_provider_name">
+ <doc xml:whitespace="preserve">Gets the name (identifier) of the database provider used by @cnc</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a non modifiable string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_transaction_status"
+ c:identifier="gda_connection_get_transaction_status">
+ <doc xml:whitespace="preserve">Get the status of @cnc regarding transactions. The returned object should not be modified
+or destroyed; however it may be modified or destroyed by the connection itself.
+
+If %NULL is returned, then no transaction has been associated with @cnc</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaTransactionStatus object, or %NULL</doc>
+ <type name="TransactionStatus" c:type="GdaTransactionStatus*"/>
+ </return-value>
+ </method>
+ <method name="insert_row_into_table"
+ c:identifier="gda_connection_insert_row_into_table"
+ version="4.2.3"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This is a convenience function, which creates an INSERT statement and executes it using the values
+provided. It internally relies on variables which makes it immune to SQL injection problems.
+
+The equivalent SQL command is: INSERT INTO &lt;table&gt; (&lt;column_name&gt; [,...]) VALUES (&lt;column_name&gt; = &lt;new_value&gt; [,...]).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">table's name to insert into</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_row_into_table_v"
+ c:identifier="gda_connection_insert_row_into_table_v"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">@col_names and @values must have length (&gt;= 1).
+
+This is a convenience function, which creates an INSERT statement and executes it using the values
+provided. It internally relies on variables which makes it immune to SQL injection problems.
+
+The equivalent SQL command is: INSERT INTO &lt;table&gt; (&lt;column_name&gt; [,...]) VALUES (&lt;column_name&gt; = &lt;new_value&gt; [,...]).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">table's name to insert into</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="col_names" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of column names (as const gchar *)</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="utf8"/>
+ </type>
+ </parameter>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of values (as #GValue)</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="GObject.Value"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="internal_change_transaction_state"
+ c:identifier="gda_connection_internal_change_transaction_state"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Internal function to be called by database providers to force a transaction status
+change.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="newstate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new state</doc>
+ <type name="TransactionStatusState"
+ c:type="GdaTransactionStatusState"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="internal_get_provider_data"
+ c:identifier="gda_connection_internal_get_provider_data"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get the opaque pointer previously set using gda_connection_internal_set_provider_data().
+If it's not set, then add a connection event and returns %NULL</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the pointer to the opaque structure set using gda_connection_internal_set_provider_data(), or %NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ </method>
+ <method name="internal_get_provider_data_error"
+ c:identifier="gda_connection_internal_get_provider_data_error"
+ version="5.0.2"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Get the opaque pointer previously set using gda_connection_internal_set_provider_data().
+If it's not set, then add a connection event and returns %NULL</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the pointer to the opaque structure set using gda_connection_internal_set_provider_data(), or %NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ </method>
+ <method name="internal_reset_transaction_status"
+ c:identifier="gda_connection_internal_reset_transaction_status"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Internal function to be called by database providers to reset the transaction status.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="internal_savepoint_added"
+ c:identifier="gda_connection_internal_savepoint_added"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Internal functions to be called by database providers when a savepoint has been added
+to keep track of the transaction status of the connection
+
+Note: this function should not be called if gda_connection_internal_statement_executed()
+has already been called because a statement's execution was necessary to perform
+the action.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent_trans"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">name of the parent transaction, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="svp_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">savepoint's name, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="internal_savepoint_removed"
+ c:identifier="gda_connection_internal_savepoint_removed"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Internal functions to be called by database providers when a savepoint has been removed
+to keep track of the transaction status of the connection
+
+Note: this function should not be called if gda_connection_internal_statement_executed()
+has already been called because a statement's execution was necessary to perform
+the action.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="svp_name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">savepoint's name, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="internal_savepoint_rolledback"
+ c:identifier="gda_connection_internal_savepoint_rolledback"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Internal functions to be called by database providers when a savepoint has been rolled back
+to keep track of the transaction status of the connection
+
+Note: this function should not be called if gda_connection_internal_statement_executed()
+has already been called because a statement's execution was necessary to perform
+the action.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="svp_name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">savepoint's name, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="internal_set_provider_data"
+ c:identifier="gda_connection_internal_set_provider_data"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Note: calling this function more than once will not make it call @destroy_func on any previously
+set opaque @data, you'll have to do it yourself.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an opaque structure, known only to the provider for which @cnc is opened</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_func"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:whitespace="preserve">function to call when the connection closes and @data needs to be destroyed</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="internal_statement_executed"
+ c:identifier="gda_connection_internal_statement_executed"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Internal functions to be called by database providers when a statement has been executed
+to keep track of the transaction status of the connection</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement which has been executed</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">execution's parameters</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnectionEvent if the execution failed, or %NULL</doc>
+ <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="internal_transaction_committed"
+ c:identifier="gda_connection_internal_transaction_committed"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Internal functions to be called by database providers when a transaction has been committed
+to keep track of the transaction status of the connection
+
+Note: this function should not be called if gda_connection_internal_statement_executed()
+has already been called because a statement's execution was necessary to perform
+the action.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans_name"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">transaction's name, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="internal_transaction_rolledback"
+ c:identifier="gda_connection_internal_transaction_rolledback"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Internal functions to be called by database providers when a transaction has been rolled
+back to keep track of the transaction status of the connection
+
+Note: this function should not be called if gda_connection_internal_statement_executed()
+has already been called because a statement's execution was necessary to perform
+the action.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans_name"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">transaction's name, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="internal_transaction_started"
+ c:identifier="gda_connection_internal_transaction_started"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Internal functions to be called by database providers when a transaction has been started
+to keep track of the transaction status of the connection.
+
+Note: this function should not be called if gda_connection_internal_statement_executed()
+has already been called because a statement's execution was necessary to perform
+the action.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent_trans"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">name of the parent transaction, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="trans_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">transaction's name, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="isol_level" transfer-ownership="none">
+ <doc xml:whitespace="preserve">isolation level.</doc>
+ <type name="TransactionIsolation"
+ c:type="GdaTransactionIsolation"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_opened" c:identifier="gda_connection_is_opened">
+ <doc xml:whitespace="preserve">Checks whether a connection is open or not.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the connection is open, %FALSE if it's not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="open" c:identifier="gda_connection_open" throws="1">
+ <doc xml:whitespace="preserve">Tries to open the connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the connection is opened, and FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="parse_sql_string"
+ c:identifier="gda_connection_parse_sql_string"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">This function helps to parse a SQL string which uses parameters and store them at @params.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaStatement representing the SQL command, or %NULL if an error occurred</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sql" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an SQL command to parse, not %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="params"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a place to store a new #GdaSet, for parameters used in SQL command, or %NULL</doc>
+ <type name="Set" c:type="GdaSet**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="perform_operation"
+ c:identifier="gda_connection_perform_operation"
+ throws="1">
+ <doc xml:whitespace="preserve">Performs the operation described by @op (which should have been created using
+gda_connection_create_operation()). It is a wrapper around the gda_server_provider_perform_operation()
+method.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="point_available_event"
+ c:identifier="gda_connection_point_available_event"
+ version="4.2">
+ <doc xml:whitespace="preserve">Use this method to get a pointer to the next available connection event which can then be customized
+and taken into account using gda_connection_add_event().
+
+be ignored</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the next available connection event, or %NULL if event should</doc>
+ <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnectionEventType</doc>
+ <type name="ConnectionEventType" c:type="GdaConnectionEventType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="quote_sql_identifier"
+ c:identifier="gda_connection_quote_sql_identifier"
+ version="4.0.3">
+ <doc xml:whitespace="preserve">Use this method to get a correctly quoted (if necessary) SQL identifier which can be used
+in SQL statements, from @id. If @id is already correctly quoted for @cnc, then a copy of @id
+may be returned.
+
+This method may add double quotes (or other characters) around @id:
+<itemizedlist>
+<listitem><para>if @id is a reserved SQL keyword (such as SELECT, INSERT, ...)</para></listitem>
+<listitem><para>if @id contains non allowed characters such as spaces, or if it starts with a digit</para></listitem>
+<listitem><para>in any other event as necessary for @cnc, depending on the the options passed when opening the @cnc
+connection, and specifically the <link linkend="GDA-CONNECTION-OPTIONS-SQL-IDENTIFIERS-CASE-SENSITIVE:CAPS">
+GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE</link> option.</para></listitem>
+</itemizedlist>
+
+One can safely pass an already quoted @id to this method, either with quoting characters allowed by @cnc or using the
+double quote (") character.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, to free with g_free() once not needed anymore</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an SQL identifier</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="repetitive_statement_execute"
+ c:identifier="gda_connection_repetitive_statement_execute"
+ version="4.2"
+ throws="1">
+ <doc xml:whitespace="preserve">Executes the statement upon which @rstmt is built. Note that as several statements can actually be executed by this
+method, it is recommended to be within a transaction.
+
+If @error is not %NULL and @stop_on_error is %FALSE, then it may contain the last error which occurred.
+
+represent), one for each actual execution of the statement upon which @rstmt is built. If @stop_on_error is %FALSE, then
+the list may contain some %NULL pointers which refer to statements which failed to execute.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new list of #GObject pointers (see gda_connection_statement_execute() for more information about what they</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="GObject.Object"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="rstmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaRepetitiveStatement object</doc>
+ <type name="RepetitiveStatement" c:type="GdaRepetitiveStatement*"/>
+ </parameter>
+ <parameter name="model_usage" transfer-ownership="none">
+ <doc xml:whitespace="preserve">specifies how the returned data model will be used as a #GdaStatementModelUsage enum</doc>
+ <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
+ </parameter>
+ <parameter name="col_types" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an array of GType to request each returned GdaDataModel's column's GType, see gda_connection_statement_execute_select_full() for more information</doc>
+ <array zero-terminated="0" c:type="GType*">
+ <type name="GType" c:type="GType"/>
+ </array>
+ </parameter>
+ <parameter name="stop_on_error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">set to TRUE if the method has to stop on the first error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="rollback_savepoint"
+ c:identifier="gda_connection_rollback_savepoint"
+ throws="1">
+ <doc xml:whitespace="preserve">Rollback all the modifications made after the SAVEPOINT named @name.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">name of the savepoint to rollback to</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="rollback_transaction"
+ c:identifier="gda_connection_rollback_transaction"
+ throws="1">
+ <doc xml:whitespace="preserve">Rollbacks the given transaction. This means that all changes
+made to the underlying data source since the last call to
+#gda_connection_begin_transaction() or #gda_connection_commit_transaction()
+will be discarded.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the operation was successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the name of the transation to commit, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="statement_execute"
+ c:identifier="gda_connection_statement_execute"
+ throws="1">
+ <doc xml:whitespace="preserve">Executes @stmt.
+
+As @stmt can, by design (and if not abused), contain only one SQL statement, the
+return object will either be:
+<itemizedlist>
+<listitem><para>a #GdaDataSelect object (which is also a #GdaDataModel) if @stmt is a SELECT statement
+(usually a GDA_SQL_STATEMENT_SELECT, see #GdaSqlStatementType)
+containing the results of the SELECT. The resulting data model is by default read only, but
+modifications can be enabled, see the #GdaDataSelect's documentation for more information.</para></listitem>
+<listitem><para>a #GdaSet for any other SQL statement which correctly executed. In this case
+(if the provider supports it), then the #GdaSet may contain value holders named:
+<itemizedlist>
+<listitem><para>a (gint) #GdaHolder named "IMPACTED_ROWS"</para></listitem>
+<listitem><para>a (GObject) #GdaHolder named "EVENT" which contains a #GdaConnectionEvent</para></listitem>
+</itemizedlist></para></listitem>
+</itemizedlist>
+
+If @last_insert_row is not %NULL and @stmt is an INSERT statement, then it will contain (if the
+provider used by @cnc supports it) a new #GdaSet object composed of value holders named "+&lt;column number&gt;"
+starting at column 0 which contain the actual inserted values. For example if a table is composed of an 'id' column
+which is auto incremented and a 'name' column then the execution of a "INSERT INTO mytable (name) VALUES ('joe')"
+query will return a #GdaSet with two holders:
+<itemizedlist>
+<listitem><para>one with the '+0' ID which may for example contain 1 (note that its "name" property should be "id")</para></listitem>
+<listitem><para>one with the '+1' ID which will contain 'joe' (note that its "name" property should be "name")</para></listitem>
+</itemizedlist>
+
+This method may fail with a %GDA_SERVER_PROVIDER_ERROR domain error (see the #GdaServerProviderError error codes).
+
+Note1: If @stmt is a SELECT statement which has some parameters and if @params is %NULL, then the statement can't
+be executed and this method will return %NULL.
+
+Note2: If @stmt is a SELECT statement which has some parameters and if @params is not %NULL but contains some
+invalid parameters, then the statement can't be executed and this method will return %NULL, unless the
+ model_usage has the GDA_STATEMENT_MODEL_ALLOW_NOPARAM flag.
+
+Note3: If @stmt is a SELECT statement which has some parameters and if @params is not %NULL but contains some
+invalid parameters and if @model_usage has the GDA_STATEMENT_MODEL_ALLOW_NOPARAM flag, then the returned
+data model will contain no row but will have all the correct columns (even though some of the columns might
+report as GDA_TYPE_NULL). In this case, if (after this method call) any of @params' parameters change
+then the resulting data model will re-run itself, see the GdaDataSelect's
+<link linkend="GdaDataSelect--auto-reset">auto-reset</link> property for more information.
+
+Note4: if @model_usage does not contain the GDA_STATEMENT_MODEL_RANDOM_ACCESS or
+GDA_STATEMENT_MODEL_CURSOR_FORWARD flags, then the default will be to return a random access data model
+
+Note5: If @stmt is a SELECT statement which returns blob values (of type %GDA_TYPE_BLOB), then an implicit
+transaction will have been started by the database provider, and it's up to the caller to close the transaction
+(which will then be locked) once all the blob ressources have been
+liberated (when the returned data model is destroyed). See the section about
+<link linkend="gen:blobs">Binary large objects (BLOBs)</link> for more information.
+
+Also see the <link linkend="limitations">provider's limitations</link>, and the
+<link linkend="data-select">Advanced GdaDataSelect usage</link> sections.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GObject, or %NULL if an error occurred</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="model_usage" transfer-ownership="none">
+ <doc xml:whitespace="preserve">in the case where @stmt is a SELECT statement, specifies how the returned data model will be used</doc>
+ <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
+ </parameter>
+ <parameter name="last_insert_row"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a place to store a new #GdaSet object which contains the values of the last inserted row, or %NULL</doc>
+ <type name="Set" c:type="GdaSet**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="statement_execute_non_select"
+ c:identifier="gda_connection_statement_execute_non_select"
+ throws="1">
+ <doc xml:whitespace="preserve">Executes a non-selection statement on the given connection.
+
+This function returns the number of rows affected by the execution of @stmt, or -1
+if an error occurred, or -2 if the connection's provider does not return the number of rows affected.
+
+This function is just a convenience function around the gda_connection_statement_execute()
+function.
+See the documentation of the gda_connection_statement_execute() for information
+about the @params list of parameters.
+
+See gda_connection_statement_execute() form more information about @last_insert_row.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of rows affected (&gt;=0) or -1 or -2</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object.</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="last_insert_row"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a place to store a new #GdaSet object which contains the values of the last inserted row, or %NULL</doc>
+ <type name="Set" c:type="GdaSet**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="statement_execute_select"
+ c:identifier="gda_connection_statement_execute_select"
+ throws="1">
+ <doc xml:whitespace="preserve">Executes a selection command on the given connection.
+
+This function returns a #GdaDataModel resulting from the SELECT statement, or %NULL
+if an error occurred.
+
+This function is just a convenience function around the gda_connection_statement_execute()
+function.
+
+See the documentation of the gda_connection_statement_execute() for information
+about the @params list of parameters.
+
+data source, or %NULL if an error occurred</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaDataModel containing the data returned by the</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object.</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="statement_execute_select_full"
+ c:identifier="gda_connection_statement_execute_select_full"
+ throws="1">
+ <doc xml:whitespace="preserve">Executes a selection command on the given connection.
+
+This function returns a #GdaDataModel resulting from the SELECT statement, or %NULL
+if an error occurred.
+
+This function is just a convenience function around the gda_connection_statement_execute()
+function.
+
+See the documentation of the gda_connection_statement_execute() for information
+about the @params list of parameters.
+
+data source, or %NULL if an error occurred</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaDataModel containing the data returned by the</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object.</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="model_usage" transfer-ownership="none">
+ <doc xml:whitespace="preserve">specifies how the returned data model will be used as a #GdaStatementModelUsage enum</doc>
+ <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
+ </parameter>
+ <parameter name="col_types" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an array of GType to request each returned #GdaDataModel's column's GType, terminated with the G_TYPE_NONE value. Any value left to 0 will make the database provider determine the real GType. @col_types can also be %NULL if no column type is specified.</doc>
+ <array zero-terminated="0" c:type="GType*">
+ <type name="GType" c:type="GType"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="statement_execute_select_fullv"
+ c:identifier="gda_connection_statement_execute_select_fullv"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Executes a selection command on the given connection.
+
+This function returns a #GdaDataModel resulting from the SELECT statement, or %NULL
+if an error occurred.
+
+This function is just a convenience function around the gda_connection_statement_execute()
+function.
+
+See the documentation of the gda_connection_statement_execute() for information
+about the @params list of parameters.
+
+data source, or %NULL if an error occurred</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaDataModel containing the data returned by the</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object.</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="model_usage" transfer-ownership="none">
+ <doc xml:whitespace="preserve">specifies how the returned data model will be used as a #GdaStatementModelUsage enum</doc>
+ <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store an error, or %NULL</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="statement_prepare"
+ c:identifier="gda_connection_statement_prepare"
+ throws="1">
+ <doc xml:whitespace="preserve">Ask the database accessed through the @cnc connection to prepare the usage of @stmt. This is only useful
+if @stmt will be used more than once (however some database providers may always prepare statements
+before executing them).
+
+This function is also useful to make sure @stmt is fully understood by the database before actually executing it.
+
+Note however that it is also possible that gda_connection_statement_prepare() fails when
+gda_connection_statement_execute() does not fail (this will usually be the case with statements such as
+<![CDATA["SELECT * FROM ##tablename::string"]]> because database usually don't allow variables to be used in place of a
+table name).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="statement_to_sql"
+ c:identifier="gda_connection_statement_to_sql"
+ throws="1">
+ <doc xml:whitespace="preserve">Renders @stmt as an SQL statement, adapted to the SQL dialect used by @cnc</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">SQL rendering flags, as #GdaStatementSqlFlag OR'ed values</doc>
+ <type name="StatementSqlFlag" c:type="GdaStatementSqlFlag"/>
+ </parameter>
+ <parameter name="params_used"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="container"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a place to store the list of individual #GdaHolder objects within @params which have been used</doc>
+ <type name="GLib.SList" c:type="GSList**">
+ <type name="Holder"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="supports_feature"
+ c:identifier="gda_connection_supports_feature">
+ <doc xml:whitespace="preserve">Asks the underlying provider for if a specific feature is supported.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the provider supports it, %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:whitespace="preserve">feature to ask for.</doc>
+ <type name="ConnectionFeature" c:type="GdaConnectionFeature"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="update_meta_store"
+ c:identifier="gda_connection_update_meta_store"
+ throws="1">
+ <doc xml:whitespace="preserve">Updates @cnc's associated #GdaMetaStore. If @context is not %NULL, then only the parts described by
+ context will be updated, and if it is %NULL, then the complete meta store will be updated. Detailed
+explanations follow:
+
+In order to keep the meta store's contents in a consistent state, the update process involves updating
+the contents of all the tables related to one where the contents change. For example the "_columns"
+table (which lists all the columns of a table) depends on the "_tables" table (which lists all the tables
+in a schema), so if a row is added, removed or modified in the "_tables", then the "_columns" table's contents
+needs to be updated as well regarding that row.
+
+If @context is %NULL, then the update process will simply overwrite any data that was present in all the
+meta store's tables with new (up to date) data even if nothing has changed, without having to build the
+tables' dependency tree. This is the recommended way of proceeding when dealing with a meta store which
+might be outdated.
+
+On the other hand, if @context is not %NULL, then a tree of the dependencies has to be built (depending on
+ context) and only some parts of the meta store are updated following that dependencies tree. Specifying a
+context may be useful for example in the following situations:
+<itemizedlist>
+<listitem><para>One knows that a database object has changed (for example a table created), and
+may use the @context to request that only the information about that table be updated
+</para></listitem>
+<listitem><para>One is only interrested in the list of views, and may request that only the information
+about views may be updated</para></listitem>
+</itemizedlist>
+
+When @context is not %NULL, and contains specified SQL identifiers (for example the "table_name" of the "_tables"
+table), then each SQL identifier has to match the convention the #GdaMetaStore has adopted regarding
+case sensitivity, using gda_connection_quote_sql_identifier() or gda_meta_store_sql_identifier_quote().
+
+see the <link linkend="information_schema:sql_identifiers">
+meta data section about SQL identifiers</link> for more information, and the documentation about the
+gda_sql_identifier_quote() function which will be most useful.
+
+Note however that usually <emphasis>more</emphasis> information will be updated than strictly requested by
+the @context argument.
+
+For more information, see the <link linkend="information_schema">Database structure</link> section, and
+the <link linkend="howto-meta2">Update the meta data about a table</link> howto.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">description of which part of @cnc's associated #GdaMetaStore should be updated, or %NULL</doc>
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="update_row_in_table"
+ c:identifier="gda_connection_update_row_in_table"
+ version="4.2.3"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This is a convenience function, which creates an UPDATE statement and executes it using the values
+provided. It internally relies on variables which makes it immune to SQL injection problems.
+
+The equivalent SQL command is: UPDATE &lt;table&gt; SET &lt;column_name&gt; = &lt;new_value&gt; [,...] WHERE &lt;condition_column_name&gt; = &lt;condition_value&gt;.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the table's name with the row's values to be updated</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="condition_column_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the column to used in the WHERE condition clause</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="condition_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the @condition_column_type's GType</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="update_row_in_table_v"
+ c:identifier="gda_connection_update_row_in_table_v"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">@col_names and @values must have length (&gt;= 1).
+
+This is a convenience function, which creates an UPDATE statement and executes it using the values
+provided. It internally relies on variables which makes it immune to SQL injection problems.
+
+The equivalent SQL command is: UPDATE &lt;table&gt; SET &lt;column_name&gt; = &lt;new_value&gt; [,...] WHERE &lt;condition_column_name&gt; = &lt;condition_value&gt;.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the table's name with the row's values to be updated</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="condition_column_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the column to used in the WHERE condition clause</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="condition_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the @condition_column_type's GType</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="col_names" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of column names (as const gchar *)</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="utf8"/>
+ </type>
+ </parameter>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of values (as #GValue)</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="GObject.Value"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="value_to_sql_string"
+ c:identifier="gda_connection_value_to_sql_string">
+ <doc xml:whitespace="preserve">Produces a fully quoted and escaped string from a GValue</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">escaped and quoted value or NULL if not supported.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GValue to convert from</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="auth-string" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="cnc-string" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="dsn" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="events-history-size"
+ version="4.2"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Defines the number of #GdaConnectionEvent objects kept in memory which can
+be fetched using gda_connection_get_events().</doc>
+ <type name="gint"/>
+ </property>
+ <property name="execution-timer"
+ version="4.2.9"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Computes execution times for each statement executed.</doc>
+ <type name="gboolean"/>
+ </property>
+ <property name="is-wrapper"
+ version="4.2"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="meta-store" writable="1" transfer-ownership="none">
+ <type name="MetaStore"/>
+ </property>
+ <property name="monitor-wrapped-in-mainloop"
+ version="4.2"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Useful only when there is a mainloop and when the connection acts as a thread wrapper around another connection,
+it sets up a timeout to handle signals coming from the wrapped connection.
+
+If the connection is not a thread wrapper, then this property has no effect.</doc>
+ <type name="gboolean"/>
+ </property>
+ <property name="options"
+ introspectable="0"
+ writable="1"
+ transfer-ownership="none">
+ <type/>
+ </property>
+ <property name="provider" writable="1" transfer-ownership="none">
+ <type name="ServerProvider"/>
+ </property>
+ <property name="thread-owner" writable="1" transfer-ownership="none">
+ <type name="gpointer"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="ConnectionPrivate" c:type="GdaConnectionPrivate*"/>
+ </field>
+ <glib:signal name="conn-closed" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when the connection to the database has been closed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="conn-opened" when="first">
+ <doc xml:whitespace="preserve">Gets emitted when the connection has been opened to the database</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="conn-to-close" when="first">
+ <doc xml:whitespace="preserve">Gets emitted when the connection to the database is about to be closed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="dsn-changed" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when the DSN used by @cnc has been changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="error" when="last">
+ <doc xml:whitespace="preserve">Gets emitted whenever a connection event occurs. Check the nature of @event to
+see if it's an error or a simple notification</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnectionEvent object</doc>
+ <type name="ConnectionEvent"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="transaction-status-changed" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when the transaction status of @cnc has changed (a transaction has been
+started, rolled back, a savepoint added,...)</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ </class>
+ <record name="ConnectionClass"
+ c:type="GdaConnectionClass"
+ glib:is-gtype-struct-for="Connection">
+ <field name="object_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="error">
+ <callback name="error">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="conn_opened">
+ <callback name="conn_opened">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="conn_to_close">
+ <callback name="conn_to_close">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="conn_closed">
+ <callback name="conn_closed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="dsn_changed">
+ <callback name="dsn_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transaction_status_changed">
+ <callback name="transaction_status_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="ConnectionError" c:type="GdaConnectionError">
+ <member name="dsn_not_found_error"
+ value="0"
+ c:identifier="GDA_CONNECTION_DSN_NOT_FOUND_ERROR"/>
+ <member name="provider_not_found_error"
+ value="1"
+ c:identifier="GDA_CONNECTION_PROVIDER_NOT_FOUND_ERROR"/>
+ <member name="provider_error"
+ value="2"
+ c:identifier="GDA_CONNECTION_PROVIDER_ERROR"/>
+ <member name="no_cnc_spec_error"
+ value="3"
+ c:identifier="GDA_CONNECTION_NO_CNC_SPEC_ERROR"/>
+ <member name="no_provider_spec_error"
+ value="4"
+ c:identifier="GDA_CONNECTION_NO_PROVIDER_SPEC_ERROR"/>
+ <member name="open_error"
+ value="5"
+ c:identifier="GDA_CONNECTION_OPEN_ERROR"/>
+ <member name="statement_type_error"
+ value="6"
+ c:identifier="GDA_CONNECTION_STATEMENT_TYPE_ERROR"/>
+ <member name="cant_lock_error"
+ value="7"
+ c:identifier="GDA_CONNECTION_CANT_LOCK_ERROR"/>
+ <member name="task_not_found_error"
+ value="8"
+ c:identifier="GDA_CONNECTION_TASK_NOT_FOUND_ERROR"/>
+ <member name="unsupported_threads_error"
+ value="9"
+ c:identifier="GDA_CONNECTION_UNSUPPORTED_THREADS_ERROR"/>
+ <member name="closed_error"
+ value="10"
+ c:identifier="GDA_CONNECTION_CLOSED_ERROR"/>
+ <member name="meta_data_context_error"
+ value="11"
+ c:identifier="GDA_CONNECTION_META_DATA_CONTEXT_ERROR"/>
+ </enumeration>
+ <class name="ConnectionEvent"
+ c:symbol-prefix="connection_event"
+ c:type="GdaConnectionEvent"
+ parent="GObject.Object"
+ glib:type-name="GdaConnectionEvent"
+ glib:get-type="gda_connection_event_get_type"
+ glib:type-struct="ConnectionEventClass">
+ <method name="get_code" c:identifier="gda_connection_event_get_code">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@event's code (the code is specific to the provider being used)</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ </method>
+ <method name="get_description"
+ c:identifier="gda_connection_event_get_description">
+ <doc xml:whitespace="preserve">Get the description of the event. Note that is @event's type is GDA_CONNECTION_EVENT_COMMAND,
+the the description is the SQL of the command.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@event's description.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_event_type"
+ c:identifier="gda_connection_event_get_event_type">
+ <doc xml:whitespace="preserve">Get @event's severity (from a simple notice to a fatal event)</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the event type</doc>
+ <type name="ConnectionEventType" c:type="GdaConnectionEventType"/>
+ </return-value>
+ </method>
+ <method name="get_gda_code"
+ c:identifier="gda_connection_event_get_gda_code">
+ <doc xml:whitespace="preserve">Retrieve the code associated to @event.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaConnectionEventCode event's code</doc>
+ <type name="ConnectionEventCode" c:type="GdaConnectionEventCode"/>
+ </return-value>
+ </method>
+ <method name="get_source" c:identifier="gda_connection_event_get_source">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@event's source.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_sqlstate"
+ c:identifier="gda_connection_event_get_sqlstate">
+ <doc xml:whitespace="preserve">Get the SQLSTATE value of @event. Even though the SQLSTATE values are specified by ANSI SQL and ODBC,
+consult each DBMS for the possible values. However, the "00000" (success) value means that there is no error,
+and the "HY000" (general error) value means an error but no better error code available.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@event's SQL state.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="set_code" c:identifier="gda_connection_event_set_code">
+ <doc xml:whitespace="preserve">Sets @event's code: the code is specific to the provider being used.
+If you want to have a common understanding of the event codes, use
+gda_connection_event_get_gda_code() instead.
+
+This function should not be called directly</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a code.</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_description"
+ c:identifier="gda_connection_event_set_description">
+ <doc xml:whitespace="preserve">Sets @event's @description. This function should not be called directly.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a description.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_event_type"
+ c:identifier="gda_connection_event_set_event_type">
+ <doc xml:whitespace="preserve">Sets @event's severity (from a simple notice to a fatal event)
+This function should not be called directly.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the severity of the event</doc>
+ <type name="ConnectionEventType" c:type="GdaConnectionEventType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_gda_code"
+ c:identifier="gda_connection_event_set_gda_code">
+ <doc xml:whitespace="preserve">Sets @event's gda code: that code is standardized by the libgda
+library. If you want to specify the corresponding provider specific code,
+use gda_connection_event_get_code() or gda_connection_event_get_sqlstate() instead.
+
+This function should not be called directly</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a code</doc>
+ <type name="ConnectionEventCode" c:type="GdaConnectionEventCode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_source" c:identifier="gda_connection_event_set_source">
+ <doc xml:whitespace="preserve">Sets @event's @source; this function should not be called directly</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a source.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sqlstate"
+ c:identifier="gda_connection_event_set_sqlstate">
+ <doc xml:whitespace="preserve">Changes the SQLSTATE code of @event, this function should not be called directly
+
+Sets @event's SQL state.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sqlstate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">SQL state.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="type" writable="1" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="ConnectionEventPrivate"
+ c:type="GdaConnectionEventPrivate*"/>
+ </field>
+ </class>
+ <record name="ConnectionEventClass"
+ c:type="GdaConnectionEventClass"
+ glib:is-gtype-struct-for="ConnectionEvent">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="ConnectionEventCode" c:type="GdaConnectionEventCode">
+ <member name="constraint_violation"
+ value="0"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_CONSTRAINT_VIOLATION"/>
+ <member name="restrict_violation"
+ value="1"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_RESTRICT_VIOLATION"/>
+ <member name="not_null_violation"
+ value="2"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_NOT_NULL_VIOLATION"/>
+ <member name="foreign_key_violation"
+ value="3"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_FOREIGN_KEY_VIOLATION"/>
+ <member name="unique_violation"
+ value="4"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_UNIQUE_VIOLATION"/>
+ <member name="check_violation"
+ value="5"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_CHECK_VIOLATION"/>
+ <member name="insufficient_privileges"
+ value="6"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_INSUFFICIENT_PRIVILEGES"/>
+ <member name="undefined_column"
+ value="7"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_UNDEFINED_COLUMN"/>
+ <member name="undefined_function"
+ value="8"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_UNDEFINED_FUNCTION"/>
+ <member name="undefined_table"
+ value="9"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_UNDEFINED_TABLE"/>
+ <member name="duplicate_column"
+ value="10"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_DUPLICATE_COLUMN"/>
+ <member name="duplicate_database"
+ value="11"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_DUPLICATE_DATABASE"/>
+ <member name="duplicate_function"
+ value="12"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_DUPLICATE_FUNCTION"/>
+ <member name="duplicate_schema"
+ value="13"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_DUPLICATE_SCHEMA"/>
+ <member name="duplicate_table"
+ value="14"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_DUPLICATE_TABLE"/>
+ <member name="duplicate_alias"
+ value="15"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_DUPLICATE_ALIAS"/>
+ <member name="duplicate_object"
+ value="16"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_DUPLICATE_OBJECT"/>
+ <member name="syntax_error"
+ value="17"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_SYNTAX_ERROR"/>
+ <member name="unknown"
+ value="18"
+ c:identifier="GDA_CONNECTION_EVENT_CODE_UNKNOWN"/>
+ </enumeration>
+ <record name="ConnectionEventPrivate"
+ c:type="GdaConnectionEventPrivate"
+ disguised="1">
+ </record>
+ <enumeration name="ConnectionEventType" c:type="GdaConnectionEventType">
+ <member name="notice"
+ value="0"
+ c:identifier="GDA_CONNECTION_EVENT_NOTICE"/>
+ <member name="warning"
+ value="1"
+ c:identifier="GDA_CONNECTION_EVENT_WARNING"/>
+ <member name="error"
+ value="2"
+ c:identifier="GDA_CONNECTION_EVENT_ERROR"/>
+ <member name="command"
+ value="3"
+ c:identifier="GDA_CONNECTION_EVENT_COMMAND"/>
+ </enumeration>
+ <enumeration name="ConnectionFeature" c:type="GdaConnectionFeature">
+ <doc xml:whitespace="preserve">Used in gda_connection_supports_feature() and gda_server_provider_supports_feature() to test if a connection
+or a database provider supports some specific feature.</doc>
+ <member name="aggregates"
+ value="0"
+ c:identifier="GDA_CONNECTION_FEATURE_AGGREGATES"/>
+ <member name="blobs"
+ value="1"
+ c:identifier="GDA_CONNECTION_FEATURE_BLOBS"/>
+ <member name="indexes"
+ value="2"
+ c:identifier="GDA_CONNECTION_FEATURE_INDEXES"/>
+ <member name="inheritance"
+ value="3"
+ c:identifier="GDA_CONNECTION_FEATURE_INHERITANCE"/>
+ <member name="namespaces"
+ value="4"
+ c:identifier="GDA_CONNECTION_FEATURE_NAMESPACES"/>
+ <member name="procedures"
+ value="5"
+ c:identifier="GDA_CONNECTION_FEATURE_PROCEDURES"/>
+ <member name="sequences"
+ value="6"
+ c:identifier="GDA_CONNECTION_FEATURE_SEQUENCES"/>
+ <member name="sql" value="7" c:identifier="GDA_CONNECTION_FEATURE_SQL"/>
+ <member name="transactions"
+ value="8"
+ c:identifier="GDA_CONNECTION_FEATURE_TRANSACTIONS"/>
+ <member name="savepoints"
+ value="9"
+ c:identifier="GDA_CONNECTION_FEATURE_SAVEPOINTS"/>
+ <member name="savepoints_remove"
+ value="10"
+ c:identifier="GDA_CONNECTION_FEATURE_SAVEPOINTS_REMOVE"/>
+ <member name="triggers"
+ value="11"
+ c:identifier="GDA_CONNECTION_FEATURE_TRIGGERS"/>
+ <member name="updatable_cursor"
+ value="12"
+ c:identifier="GDA_CONNECTION_FEATURE_UPDATABLE_CURSOR"/>
+ <member name="users"
+ value="13"
+ c:identifier="GDA_CONNECTION_FEATURE_USERS"/>
+ <member name="views"
+ value="14"
+ c:identifier="GDA_CONNECTION_FEATURE_VIEWS"/>
+ <member name="xa_transactions"
+ value="15"
+ c:identifier="GDA_CONNECTION_FEATURE_XA_TRANSACTIONS"/>
+ <member name="multi_threading"
+ value="16"
+ c:identifier="GDA_CONNECTION_FEATURE_MULTI_THREADING"/>
+ <member name="last"
+ value="17"
+ c:identifier="GDA_CONNECTION_FEATURE_LAST"/>
+ </enumeration>
+ <enumeration name="ConnectionMetaType" c:type="GdaConnectionMetaType">
+ <doc xml:whitespace="preserve">Used with gda_connection_get_meta_store_data() to describe what meta data to extract from
+a connection's associated #GdaMetaStore.</doc>
+ <member name="namespaces"
+ value="0"
+ c:identifier="GDA_CONNECTION_META_NAMESPACES"/>
+ <member name="types" value="1" c:identifier="GDA_CONNECTION_META_TYPES"/>
+ <member name="tables"
+ value="2"
+ c:identifier="GDA_CONNECTION_META_TABLES"/>
+ <member name="views" value="3" c:identifier="GDA_CONNECTION_META_VIEWS"/>
+ <member name="fields"
+ value="4"
+ c:identifier="GDA_CONNECTION_META_FIELDS"/>
+ <member name="indexes"
+ value="5"
+ c:identifier="GDA_CONNECTION_META_INDEXES"/>
+ </enumeration>
+ <bitfield name="ConnectionOptions" c:type="GdaConnectionOptions">
+ <doc xml:whitespace="preserve">Specifies some aspects of a connection when opening it.
+
+Additional information about the GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE flag:
+<itemizedlist>
+<listitem><para>For example without this flag, if the table
+name specified in a #GdaServerOperation to create a table is
+<emphasis>MyTable</emphasis>, then usually the database will create a table named
+<emphasis>mytable</emphasis>, whereas with this flag, the table will be created
+as <emphasis>MyTable</emphasis> (note that in the end the database may still decide
+to name the table <emphasis>mytable</emphasis> or differently if it can't do
+otherwise).</para></listitem>
+<listitem><para>Libgda will not apply this rule when parsing SQL code, the SQL code being parsed
+has to be conform to the database it will be used with</para></listitem>
+</itemizedlist>
+
+Additional information about the GDA_CONNECTION_OPTIONS_THREAD_SAFE and GDA_CONNECTION_OPTIONS_THREAD_ISOLATED flags:
+The GDA_CONNECTION_OPTIONS_THREAD_SAFE flag specifies that it has to be able to use the returned connection object from
+several threads at once (locking is ensured by the #GdaConnection itself). Depending on the database provider's
+implementation and on the native libraries it uses, the "normal" connection object might not respect this requirement,
+and in this case a specific thread is started and used as the unique thread which will manipulate the actual connection,
+while a "wrapper connection" is actually returned and used by the caller (that wrapper connection passes method calls
+from the calling thread to the actual connection's specific thread, and gets the results back).
+
+The GDA_CONNECTION_OPTIONS_THREAD_ISOLATED forces using a specific thread and a "wrapper connection" even if the
+"normal" connection would itself be thread safe; this is useful for example to be sure the asynchronous API can
+always be used (see gda_connection_async_statement_execute()).
+
+Having a specific thread and a "wrapper connection" definitely has an impact on the performances (because it involves
+messages passing between threads for every method call), so using the
+GDA_CONNECTION_OPTIONS_THREAD_SAFE or GDA_CONNECTION_OPTIONS_THREAD_ISOLATED flags should be carefully considered.
+
+Note about the @GDA_CONNECTION_OPTIONS_AUTO_META_DATA flag:
+<itemizedlist>
+<listitem><para>Every time a DDL statement is successfully executed, the associated mate data, if
+<listitem><para>If a transaction is started and some DDL statements are executed and the transaction
+is not rolled back or committed, then the meta data may end up being wrong</para></listitem>
+</itemizedlist></doc>
+ <member name="none"
+ value="0"
+ c:identifier="GDA_CONNECTION_OPTIONS_NONE"/>
+ <member name="read_only"
+ value="1"
+ c:identifier="GDA_CONNECTION_OPTIONS_READ_ONLY"/>
+ <member name="sql_identifiers_case_sensitive"
+ value="2"
+ c:identifier="GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE"/>
+ <member name="thread_safe"
+ value="4"
+ c:identifier="GDA_CONNECTION_OPTIONS_THREAD_SAFE"/>
+ <member name="thread_isolated"
+ value="8"
+ c:identifier="GDA_CONNECTION_OPTIONS_THREAD_ISOLATED"/>
+ <member name="auto_meta_data"
+ value="16"
+ c:identifier="GDA_CONNECTION_OPTIONS_AUTO_META_DATA"/>
+ </bitfield>
+ <record name="ConnectionPrivate"
+ c:type="GdaConnectionPrivate"
+ disguised="1">
+ </record>
+ <class name="DataAccessWrapper"
+ c:symbol-prefix="data_access_wrapper"
+ c:type="GdaDataAccessWrapper"
+ parent="GObject.Object"
+ glib:type-name="GdaDataAccessWrapper"
+ glib:get-type="gda_data_access_wrapper_get_type"
+ glib:type-struct="DataAccessWrapperClass">
+ <implements name="DataModel"/>
+ <function name="new" c:identifier="gda_data_access_wrapper_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaDataModel object which buffers the rows of @model. This object is useful
+only if @model can only be accessed using cursor based method.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <property name="model"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="DataModel"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="DataAccessWrapperPrivate"
+ c:type="GdaDataAccessWrapperPrivate*"/>
+ </field>
+ </class>
+ <record name="DataAccessWrapperClass"
+ c:type="GdaDataAccessWrapperClass"
+ glib:is-gtype-struct-for="DataAccessWrapper">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="DataAccessWrapperPrivate"
+ c:type="GdaDataAccessWrapperPrivate"
+ disguised="1">
+ </record>
+ <class name="DataComparator"
+ c:symbol-prefix="data_comparator"
+ c:type="GdaDataComparator"
+ parent="GObject.Object"
+ glib:type-name="GdaDataComparator"
+ glib:get-type="gda_data_comparator_get_type"
+ glib:type-struct="DataComparatorClass">
+ <constructor name="new" c:identifier="gda_data_comparator_new">
+ <doc xml:whitespace="preserve">Creates a new comparator to compute the differences from @old_model to @new_model: if one applies
+all the computed differences (as #GdaDiff structures) to @old_model, the resulting data model
+should have the same contents as @new_model.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaDataComparator object</doc>
+ <type name="DataComparator" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_model" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Data model to which the modifications should be applied</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="new_model" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Target data model.</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="error_quark"
+ c:identifier="gda_data_comparator_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <virtual-method name="diff_computed">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="diff" transfer-ownership="none">
+ <type name="Diff" c:type="GdaDiff*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="compute_diff"
+ c:identifier="gda_data_comparator_compute_diff"
+ throws="1">
+ <doc xml:whitespace="preserve">Actually computes the differences between the data models for which @comp is defined.
+
+For each difference computed, stored in a #GdaDiff structure, the "diff-computed" signal is emitted.
+If one connects to this signal and returns FALSE in the signal handler, then computing differences will be
+stopped and an error will be returned.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if all the differences have been successfully computed, and FALSE if an error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_diff" c:identifier="gda_data_comparator_get_diff">
+ <doc xml:whitespace="preserve">Get a pointer to the #GdaDiff structure representing the difference which number is @pos</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a #GdaDiff, or %NULL if @pos is invalid</doc>
+ <type name="Diff" c:type="GdaDiff*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pos" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested difference number (starting at 0)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_n_diffs"
+ c:identifier="gda_data_comparator_get_n_diffs">
+ <doc xml:whitespace="preserve">Get the number of differences as computed by the last time gda_data_comparator_compute_diff() was called.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of computed differences</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="set_key_columns"
+ c:identifier="gda_data_comparator_set_key_columns">
+ <doc xml:whitespace="preserve">Defines the columns which will be used as a key when searching data. This is not mandatory but
+will speed things up as less data will be processed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="col_numbers" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array of @nb_cols values</doc>
+ <array length="1" zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="nb_cols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the @col_numbers array</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="new-model" writable="1" transfer-ownership="none">
+ <type name="DataModel"/>
+ </property>
+ <property name="old-model" writable="1" transfer-ownership="none">
+ <type name="DataModel"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="DataComparatorPrivate" c:type="GdaDataComparatorPrivate*"/>
+ </field>
+ <glib:signal name="diff-computed" when="last">
+ <return-value transfer-ownership="none">
+ <type name="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="DataComparatorClass"
+ c:type="GdaDataComparatorClass"
+ glib:is-gtype-struct-for="DataComparator">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="diff_computed">
+ <callback name="diff_computed">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="comp" transfer-ownership="none">
+ <type name="DataComparator" c:type="GdaDataComparator*"/>
+ </parameter>
+ <parameter name="diff" transfer-ownership="none">
+ <type name="Diff" c:type="GdaDiff*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="DataComparatorError" c:type="GdaDataComparatorError">
+ <member name="missing_data_model_error"
+ value="0"
+ c:identifier="GDA_DATA_COMPARATOR_MISSING_DATA_MODEL_ERROR"/>
+ <member name="column_types_mismatch_error"
+ value="1"
+ c:identifier="GDA_DATA_COMPARATOR_COLUMN_TYPES_MISMATCH_ERROR"/>
+ <member name="model_access_error"
+ value="2"
+ c:identifier="GDA_DATA_COMPARATOR_MODEL_ACCESS_ERROR"/>
+ <member name="user_cancelled_error"
+ value="3"
+ c:identifier="GDA_DATA_COMPARATOR_USER_CANCELLED_ERROR"/>
+ </enumeration>
+ <record name="DataComparatorPrivate"
+ c:type="GdaDataComparatorPrivate"
+ disguised="1">
+ </record>
+ <interface name="DataHandler"
+ c:symbol-prefix="data_handler"
+ c:type="GdaDataHandler"
+ glib:type-name="GdaDataHandler"
+ glib:get-type="gda_data_handler_get_type"
+ glib:type-struct="DataHandlerIface">
+ <function name="get_default"
+ c:identifier="gda_data_handler_get_default"
+ version="4.2.3">
+ <doc xml:whitespace="preserve">Obtain a pointer to a #GdaDataHandler which can manage #GValue values of type @for_type. The returned
+data handler will be adapted to use the current locale information (for example dates will be formatted
+taking into account the locale).
+
+The returned pointer is %NULL if there is no default data handler available for the @for_type data type</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataHandler which must not be modified or destroyed.</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="for_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType type</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="accepts_g_type" invoker="accepts_g_type">
+ <doc xml:whitespace="preserve">Checks wether the GdaDataHandler is able to handle the gda type given as argument.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the gda type can be handled</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_descr" invoker="get_descr">
+ <doc xml:whitespace="preserve">Get a short description of the GdaDataHandler</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the description</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="get_sane_init_value" invoker="get_sane_init_value">
+ <doc xml:whitespace="preserve">Creates a new GValue which holds a sane initial value to be used if no value is specifically
+provided. For example for a simple string, this would return a new value containing the "" string.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GValue, or %NULL if no such value can be created.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_sql_from_value" invoker="get_sql_from_value">
+ <doc xml:whitespace="preserve">Creates a new string which is an SQL representation of the given value, the returned string
+can be used directly in an SQL statement. For example if @value is a G_TYPE_STRING, then
+the returned string will be correctly quoted. Note however that it is a better practice
+to use variables in statements instead of value literals, see
+the <link linkend="GdaSqlParser.description">GdaSqlParser</link> for more information.
+
+If the value is NULL or is of type GDA_TYPE_NULL,
+or is a G_TYPE_STRING and g_value_get_string() returns %NULL, the returned string is "NULL".</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_str_from_value" invoker="get_str_from_value">
+ <doc xml:whitespace="preserve">Creates a new string which is a "user friendly" representation of the given value
+(in the user's locale, specially for the dates). If the value is
+NULL or is of type GDA_TYPE_NULL, the returned string is a copy of "" (empty string).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_value_from_sql" invoker="get_value_from_sql">
+ <doc xml:whitespace="preserve">Creates a new GValue which represents the SQL value given as argument. This is
+the opposite of the function gda_data_handler_get_sql_from_value(). The type argument
+is used to determine the real data type requested for the returned value.
+
+If the @sql string is %NULL, then the returned GValue is of type GDA_TYPE_NULL;
+if the @sql string does not correspond to a valid SQL string for the requested type, then
+the %NULL is returned.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sql" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an SQL string, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_value_from_str" invoker="get_value_from_str">
+ <doc xml:whitespace="preserve">Creates a new GValue which represents the @str value given as argument. This is
+the opposite of the function gda_data_handler_get_str_from_value(). The type argument
+is used to determine the real data type requested for the returned value.
+
+If the @str string is %NULL, then the returned GValue is of type GDA_TYPE_NULL;
+if the @str string does not correspond to a valid string for the requested type, then
+%NULL is returned.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a string or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="accepts_g_type"
+ c:identifier="gda_data_handler_accepts_g_type">
+ <doc xml:whitespace="preserve">Checks wether the GdaDataHandler is able to handle the gda type given as argument.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the gda type can be handled</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_descr" c:identifier="gda_data_handler_get_descr">
+ <doc xml:whitespace="preserve">Get a short description of the GdaDataHandler</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the description</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_sane_init_value"
+ c:identifier="gda_data_handler_get_sane_init_value">
+ <doc xml:whitespace="preserve">Creates a new GValue which holds a sane initial value to be used if no value is specifically
+provided. For example for a simple string, this would return a new value containing the "" string.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GValue, or %NULL if no such value can be created.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sql_from_value"
+ c:identifier="gda_data_handler_get_sql_from_value">
+ <doc xml:whitespace="preserve">Creates a new string which is an SQL representation of the given value, the returned string
+can be used directly in an SQL statement. For example if @value is a G_TYPE_STRING, then
+the returned string will be correctly quoted. Note however that it is a better practice
+to use variables in statements instead of value literals, see
+the <link linkend="GdaSqlParser.description">GdaSqlParser</link> for more information.
+
+If the value is NULL or is of type GDA_TYPE_NULL,
+or is a G_TYPE_STRING and g_value_get_string() returns %NULL, the returned string is "NULL".</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_str_from_value"
+ c:identifier="gda_data_handler_get_str_from_value">
+ <doc xml:whitespace="preserve">Creates a new string which is a "user friendly" representation of the given value
+(in the user's locale, specially for the dates). If the value is
+NULL or is of type GDA_TYPE_NULL, the returned string is a copy of "" (empty string).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_from_sql"
+ c:identifier="gda_data_handler_get_value_from_sql">
+ <doc xml:whitespace="preserve">Creates a new GValue which represents the SQL value given as argument. This is
+the opposite of the function gda_data_handler_get_sql_from_value(). The type argument
+is used to determine the real data type requested for the returned value.
+
+If the @sql string is %NULL, then the returned GValue is of type GDA_TYPE_NULL;
+if the @sql string does not correspond to a valid SQL string for the requested type, then
+the %NULL is returned.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sql" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an SQL string, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_from_str"
+ c:identifier="gda_data_handler_get_value_from_str">
+ <doc xml:whitespace="preserve">Creates a new GValue which represents the @str value given as argument. This is
+the opposite of the function gda_data_handler_get_str_from_value(). The type argument
+is used to determine the real data type requested for the returned value.
+
+If the @str string is %NULL, then the returned GValue is of type GDA_TYPE_NULL;
+if the @str string does not correspond to a valid string for the requested type, then
+%NULL is returned.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a string or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="DataHandlerIface"
+ c:type="GdaDataHandlerIface"
+ glib:is-gtype-struct-for="DataHandler">
+ <field name="g_iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="get_sql_from_value">
+ <callback name="get_sql_from_value">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none">
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_str_from_value">
+ <callback name="get_str_from_value">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none">
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the value to be converted to a string, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_value_from_sql">
+ <callback name="get_value_from_sql">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none">
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ <parameter name="sql" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an SQL string, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_value_from_str">
+ <callback name="get_value_from_str">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GValue or %NULL on error</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none">
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ <parameter name="str" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a string or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_sane_init_value">
+ <callback name="get_sane_init_value">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GValue, or %NULL if no such value can be created.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none">
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="accepts_g_type">
+ <callback name="accepts_g_type">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the gda type can be handled</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none">
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_descr">
+ <callback name="get_descr">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the description</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none">
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <record name="DataMetaWrapper" c:type="GdaDataMetaWrapper">
+ <field name="object" writable="1">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv" writable="1">
+ <type name="DataMetaWrapperPrivate"
+ c:type="GdaDataMetaWrapperPrivate*"/>
+ </field>
+ </record>
+ <record name="DataMetaWrapperClass" c:type="GdaDataMetaWrapperClass">
+ <field name="parent_class" writable="1">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="DataMetaWrapperMode" c:type="GdaDataMetaWrapperMode">
+ <member name="lc"
+ value="0"
+ c:identifier="GDA_DATA_META_WRAPPER_MODE_LC"/>
+ <member name="uc"
+ value="1"
+ c:identifier="GDA_DATA_META_WRAPPER_MODE_UC"/>
+ </enumeration>
+ <record name="DataMetaWrapperPrivate"
+ c:type="GdaDataMetaWrapperPrivate"
+ disguised="1">
+ </record>
+ <interface name="DataModel"
+ c:symbol-prefix="data_model"
+ c:type="GdaDataModel"
+ glib:type-name="GdaDataModel"
+ glib:get-type="gda_data_model_get_type"
+ glib:type-struct="DataModelIface">
+ <function name="error_quark" c:identifier="gda_data_model_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <virtual-method name="access_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="i_append_row" invoker="append_row" throws="1">
+ <doc xml:whitespace="preserve">Appends a row to the data model (the new row will possibly have NULL values for all columns,
+or some other values depending on the data model implementation)
+
+Upon errors -1 will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="i_append_values"
+ invoker="append_values"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Appends a row to the given data model. If any value in @values is actually %NULL, then
+it is considered as a default value. If @values is %NULL then all values are set to their default value.
+
+Upon errors -1 will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="values" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">#GList of #GValue* representing the row to add. The length must match model's column count. These #GValue are value-copied (the user is still responsible for freeing them).</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="GLib.Value"/>
+ </type>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_create_iter" invoker="create_iter">
+ <doc xml:whitespace="preserve">Creates a new iterator object #GdaDataModelIter object which can be used to iterate through
+rows in @model. The new #GdaDataModelIter does not hold any reference to @model (ie. if @model
+is destroyed at some point, the new iterator will become useless but in any case it will not prevent
+the data model from being destroyed).
+
+Depending on the data model's implementation, a new #GdaDataModelIter object may be created,
+or a reference to an already existing #GdaDataModelIter may be returned. For example if @model only
+supports being accessed using a forward moving cursor (say a the result of a SELECT executed by SQLite
+with a cursor access mode specified), then this method will always return the same iterator.
+
+If a new #GdaDataModelIter is created, then the row it represents is undefined.
+
+For models which can be accessed
+randomly, any row can be set using gda_data_model_iter_move_to_row(),
+and for models which are accessible sequentially only then use
+gda_data_model_iter_move_next() (and gda_data_model_iter_move_prev() if
+supported).
+
+Note: for the #GdaDataProxy data model (which proxies any #GdaDataModel for modifications and
+has twice the number of columns of the proxied data model), this method will create an iterator
+in which only the columns of the proxied data model appear. If you need to have a #GdaDataModelIter
+in which all the proxy's columns appear, create it using:
+<programlisting><![CDATA[iter = g_object_new (GDA_TYPE_DATA_MODEL_ITER, "data-model", proxy, NULL);]]></programlisting></doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object, or %NULL if an error occurred</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="i_describe_column" invoker="describe_column">
+ <doc xml:whitespace="preserve">Queries the underlying data model implementation for a description
+of a given column. That description is returned in the form of
+a #GdaColumn structure, which contains all the information
+about the given column in the data model.
+
+WARNING: the returned #GdaColumn object belongs to the @model model and
+and should not be destroyed; any modification will affect the whole data model.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the description of the column.</doc>
+ <type name="Column" c:type="GdaColumn*"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_find_row"
+ invoker="get_row_from_values"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Returns the first row where all the values in @values at the columns identified at
+ cols_index match. If the row can't be identified, then returns -1;
+
+NOTE: the @cols_index array MUST contain a column index for each value in @values</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested row number, of -1 if not found</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of #GValue values (no %NULL is allowed)</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="GLib.Value"/>
+ </type>
+ </parameter>
+ <parameter name="cols_index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array of #gint containing the column number to match each value of @values</doc>
+ <array zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_get_access_flags" invoker="get_access_flags">
+ <doc xml:whitespace="preserve">Get the attributes of @model such as how to access the data it contains if it's modifiable, etc.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">an ORed value of #GdaDataModelAccessFlags flags</doc>
+ <type name="DataModelAccessFlags" c:type="GdaDataModelAccessFlags"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="i_get_attributes_at" invoker="get_attributes_at">
+ <doc xml:whitespace="preserve">Get the attributes of the value stored at (row, col) in @model, which
+is an ORed value of #GdaValueAttribute flags. As a special case, if
+ row is -1, then the attributes returned correspond to a "would be" value
+if a row was added to @model.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the attributes as an ORed value of #GdaValueAttribute</doc>
+ <type name="ValueAttribute" c:type="GdaValueAttribute"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid column number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid row number, or -1</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_get_exceptions"
+ invoker="get_exceptions"
+ version="4.2.6">
+ <doc xml:whitespace="preserve">Get the global data model exception(s) that occurred when using @model.
+This is useful for example for the LDAP related
+data models where some rows may be missing because the LDAP search has reached a limit
+imposed by the LDAP server.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a %NULL terminated array of #GError, or %NULL.</doc>
+ <array c:type="GError**">
+ <type name="GLib.Error"/>
+ </array>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="i_get_n_columns" invoker="get_n_columns">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of columns in the given data model.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="i_get_n_rows" invoker="get_n_rows">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of rows in the given data model, or -1 if the number of rows is not known</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="i_get_notify" invoker="get_notify">
+ <doc xml:whitespace="preserve">Returns the status of notifications changes on the given data model.
+
+Note: This function must be implemented but is recommended to use #gda_data_model_thaw
+and #gda_data_model_freeze functions instead.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="i_get_value_at" invoker="get_value_at" throws="1">
+ <doc xml:whitespace="preserve">Retrieves the data stored in the given position (identified by
+the @col and @row parameters) on a data model.
+
+Upon errors %NULL will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.
+
+This is the main function for accessing data in a model which allows random access to its data.
+To access data in a data model using a cursor, use a #GdaDataModelIter object, obtained using
+gda_data_model_create_iter().
+
+Note1: the returned #GValue must not be modified directly (unexpected behaviours may
+occur if you do so).
+
+Note2: the returned value may become invalid as soon as any Libgda part is executed again,
+which means if you want to keep the value, a copy must be made, however it will remain valid
+as long as the only Libgda usage is calling gda_data_model_get_value_at() for different values
+of the same row.
+
+If you want to modify a value stored in a #GdaDataModel, use the gda_data_model_set_value_at() or
+gda_data_model_set_values() methods.
+
+Upon errors %NULL will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.
+
+position, or %NULL on error (out-of-bound position, etc).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue containing the value stored in the given</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_iter_at_row" invoker="iter_at_row">
+ <doc xml:whitespace="preserve">Moves @iter to the row number given by @row.
+
+Note: This function must be implemented but is recommended to use #GdaDataModelIter
+object directly.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a row to point to with @iter</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_iter_next" invoker="iter_next">
+ <doc xml:whitespace="preserve">Moves @iter to the next row in @model.
+
+Note: This function must be implemented but is recommended to use #GdaDataModelIter
+object directly.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_iter_prev" invoker="iter_prev">
+ <doc xml:whitespace="preserve">Moves @iter to the next row in @model.
+
+Note: This function must be implemented but is recommended to use #GdaDataModelIter
+object directly.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_iter_set_value"
+ invoker="iter_set_value"
+ throws="1">
+ <doc xml:whitespace="preserve">Set @value to the given @column and row pointed by @iter in the given @model.
+
+Note: This function must be implemented but is recommended to use #GdaDataModelIter
+object directly.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of column to set value to</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the to use to set on</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_remove_row" invoker="remove_row" throws="1">
+ <doc xml:whitespace="preserve">Removes a row from the data model.
+
+Upon errors FALSE will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the row number to be removed.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_send_hint" invoker="send_hint">
+ <doc xml:whitespace="preserve">Sends a hint to the data model. The hint may or may not be handled by the data
+model, depending on its implementation</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="hint" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a hint to send to the model</doc>
+ <type name="DataModelHint" c:type="GdaDataModelHint"/>
+ </parameter>
+ <parameter name="hint_value"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">an optional value to specify the hint, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_set_notify" invoker="set_notify">
+ <doc xml:whitespace="preserve">Enable or disable notifications changes on the given data model.
+
+Note: This function must be implemented but is recommended to use #gda_data_model_thaw
+and #gda_data_model_freeze functions instead.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="do_notify_changes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Set to TRUE if you require notifications.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_set_value_at" invoker="set_value_at" throws="1">
+ <doc xml:whitespace="preserve">Modifies a value in @model, at (@col, @row).
+
+Upon errors FALSE will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the value in the data model has been updated and no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue (not %NULL)</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="i_set_values"
+ invoker="set_values"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">In a similar way to gda_data_model_set_value_at(), this method modifies a data model's contents
+by setting several values at once.
+
+If any value in @values is actually %NULL, then the value in the corresponding column is left
+unchanged.
+Upon errors FALSE will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value in the data model has been updated and no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a list of #GValue (or %NULL), one for at most the number of columns of @model</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="GLib.Value"/>
+ </type>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="reset" invoker="reset">
+ <doc xml:whitespace="preserve">Emits the 'reset' and 'changed' signal on @model.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="row_inserted" invoker="row_inserted">
+ <doc xml:whitespace="preserve">Emits the 'row_inserted' and 'changed' signals on @model.
+
+This method should only be used by #GdaDataModel implementations to
+signal that a row has been inserted.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="row_removed" invoker="row_removed">
+ <doc xml:whitespace="preserve">Emits the 'row_removed' and 'changed' signal on @model.
+
+This method should only be used by #GdaDataModel implementations to
+signal that a row has been removed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="row_updated" invoker="row_updated">
+ <doc xml:whitespace="preserve">Emits the 'row_updated' and 'changed' signals on @model.
+
+This method should only be used by #GdaDataModel implementations to
+signal that a row has been updated.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_data_from_xml_node"
+ c:identifier="gda_data_model_add_data_from_xml_node"
+ throws="1">
+ <doc xml:whitespace="preserve">Adds the data from an XML node to the given data model (see the DTD for that node
+in the $prefix/share/libgda/dtd/libgda-array.dtd file).
+
+Upon errors FALSE will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an XML node representing a &lt;gda_array_data&gt; XML node.</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append_row"
+ c:identifier="gda_data_model_append_row"
+ throws="1">
+ <doc xml:whitespace="preserve">Appends a row to the data model (the new row will possibly have NULL values for all columns,
+or some other values depending on the data model implementation)
+
+Upon errors -1 will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="append_values"
+ c:identifier="gda_data_model_append_values"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Appends a row to the given data model. If any value in @values is actually %NULL, then
+it is considered as a default value. If @values is %NULL then all values are set to their default value.
+
+Upon errors -1 will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="values" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">#GList of #GValue* representing the row to add. The length must match model's column count. These #GValue are value-copied (the user is still responsible for freeing them).</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="GLib.Value"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="array_copy_model"
+ c:identifier="gda_data_model_array_copy_model"
+ throws="1">
+ <doc xml:whitespace="preserve">Makes a copy of @src into a new #GdaDataModelArray object</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new data model, or %NULL if an error occurred</doc>
+ <type name="DataModelArray" c:type="GdaDataModelArray*"/>
+ </return-value>
+ </method>
+ <method name="create_iter" c:identifier="gda_data_model_create_iter">
+ <doc xml:whitespace="preserve">Creates a new iterator object #GdaDataModelIter object which can be used to iterate through
+rows in @model. The new #GdaDataModelIter does not hold any reference to @model (ie. if @model
+is destroyed at some point, the new iterator will become useless but in any case it will not prevent
+the data model from being destroyed).
+
+Depending on the data model's implementation, a new #GdaDataModelIter object may be created,
+or a reference to an already existing #GdaDataModelIter may be returned. For example if @model only
+supports being accessed using a forward moving cursor (say a the result of a SELECT executed by SQLite
+with a cursor access mode specified), then this method will always return the same iterator.
+
+If a new #GdaDataModelIter is created, then the row it represents is undefined.
+
+For models which can be accessed
+randomly, any row can be set using gda_data_model_iter_move_to_row(),
+and for models which are accessible sequentially only then use
+gda_data_model_iter_move_next() (and gda_data_model_iter_move_prev() if
+supported).
+
+Note: for the #GdaDataProxy data model (which proxies any #GdaDataModel for modifications and
+has twice the number of columns of the proxied data model), this method will create an iterator
+in which only the columns of the proxied data model appear. If you need to have a #GdaDataModelIter
+in which all the proxy's columns appear, create it using:
+<programlisting><![CDATA[iter = g_object_new (GDA_TYPE_DATA_MODEL_ITER, "data-model", proxy, NULL);]]></programlisting></doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object, or %NULL if an error occurred</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </return-value>
+ </method>
+ <method name="describe_column"
+ c:identifier="gda_data_model_describe_column">
+ <doc xml:whitespace="preserve">Queries the underlying data model implementation for a description
+of a given column. That description is returned in the form of
+a #GdaColumn structure, which contains all the information
+about the given column in the data model.
+
+WARNING: the returned #GdaColumn object belongs to the @model model and
+and should not be destroyed; any modification will affect the whole data model.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the description of the column.</doc>
+ <type name="Column" c:type="GdaColumn*"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dump" c:identifier="gda_data_model_dump">
+ <doc xml:whitespace="preserve">Dumps a textual representation of the @model to the @to_stream stream
+
+The following environment variables can affect the resulting output:
+<itemizedlist>
+<listitem><para>GDA_DATA_MODEL_DUMP_ROW_NUMBERS: if set, the first column of the output will contain row numbers</para></listitem>
+<listitem><para>GDA_DATA_MODEL_DUMP_ATTRIBUTES: if set, also dump the data model's columns' types and value's attributes</para></listitem>
+<listitem><para>GDA_DATA_MODEL_DUMP_TITLE: if set, also dump the data model's title</para></listitem>
+<listitem><para>GDA_DATA_MODEL_NULL_AS_EMPTY: if set, replace the 'NULL' string with an empty string for NULL values </para></listitem>
+<listitem><para>GDA_DATA_MODEL_DUMP_TRUNCATE: if set to a numeric value, truncates the output to the width specified by the value. If the value is -1 then the actual terminal size (if it can be determined) is used</para></listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="to_stream" transfer-ownership="none">
+ <doc xml:whitespace="preserve">where to dump the data model</doc>
+ <type name="gpointer" c:type="FILE*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dump_as_string"
+ c:identifier="gda_data_model_dump_as_string">
+ <doc xml:whitespace="preserve">Dumps a textual representation of the @model into a new string
+
+The following environment variables can affect the resulting output:
+<itemizedlist>
+<listitem><para>GDA_DATA_MODEL_DUMP_ROW_NUMBERS: if set, the first column of the output will contain row numbers</para></listitem>
+<listitem><para>GDA_DATA_MODEL_DUMP_TITLE: if set, also dump the data model's title</para></listitem>
+<listitem><para>GDA_DATA_MODEL_NULL_AS_EMPTY: if set, replace the 'NULL' string with an empty string for NULL values </para></listitem>
+<listitem><para>GDA_DATA_MODEL_DUMP_TRUNCATE: if set to a numeric value, truncates the output to the width specified by the value. If the value is -1 then the actual terminal size (if it can be determined) is used</para></listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="export_to_file"
+ c:identifier="gda_data_model_export_to_file"
+ throws="1">
+ <doc xml:whitespace="preserve">Exports data contained in @model to the @file file; the format is specified using the @format argument.
+
+Specifically, the parameters in the @options list can be:
+<itemizedlist>
+<listitem><para>"SEPARATOR": a string value of which the first character is used as a separator in case of CSV export
+</para></listitem>
+<listitem><para>"QUOTE": a string value of which the first character is used as a quote character in case of CSV export
+</para></listitem>
+<listitem><para>"FIELD_QUOTE": a boolean value which can be set to FALSE if no quote around the individual fields
+is requeted, in case of CSV export</para></listitem>
+<listitem><para>"NAME": a string value used to name the exported data if the export format is XML</para></listitem>
+<listitem><para>"FIELDS_NAME": a boolean value which, if set to %TRUE and in case of a CSV export, will add a first line with the name each exported field</para></listitem>
+<listitem><para>"OVERWRITE": a boolean value which tells if the file must be over-written if it already exists.</para></listitem>
+<listitem><para>"NULL_AS_EMPTY": a boolean value which, if set to %TRUE and in case of a CSV export, will render and NULL value as the empty string (instead of the 'NULL' string)</para></listitem>
+<listitem><para>"INVALID_AS_NULL": a boolean value which, if set to %TRUE, considers any invalid data (for example for the date related values) as NULL</para></listitem>
+</itemizedlist>
+
+Warning: this function uses a #GdaDataModelIter iterator, and if @model does not offer a random access
+(check using gda_data_model_get_access_flags()), the iterator will be the same as normally used
+to access data in @model previously to calling this method, and this iterator will be moved (point to
+another row).
+
+Upon errors %FALSE will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format in which to export data</doc>
+ <type name="DataModelIOFormat" c:type="GdaDataModelIOFormat"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the filename to export to</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="cols" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an array containing which columns of @model will be exported, or %NULL for all columns</doc>
+ <array length="3" zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="nb_cols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of columns in @cols</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="rows" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an array containing which rows of @model will be exported, or %NULL for all rows</doc>
+ <array length="5" zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="nb_rows" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of rows in @rows</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">list of options for the export</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="export_to_string"
+ c:identifier="gda_data_model_export_to_string">
+ <doc xml:whitespace="preserve">Exports data contained in @model to a string; the format is specified using the @format argument, see the
+gda_data_model_export_to_file() documentation for more information about the @options argument (except for the
+"OVERWRITE" option).
+
+Warning: this function uses a #GdaDataModelIter iterator, and if @model does not offer a random access
+(check using gda_data_model_get_access_flags()), the iterator will be the same as normally used
+to access data in @model previously to calling this method, and this iterator will be moved (point to
+another row).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format in which to export data</doc>
+ <type name="DataModelIOFormat" c:type="GdaDataModelIOFormat"/>
+ </parameter>
+ <parameter name="cols" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an array containing which columns of @model will be exported, or %NULL for all columns</doc>
+ <array length="2" zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="nb_cols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of columns in @cols</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="rows" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an array containing which rows of @model will be exported, or %NULL for all rows</doc>
+ <array length="4" zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="nb_rows" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of rows in @rows</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">list of options for the export</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="freeze" c:identifier="gda_data_model_freeze">
+ <doc xml:whitespace="preserve">Disables notifications of changes on the given data model. To
+re-enable notifications again, you should call the
+#gda_data_model_thaw function.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_access_flags"
+ c:identifier="gda_data_model_get_access_flags">
+ <doc xml:whitespace="preserve">Get the attributes of @model such as how to access the data it contains if it's modifiable, etc.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">an ORed value of #GdaDataModelAccessFlags flags</doc>
+ <type name="DataModelAccessFlags" c:type="GdaDataModelAccessFlags"/>
+ </return-value>
+ </method>
+ <method name="get_attributes_at"
+ c:identifier="gda_data_model_get_attributes_at">
+ <doc xml:whitespace="preserve">Get the attributes of the value stored at (row, col) in @model, which
+is an ORed value of #GdaValueAttribute flags. As a special case, if
+ row is -1, then the attributes returned correspond to a "would be" value
+if a row was added to @model.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the attributes as an ORed value of #GdaValueAttribute</doc>
+ <type name="ValueAttribute" c:type="GdaValueAttribute"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid column number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid row number, or -1</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_column_index"
+ c:identifier="gda_data_model_get_column_index">
+ <doc xml:whitespace="preserve">Get the index of the first column named @name in @model.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the column index, or -1 if no column named @name was found</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a column name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_column_name"
+ c:identifier="gda_data_model_get_column_name"
+ version="3.2">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name for the given column in a data model object.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_column_title"
+ c:identifier="gda_data_model_get_column_title">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the title for the given column in a data model object.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_exceptions"
+ c:identifier="gda_data_model_get_exceptions"
+ version="4.2.6">
+ <doc xml:whitespace="preserve">Get the global data model exception(s) that occurred when using @model.
+This is useful for example for the LDAP related
+data models where some rows may be missing because the LDAP search has reached a limit
+imposed by the LDAP server.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a %NULL terminated array of #GError, or %NULL.</doc>
+ <array c:type="GError**">
+ <type name="GLib.Error"/>
+ </array>
+ </return-value>
+ </method>
+ <method name="get_n_columns" c:identifier="gda_data_model_get_n_columns">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of columns in the given data model.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_n_rows" c:identifier="gda_data_model_get_n_rows">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of rows in the given data model, or -1 if the number of rows is not known</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_notify" c:identifier="gda_data_model_get_notify">
+ <doc xml:whitespace="preserve">Returns the status of notifications changes on the given data model.
+
+Note: This function must be implemented but is recommended to use #gda_data_model_thaw
+and #gda_data_model_freeze functions instead.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_row_from_values"
+ c:identifier="gda_data_model_get_row_from_values"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Returns the first row where all the values in @values at the columns identified at
+ cols_index match. If the row can't be identified, then returns -1;
+
+NOTE: the @cols_index array MUST contain a column index for each value in @values</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested row number, of -1 if not found</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of #GValue values (no %NULL is allowed)</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="GLib.Value"/>
+ </type>
+ </parameter>
+ <parameter name="cols_index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array of #gint containing the column number to match each value of @values</doc>
+ <array zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_typed_value_at"
+ c:identifier="gda_data_model_get_typed_value_at"
+ throws="1">
+ <doc xml:whitespace="preserve">Upon errors %NULL will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.
+
+This method is similar to gda_data_model_get_value_at(), except that it also allows one to specify the expected
+#GType of the value to get: if the data model returned a #GValue of a type different than the expected one, then
+this method returns %NULL and an error code.
+
+Note: the same limitations and usage instructions apply as for gda_data_model_get_value_at().
+
+Upon errors %NULL will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.
+
+position, or %NULL on error (out-of-bound position, wrong data type, etc).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue containing the value stored in the given</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="expected_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the expected data type of the returned value</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="nullok" transfer-ownership="none">
+ <doc xml:whitespace="preserve">if TRUE, then NULL values (value of type %GDA_TYPE_NULL) will not generate any error</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_at"
+ c:identifier="gda_data_model_get_value_at"
+ throws="1">
+ <doc xml:whitespace="preserve">Retrieves the data stored in the given position (identified by
+the @col and @row parameters) on a data model.
+
+Upon errors %NULL will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.
+
+This is the main function for accessing data in a model which allows random access to its data.
+To access data in a data model using a cursor, use a #GdaDataModelIter object, obtained using
+gda_data_model_create_iter().
+
+Note1: the returned #GValue must not be modified directly (unexpected behaviours may
+occur if you do so).
+
+Note2: the returned value may become invalid as soon as any Libgda part is executed again,
+which means if you want to keep the value, a copy must be made, however it will remain valid
+as long as the only Libgda usage is calling gda_data_model_get_value_at() for different values
+of the same row.
+
+If you want to modify a value stored in a #GdaDataModel, use the gda_data_model_set_value_at() or
+gda_data_model_set_values() methods.
+
+Upon errors %NULL will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.
+
+position, or %NULL on error (out-of-bound position, etc).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue containing the value stored in the given</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="import_from_file"
+ c:identifier="gda_data_model_import_from_file"
+ throws="1">
+ <doc xml:whitespace="preserve">Imports data contained in the @file file into @model; the format is detected.
+
+Upon errors FALSE will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the filename to import from</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="cols_trans"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a #GHashTable for columns translating, or %NULL, see gda_data_model_import_from_model()</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="gint"/>
+ <type name="gint"/>
+ </type>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">list of options for the export</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="import_from_model"
+ c:identifier="gda_data_model_import_from_model"
+ throws="1">
+ <doc xml:whitespace="preserve">Copy the contents of the @from data model to the @to data model. The copy stops as soon as an error
+orrurs.
+
+The @cols_trans is a hash table for which keys are @to columns numbers and the values are
+the corresponding column numbers in the @from data model. To set the values of a column in @to to NULL,
+create an entry in the hash table with a negative value. For example:
+<programlisting><![CDATA[GHashTable *hash;
+gint *ptr;
+hash = g_hash_table_new_full (g_int_hash, g_int_equal, g_free, NULL);
+ptr = g_new (gint, 1);
+*ptr = 2;
+g_hash_table_insert (hash, ptr, GINT_TO_POINTER (3));
+gda_data_model_import_from_model (...);
+g_hash_table_free (hash);
+]]></programlisting>
+
+Upon errors FALSE will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source #GdaDataModel</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="overwrite" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @to is completely overwritten by @from's data, and FALSE if @from's data is appended to @to</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="cols_trans"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a #GHashTable for columns translating, or %NULL</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="gint"/>
+ <type name="gint"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="import_from_string"
+ c:identifier="gda_data_model_import_from_string"
+ throws="1">
+ <doc xml:whitespace="preserve">Loads the data from @string into @model.
+
+Upon errors FALSE will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the string to import data from</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="cols_trans"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a hash table containing which columns of @model will be imported, or %NULL for all columns, see gda_data_model_import_from_model()</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="gint"/>
+ <type name="gint"/>
+ </type>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">list of options for the export</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iter_at_row" c:identifier="gda_data_model_iter_at_row">
+ <doc xml:whitespace="preserve">Moves @iter to the row number given by @row.
+
+Note: This function must be implemented but is recommended to use #GdaDataModelIter
+object directly.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a row to point to with @iter</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iter_move_next_default"
+ c:identifier="gda_data_model_iter_move_next_default"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Method reserved to #GdaDataModelIter implementations, should not be called directly.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @iter was moved correctly.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter iterating in @model</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iter_move_prev_default"
+ c:identifier="gda_data_model_iter_move_prev_default"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Method reserved to #GdaDataModelIter implementations, should not be called directly.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @iter was moved correctly.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter iterating in @model</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iter_move_to_row_default"
+ c:identifier="gda_data_model_iter_move_to_row_default"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Method reserved to #GdaDataModelIter implementations, should not be called directly.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @iter was moved correctly.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter iterating in @model</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested row</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iter_next" c:identifier="gda_data_model_iter_next">
+ <doc xml:whitespace="preserve">Moves @iter to the next row in @model.
+
+Note: This function must be implemented but is recommended to use #GdaDataModelIter
+object directly.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iter_prev" c:identifier="gda_data_model_iter_prev">
+ <doc xml:whitespace="preserve">Moves @iter to the next row in @model.
+
+Note: This function must be implemented but is recommended to use #GdaDataModelIter
+object directly.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iter_set_value"
+ c:identifier="gda_data_model_iter_set_value"
+ throws="1">
+ <doc xml:whitespace="preserve">Set @value to the given @column and row pointed by @iter in the given @model.
+
+Note: This function must be implemented but is recommended to use #GdaDataModelIter
+object directly.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of column to set value to</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the to use to set on</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_row"
+ c:identifier="gda_data_model_remove_row"
+ throws="1">
+ <doc xml:whitespace="preserve">Removes a row from the data model.
+
+Upon errors FALSE will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the row number to be removed.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset" c:identifier="gda_data_model_reset">
+ <doc xml:whitespace="preserve">Emits the 'reset' and 'changed' signal on @model.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="row_inserted" c:identifier="gda_data_model_row_inserted">
+ <doc xml:whitespace="preserve">Emits the 'row_inserted' and 'changed' signals on @model.
+
+This method should only be used by #GdaDataModel implementations to
+signal that a row has been inserted.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="row_removed" c:identifier="gda_data_model_row_removed">
+ <doc xml:whitespace="preserve">Emits the 'row_removed' and 'changed' signal on @model.
+
+This method should only be used by #GdaDataModel implementations to
+signal that a row has been removed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="row_updated" c:identifier="gda_data_model_row_updated">
+ <doc xml:whitespace="preserve">Emits the 'row_updated' and 'changed' signals on @model.
+
+This method should only be used by #GdaDataModel implementations to
+signal that a row has been updated.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_hint" c:identifier="gda_data_model_send_hint">
+ <doc xml:whitespace="preserve">Sends a hint to the data model. The hint may or may not be handled by the data
+model, depending on its implementation</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="hint" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a hint to send to the model</doc>
+ <type name="DataModelHint" c:type="GdaDataModelHint"/>
+ </parameter>
+ <parameter name="hint_value"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">an optional value to specify the hint, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_column_name"
+ c:identifier="gda_data_model_set_column_name"
+ version="3.2">
+ <doc xml:whitespace="preserve">Sets the @name of the given @col in @model, and if its title is not set, also sets the
+title to @name.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">column number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name for the given column.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_column_title"
+ c:identifier="gda_data_model_set_column_title">
+ <doc xml:whitespace="preserve">Sets the @title of the given @col in @model.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">column number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="title" transfer-ownership="none">
+ <doc xml:whitespace="preserve">title for the given column.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_notify" c:identifier="gda_data_model_set_notify">
+ <doc xml:whitespace="preserve">Enable or disable notifications changes on the given data model.
+
+Note: This function must be implemented but is recommended to use #gda_data_model_thaw
+and #gda_data_model_freeze functions instead.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="do_notify_changes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Set to TRUE if you require notifications.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_value_at"
+ c:identifier="gda_data_model_set_value_at"
+ throws="1">
+ <doc xml:whitespace="preserve">Modifies a value in @model, at (@col, @row).
+
+Upon errors FALSE will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the value in the data model has been updated and no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue (not %NULL)</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_values"
+ c:identifier="gda_data_model_set_values"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">In a similar way to gda_data_model_set_value_at(), this method modifies a data model's contents
+by setting several values at once.
+
+If any value in @values is actually %NULL, then the value in the corresponding column is left
+unchanged.
+Upon errors FALSE will be returned and @error will be assigned a
+#GError from the #GDA_DATA_MODEL_ERROR domain.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value in the data model has been updated and no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a list of #GValue (or %NULL), one for at most the number of columns of @model</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="GLib.Value"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="thaw" c:identifier="gda_data_model_thaw">
+ <doc xml:whitespace="preserve">Re-enables notifications of changes on the given data model.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <glib:signal name="access-changed" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when @model's access flags have changed. Use
+gda_data_model_get_access_flags() to get the access flags.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="changed" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when any value in @model has been changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="reset" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when @model's contents has been completely reset (the number and
+type of columns may also have changed)</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="row-inserted" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when a row has been inserted in @model</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the row number</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="row-removed" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when a row has been removed from @model</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the row number</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="row-updated" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when a row has been modified in @model</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the row number</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <bitfield name="DataModelAccessFlags" c:type="GdaDataModelAccessFlags">
+ <member name="random"
+ value="1"
+ c:identifier="GDA_DATA_MODEL_ACCESS_RANDOM"/>
+ <member name="cursor_forward"
+ value="2"
+ c:identifier="GDA_DATA_MODEL_ACCESS_CURSOR_FORWARD"/>
+ <member name="cursor_backward"
+ value="4"
+ c:identifier="GDA_DATA_MODEL_ACCESS_CURSOR_BACKWARD"/>
+ <member name="cursor"
+ value="6"
+ c:identifier="GDA_DATA_MODEL_ACCESS_CURSOR"/>
+ <member name="insert"
+ value="8"
+ c:identifier="GDA_DATA_MODEL_ACCESS_INSERT"/>
+ <member name="update"
+ value="16"
+ c:identifier="GDA_DATA_MODEL_ACCESS_UPDATE"/>
+ <member name="delete"
+ value="32"
+ c:identifier="GDA_DATA_MODEL_ACCESS_DELETE"/>
+ <member name="write"
+ value="56"
+ c:identifier="GDA_DATA_MODEL_ACCESS_WRITE"/>
+ </bitfield>
+ <class name="DataModelArray"
+ c:symbol-prefix="data_model_array"
+ c:type="GdaDataModelArray"
+ parent="GObject.Object"
+ glib:type-name="GdaDataModelArray"
+ glib:get-type="gda_data_model_array_get_type"
+ glib:type-struct="DataModelArrayClass">
+ <implements name="DataModel"/>
+ <function name="new" c:identifier="gda_data_model_array_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaDataModel object without initializing the column
+types. Using gda_data_model_array_new_with_g_types() is usually better.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of columns for rows in this data model.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_with_g_types"
+ c:identifier="gda_data_model_array_new_with_g_types"
+ shadowed-by="new_with_g_types_v"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GdaDataModel object with the column types as
+specified.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of columns for rows in this data model.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_with_g_types_v"
+ c:identifier="gda_data_model_array_new_with_g_types_v"
+ shadows="new_with_g_types"
+ version="4.2.6">
+ <doc xml:whitespace="preserve">Creates a new #GdaDataModel object with the column types as
+specified.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of columns for rows in this data model.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="types" transfer-ownership="none">
+ <doc xml:whitespace="preserve">array of types of the columns of the model to create as #GType, as many as indicated by @cols</doc>
+ <array zero-terminated="0" c:type="GType*">
+ <type name="GType" c:type="GType"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="clear" c:identifier="gda_data_model_array_clear">
+ <doc xml:whitespace="preserve">Frees all the rows in @model.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_row"
+ c:identifier="gda_data_model_array_get_row"
+ throws="1">
+ <doc xml:whitespace="preserve">Get a pointer to a row in @model</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaRow, or %NULL if an error occurred</doc>
+ <type name="Row" c:type="GdaRow*"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number (starting from 0)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_n_columns"
+ c:identifier="gda_data_model_array_set_n_columns">
+ <doc xml:whitespace="preserve">Sets the number of columns for rows inserted in this model.
+ cols must be greated than or equal to 0.
+
+Also clears @model's contents.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="cols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of columns for rows this data model should use.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="n-columns" writable="1" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="read-only" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="DataModelArrayPrivate" c:type="GdaDataModelArrayPrivate*"/>
+ </field>
+ </class>
+ <record name="DataModelArrayClass"
+ c:type="GdaDataModelArrayClass"
+ glib:is-gtype-struct-for="DataModelArray">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="DataModelArrayPrivate"
+ c:type="GdaDataModelArrayPrivate"
+ disguised="1">
+ </record>
+ <class name="DataModelDir"
+ c:symbol-prefix="data_model_dir"
+ c:type="GdaDataModelDir"
+ parent="GObject.Object"
+ glib:type-name="GdaDataModelDir"
+ glib:get-type="gda_data_model_dir_get_type"
+ glib:type-struct="DataModelDirClass">
+ <implements name="DataModel"/>
+ <function name="new" c:identifier="gda_data_model_dir_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaDataModel object to list all the files starting from @basedir</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaDataModel</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="basedir" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a directory</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="clean_errors"
+ c:identifier="gda_data_model_dir_clean_errors">
+ <doc xml:whitespace="preserve">Reset the list of errors which have occurred while using @model</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_errors"
+ c:identifier="gda_data_model_dir_get_errors"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get the list of errors which have occurred while using @model</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a read-only list of #GError pointers, or %NULL if no error has occurred</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="GObject.Error"/>
+ </type>
+ </return-value>
+ </method>
+ <property name="basedir"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="DataModelDirPrivate" c:type="GdaDataModelDirPrivate*"/>
+ </field>
+ </class>
+ <record name="DataModelDirClass"
+ c:type="GdaDataModelDirClass"
+ glib:is-gtype-struct-for="DataModelDir">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="DataModelDirPrivate"
+ c:type="GdaDataModelDirPrivate"
+ disguised="1">
+ </record>
+ <class name="DataModelDsnList"
+ c:symbol-prefix="data_model_dsn_list"
+ c:type="GdaDataModelDsnList"
+ parent="GObject.Object"
+ glib:type-name="GdaDataModelDsnList"
+ glib:get-type="gda_data_model_dsn_list_get_type"
+ glib:type-struct="DataModelDsnListClass">
+ <implements name="DataModel"/>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="DataModelDsnListPrivate"
+ c:type="GdaDataModelDsnListPrivate*"/>
+ </field>
+ </class>
+ <record name="DataModelDsnListClass"
+ c:type="GdaDataModelDsnListClass"
+ glib:is-gtype-struct-for="DataModelDsnList">
+ <field name="object_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="DataModelDsnListPrivate"
+ c:type="GdaDataModelDsnListPrivate"
+ disguised="1">
+ </record>
+ <enumeration name="DataModelError"
+ c:type="GdaDataModelError"
+ glib:error-domain="gda_data_model_error">
+ <member name="row_out_of_range_error"
+ value="0"
+ c:identifier="GDA_DATA_MODEL_ROW_OUT_OF_RANGE_ERROR"/>
+ <member name="column_out_of_range_error"
+ value="1"
+ c:identifier="GDA_DATA_MODEL_COLUMN_OUT_OF_RANGE_ERROR"/>
+ <member name="values_list_error"
+ value="2"
+ c:identifier="GDA_DATA_MODEL_VALUES_LIST_ERROR"/>
+ <member name="value_type_error"
+ value="3"
+ c:identifier="GDA_DATA_MODEL_VALUE_TYPE_ERROR"/>
+ <member name="row_not_found_error"
+ value="4"
+ c:identifier="GDA_DATA_MODEL_ROW_NOT_FOUND_ERROR"/>
+ <member name="access_error"
+ value="5"
+ c:identifier="GDA_DATA_MODEL_ACCESS_ERROR"/>
+ <member name="feature_non_supported_error"
+ value="6"
+ c:identifier="GDA_DATA_MODEL_FEATURE_NON_SUPPORTED_ERROR"/>
+ <member name="file_exist_error"
+ value="7"
+ c:identifier="GDA_DATA_MODEL_FILE_EXIST_ERROR"/>
+ <member name="xml_format_error"
+ value="8"
+ c:identifier="GDA_DATA_MODEL_XML_FORMAT_ERROR"/>
+ <member name="truncated_error"
+ value="9"
+ c:identifier="GDA_DATA_MODEL_TRUNCATED_ERROR"/>
+ <member name="other_error"
+ value="10"
+ c:identifier="GDA_DATA_MODEL_OTHER_ERROR"/>
+ </enumeration>
+ <enumeration name="DataModelHint" c:type="GdaDataModelHint">
+ <member name="start_batch_update"
+ value="0"
+ c:identifier="GDA_DATA_MODEL_HINT_START_BATCH_UPDATE"/>
+ <member name="end_batch_update"
+ value="1"
+ c:identifier="GDA_DATA_MODEL_HINT_END_BATCH_UPDATE"/>
+ <member name="refresh"
+ value="2"
+ c:identifier="GDA_DATA_MODEL_HINT_REFRESH"/>
+ </enumeration>
+ <enumeration name="DataModelIOFormat" c:type="GdaDataModelIOFormat">
+ <member name="data_array_xml"
+ value="0"
+ c:identifier="GDA_DATA_MODEL_IO_DATA_ARRAY_XML"/>
+ <member name="text_separated"
+ value="1"
+ c:identifier="GDA_DATA_MODEL_IO_TEXT_SEPARATED"/>
+ </enumeration>
+ <record name="DataModelIface"
+ c:type="GdaDataModelIface"
+ glib:is-gtype-struct-for="DataModel">
+ <field name="g_iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="i_get_n_rows">
+ <callback name="i_get_n_rows">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of rows in the given data model, or -1 if the number of rows is not known</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_get_n_columns">
+ <callback name="i_get_n_columns">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of columns in the given data model.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_describe_column">
+ <callback name="i_describe_column">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the description of the column.</doc>
+ <type name="Column" c:type="GdaColumn*"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_get_access_flags">
+ <callback name="i_get_access_flags">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">an ORed value of #GdaDataModelAccessFlags flags</doc>
+ <type name="DataModelAccessFlags"
+ c:type="GdaDataModelAccessFlags"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_get_value_at">
+ <callback name="i_get_value_at" throws="1">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue containing the value stored in the given</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_get_attributes_at">
+ <callback name="i_get_attributes_at">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the attributes as an ORed value of #GdaValueAttribute</doc>
+ <type name="ValueAttribute" c:type="GdaValueAttribute"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid column number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid row number, or -1</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_create_iter">
+ <callback name="i_create_iter">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object, or %NULL if an error occurred</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_iter_at_row">
+ <callback name="i_iter_at_row">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a row to point to with @iter</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_iter_next">
+ <callback name="i_iter_next">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_iter_prev">
+ <callback name="i_iter_prev">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_set_value_at">
+ <callback name="i_set_value_at" throws="1">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the value in the data model has been updated and no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">column number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue (not %NULL)</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_iter_set_value">
+ <callback name="i_iter_set_value" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="iter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModelIter object.</doc>
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of column to set value to</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the to use to set on</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_set_values" introspectable="0">
+ <callback name="i_set_values" introspectable="0" throws="1">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value in the data model has been updated and no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a list of #GValue (or %NULL), one for at most the number of columns of @model</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="GLib.Value"/>
+ </type>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_append_values" introspectable="0">
+ <callback name="i_append_values" introspectable="0" throws="1">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">#GList of #GValue* representing the row to add. The length must match model's column count. These #GValue are value-copied (the user is still responsible for freeing them).</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="GLib.Value"/>
+ </type>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_append_row">
+ <callback name="i_append_row" throws="1">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of the added row, or -1 if an error occurred</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_remove_row">
+ <callback name="i_remove_row" throws="1">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the row number to be removed.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_find_row" introspectable="0">
+ <callback name="i_find_row" introspectable="0">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested row number, of -1 if not found</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of #GValue values (no %NULL is allowed)</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="GLib.Value"/>
+ </type>
+ </parameter>
+ <parameter name="cols_index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array of #gint containing the column number to match each value of @values</doc>
+ <array zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_set_notify">
+ <callback name="i_set_notify">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="do_notify_changes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Set to TRUE if you require notifications.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_get_notify">
+ <callback name="i_get_notify">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_send_hint">
+ <callback name="i_send_hint">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="hint" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a hint to send to the model</doc>
+ <type name="DataModelHint" c:type="GdaDataModelHint"/>
+ </parameter>
+ <parameter name="hint_value"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">an optional value to specify the hint, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="row_inserted">
+ <callback name="row_inserted">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="row_updated">
+ <callback name="row_updated">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="row_removed">
+ <callback name="row_removed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">row number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="changed">
+ <callback name="changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reset">
+ <callback name="reset">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="access_changed">
+ <callback name="access_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_get_exceptions">
+ <callback name="i_get_exceptions">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a %NULL terminated array of #GError, or %NULL.</doc>
+ <array c:type="GError**">
+ <type name="GLib.Error"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <class name="DataModelImport"
+ c:symbol-prefix="data_model_import"
+ c:type="GdaDataModelImport"
+ parent="GObject.Object"
+ glib:type-name="GdaDataModelImport"
+ glib:get-type="gda_data_model_import_get_type"
+ glib:type-struct="DataModelImportClass">
+ <implements name="DataModel"/>
+ <function name="new_file" c:identifier="gda_data_model_import_new_file">
+ <doc xml:whitespace="preserve">Creates a new #GdaDataModel object which contains the data stored within the @filename file.
+
+The options are the following ones:
+<itemizedlist>
+<listitem><para>For the CSV format:
+<itemizedlist>
+<listitem><para>ENCODING (string): specifies the encoding of the data in the file</para></listitem>
+<listitem><para>SEPARATOR (string): specifies the CSV separator (comma as default)</para></listitem>
+<listitem><para>QUOTE (string): specifies the character used to as quote park (double quote as default)</para></listitem>
+<listitem><para>TITLE_AS_FIRST_LINE (boolean): consider that the first line of the file contains columns' titles</para></listitem>
+<listitem><para>G_TYPE_&lt;column number&gt; (GType): specifies the type of value expected in column &lt;column number&gt;</para></listitem>
+</itemizedlist>
+</para></listitem>
+<listitem><para>Other formats: no option</para></listitem>
+</itemizedlist>
+
+Note: after the creation, please use gda_data_model_import_get_errors() to check any error.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the file to import data from</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="random_access" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if random access will be required</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">importing options</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_mem" c:identifier="gda_data_model_import_new_mem">
+ <doc xml:whitespace="preserve">Creates a new #GdaDataModel object which contains the data stored in the @data string.
+
+Important note: the @data string is not copied for memory efficiency reasons and should not
+therefore be altered in any way as long as the returned data model exists.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string containing the data to import</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="random_access" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if random access will be required</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">importing options, see gda_data_model_import_new_file() for more information</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_xml_node"
+ c:identifier="gda_data_model_import_new_xml_node">
+ <doc xml:whitespace="preserve">Creates a new #GdaDataModel and loads the data in @node. The resulting data model
+can be accessed in a random way.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an XML node corresponding to a &lt;data-array&gt; tag</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="clean_errors"
+ c:identifier="gda_data_model_import_clean_errors">
+ <doc xml:whitespace="preserve">Clears the history of errors @model has to report</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_errors"
+ c:identifier="gda_data_model_import_get_errors"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get the list of errors which @model has to report. The returned list is a list of
+#GError structures, and must not be modified</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the list of errors (which must not be modified), or %NULL</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="GObject.Error"/>
+ </type>
+ </return-value>
+ </method>
+ <property name="data-string"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Data to import, as a string.</doc>
+ <type name="utf8"/>
+ </property>
+ <property name="filename"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Name of the file to import.</doc>
+ <type name="utf8"/>
+ </property>
+ <property name="options"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Data model options.</doc>
+ <type name="Set"/>
+ </property>
+ <property name="random-access"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Defines if the data model will be accessed randomly or through a cursor. If set to %FALSE,
+access will have to be done using a cursor.</doc>
+ <type name="gboolean"/>
+ </property>
+ <property name="strict"
+ version="4.2.1"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Defines the behaviour in case the imported data contains recoverable errors (usually too
+many or too few data per row). If set to %TRUE, an error will be reported and the import
+will stop, and if set to %FALSE, then the error will be reported but the import will not stop.</doc>
+ <type name="gboolean"/>
+ </property>
+ <property name="xml-node"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Data to import, as a pointer to an XML node (a #xmlNodePtr).</doc>
+ <type name="gpointer"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="DataModelImportPrivate"
+ c:type="GdaDataModelImportPrivate*"/>
+ </field>
+ </class>
+ <record name="DataModelImportClass"
+ c:type="GdaDataModelImportClass"
+ glib:is-gtype-struct-for="DataModelImport">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="DataModelImportPrivate"
+ c:type="GdaDataModelImportPrivate"
+ disguised="1">
+ </record>
+ <class name="DataModelIter"
+ c:symbol-prefix="data_model_iter"
+ c:type="GdaDataModelIter"
+ parent="Set"
+ glib:type-name="GdaDataModelIter"
+ glib:get-type="gda_data_model_iter_get_type"
+ glib:type-struct="DataModelIterClass">
+ <function name="error_quark"
+ c:identifier="gda_data_model_iter_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <virtual-method name="end_of_data">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="row_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_holder_for_field"
+ c:identifier="gda_data_model_iter_get_holder_for_field">
+ <doc xml:whitespace="preserve">Fetch a pointer to the #GdaHolder object which is synchronized with data at
+column @col</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaHolder, or %NULL if an error occurred</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested column</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_row" c:identifier="gda_data_model_iter_get_row">
+ <doc xml:whitespace="preserve">Get the row which @iter represents in the data model</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the row number, or -1 if @iter is invalid</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_value_at"
+ c:identifier="gda_data_model_iter_get_value_at">
+ <doc xml:whitespace="preserve">Get the value stored at the column @col in @iter. The returned value must not be modified.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GValue, or %NULL if the value could not be fetched</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested column</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_at_e"
+ c:identifier="gda_data_model_iter_get_value_at_e"
+ version="4.2.10"
+ throws="1">
+ <doc xml:whitespace="preserve">Get the value stored at the column @col in @iter. The returned value must not be modified.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GValue, or %NULL if the value could not be fetched</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested column</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_for_field"
+ c:identifier="gda_data_model_iter_get_value_for_field">
+ <doc xml:whitespace="preserve">Get the value stored at the column @field_name in @iter</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GValue, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested column name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="invalidate_contents"
+ c:identifier="gda_data_model_iter_invalidate_contents">
+ <doc xml:whitespace="preserve">Declare all the parameters in @iter invalid, without modifying the
+#GdaDataModel @iter is for or changing the row it represents. This method
+is for internal usage. Note that for gda_data_model_iter_is_valid() to return %FALSE,
+it is also necessary to set the "current-row" property to -1.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="is_valid" c:identifier="gda_data_model_iter_is_valid">
+ <doc xml:whitespace="preserve">Tells if @iter is a valid iterator (if it actually corresponds to a valid row in the model)</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @iter is valid</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="move_next" c:identifier="gda_data_model_iter_move_next">
+ <doc xml:whitespace="preserve">Moves @iter one row further than where it already is
+(synchronizes the values of the parameters in @iter with the values at the new row).
+
+If the iterator was on the data model's last row, then it can't be moved forward
+anymore, and the returned value is %FALSE; note also that the "current-row" property
+is set to -1 (which means that gda_data_model_iter_is_valid() would return %FALSE)
+
+This function can return %FALSE if it was not allowed to be moved (as it emits the
+"validate-set" signal before being moved).
+
+When this function returns %TRUE, then @iter has actually been moved to the next row,
+but some values may not have been read correctly in the row, in which case the
+correcsponding #GdaHolder will be left invalid.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the iterator is now at the next row</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="move_prev" c:identifier="gda_data_model_iter_move_prev">
+ <doc xml:whitespace="preserve">Moves @iter one row before where it already is (synchronizes the values of the parameters in @iter
+with the values at the new row).
+
+If the iterator was on the data model's first row, then it can't be moved backwards
+anymore, and the returned value is %FALSE; note also that the "current-row" property
+is set to -1 (which means that gda_data_model_iter_is_valid() would return %FALSE).
+
+This function can return %FALSE if it was not allowed to be moved (as it emits the
+"validate-set" signal before being moved).
+
+When this function returns %TRUE, then @iter has actually been moved to the next row,
+but some values may not have been read correctly in the row, in which case the
+correcsponding #GdaHolder will be left invalid.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the iterator is now at the previous row</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="move_to_row"
+ c:identifier="gda_data_model_iter_move_to_row">
+ <doc xml:whitespace="preserve">Synchronizes the values of the parameters in @iter with the values at the @row row.
+
+If @row is not a valid row, then the returned value is %FALSE, and the "current-row"
+property is set to -1 (which means that gda_data_model_iter_is_valid() would return %FALSE),
+with the exception that if @row is -1, then the returned value is %TRUE.
+
+This function can return %FALSE if it was not allowed to be moved (as it emits the
+"validate-set" signal before being moved).
+
+When this function returns %TRUE, then @iter has actually been moved to the next row,
+but some values may not have been read correctly in the row, in which case the
+correcsponding #GdaHolder will be left invalid.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the row to set @iter to</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_value_at"
+ c:identifier="gda_data_model_iter_set_value_at"
+ throws="1">
+ <doc xml:whitespace="preserve">Sets a value in @iter, at the column specified by @col</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the column number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue (not %NULL)</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="current-row" writable="1" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="data-model"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="DataModel"/>
+ </property>
+ <property name="forced-model" writable="1" transfer-ownership="none">
+ <type name="DataModel"/>
+ </property>
+ <property name="update-model" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <field name="object">
+ <type name="Set" c:type="GdaSet"/>
+ </field>
+ <field name="priv">
+ <type name="DataModelIterPrivate" c:type="GdaDataModelIterPrivate*"/>
+ </field>
+ <glib:signal name="end-of-data" when="first">
+ <doc xml:whitespace="preserve">Gets emitted when @iter has reached the end of available data (which means the previous
+row it was on was the last one).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="row-changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted when the row @iter is currently pointing has changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new iter's row</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="DataModelIterClass"
+ c:type="GdaDataModelIterClass"
+ glib:is-gtype-struct-for="DataModelIter">
+ <field name="parent_class">
+ <type name="SetClass" c:type="GdaSetClass"/>
+ </field>
+ <field name="row_changed">
+ <callback name="row_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="end_of_data">
+ <callback name="end_of_data">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="iter" transfer-ownership="none">
+ <type name="DataModelIter" c:type="GdaDataModelIter*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="DataModelIterError" c:type="GdaDataModelIterError">
+ <member name="data_model_iter_column_out_of_range_error"
+ value="0"
+ c:identifier="GDA_DATA_MODEL_ITER_COLUMN_OUT_OF_RANGE_ERROR"/>
+ </enumeration>
+ <record name="DataModelIterPrivate"
+ c:type="GdaDataModelIterPrivate"
+ disguised="1">
+ </record>
+ <class name="DataPivot"
+ c:symbol-prefix="data_pivot"
+ c:type="GdaDataPivot"
+ parent="GObject.Object"
+ glib:type-name="GdaDataPivot"
+ glib:get-type="gda_data_pivot_get_type"
+ glib:type-struct="DataPivotClass">
+ <implements name="DataModel"/>
+ <function name="error_quark" c:identifier="gda_data_pivot_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="new" c:identifier="gda_data_pivot_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaDataModel which will contain analysed data from @model.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly created #GdaDataModel.</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaDataModel to analyse data from, or %NULL</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="add_data"
+ c:identifier="gda_data_pivot_add_data"
+ version="5.0"
+ throws="1">
+ <doc xml:whitespace="preserve">Specifies that @field has to be included in the analysis.
+ field is a field specification with the following accepted syntaxes:
+<itemizedlist>
+<listitem><para>a column name in the source data model (see <link linkend="gda-data-model-get-column-index">gda_data_model_get_column_index()</link>); or</para></listitem>
+<listitem><para>an SQL expression involving a column name in the source data model, for examples:
+<programlisting>
+price
+firstname || ' ' || lastname
+nb BETWEEN 5 AND 10</programlisting>
+</para></listitem>
+</itemizedlist>
+
+It is also possible to specify several fields to be added, while separating them by a comma (in effect
+still forming a valid SQL syntax).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregate_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of aggregate operation to perform</doc>
+ <type name="DataPivotAggregate" c:type="GdaDataPivotAggregate"/>
+ </parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the field description, see below</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="alias" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the field alias, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_field"
+ c:identifier="gda_data_pivot_add_field"
+ version="5.0"
+ throws="1">
+ <doc xml:whitespace="preserve">Specifies that @field has to be included in the analysis.
+ field is a field specification with the following accepted syntaxes:
+<itemizedlist>
+<listitem><para>a column name in the source data model (see <link linkend="gda-data-model-get-column-index">gda_data_model_get_column_index()</link>); or</para></listitem>
+<listitem><para>an SQL expression involving a column name in the source data model, for example:
+<programlisting>
+price
+firstname || ' ' || lastname
+nb BETWEEN 5 AND 10</programlisting>
+</para></listitem>
+</itemizedlist>
+
+It is also possible to specify several fields to be added, while separating them by a comma (in effect
+still forming a valid SQL syntax).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of field to add</doc>
+ <type name="DataPivotFieldType" c:type="GdaDataPivotFieldType"/>
+ </parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the field description, see below</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="alias" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the field alias, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="populate"
+ c:identifier="gda_data_pivot_populate"
+ version="5.0"
+ throws="1">
+ <doc xml:whitespace="preserve">Acutally populates @pivot by analysing the data from the provided data model.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <property name="model" writable="1" transfer-ownership="none">
+ <type name="DataModel"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="DataPivotPrivate" c:type="GdaDataPivotPrivate*"/>
+ </field>
+ </class>
+ <enumeration name="DataPivotAggregate" c:type="GdaDataPivotAggregate">
+ <doc xml:whitespace="preserve">Possible operations for the data fields.</doc>
+ <member name="avg" value="0" c:identifier="GDA_DATA_PIVOT_AVG"/>
+ <member name="count" value="1" c:identifier="GDA_DATA_PIVOT_COUNT"/>
+ <member name="max" value="2" c:identifier="GDA_DATA_PIVOT_MAX"/>
+ <member name="min" value="3" c:identifier="GDA_DATA_PIVOT_MIN"/>
+ <member name="sum" value="4" c:identifier="GDA_DATA_PIVOT_SUM"/>
+ </enumeration>
+ <record name="DataPivotClass"
+ c:type="GdaDataPivotClass"
+ glib:is-gtype-struct-for="DataPivot">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="DataPivotError" c:type="GdaDataPivotError">
+ <doc xml:whitespace="preserve">Possible #GdaDataPivot related errors.</doc>
+ <member name="internal_error"
+ value="0"
+ c:identifier="GDA_DATA_PIVOT_INTERNAL_ERROR"/>
+ <member name="source_model_error"
+ value="1"
+ c:identifier="GDA_DATA_PIVOT_SOURCE_MODEL_ERROR"/>
+ <member name="field_format_error"
+ value="2"
+ c:identifier="GDA_DATA_PIVOT_FIELD_FORMAT_ERROR"/>
+ <member name="usage_error"
+ value="3"
+ c:identifier="GDA_DATA_PIVOT_USAGE_ERROR"/>
+ <member name="overflow_error"
+ value="4"
+ c:identifier="GDA_DATA_PIVOT_OVERFLOW_ERROR"/>
+ </enumeration>
+ <enumeration name="DataPivotFieldType" c:type="GdaDataPivotFieldType">
+ <doc xml:whitespace="preserve">Define types of field to be used when defining a #GdaDataPivot analysis.</doc>
+ <member name="row" value="0" c:identifier="GDA_DATA_PIVOT_FIELD_ROW"/>
+ <member name="column"
+ value="1"
+ c:identifier="GDA_DATA_PIVOT_FIELD_COLUMN"/>
+ </enumeration>
+ <record name="DataPivotPrivate" c:type="GdaDataPivotPrivate" disguised="1">
+ </record>
+ <class name="DataProxy"
+ c:symbol-prefix="data_proxy"
+ c:type="GdaDataProxy"
+ parent="GObject.Object"
+ glib:type-name="GdaDataProxy"
+ glib:get-type="gda_data_proxy_get_type"
+ glib:type-struct="DataProxyClass">
+ <implements name="DataModel"/>
+ <function name="error_quark" c:identifier="gda_data_proxy_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="new" c:identifier="gda_data_proxy_new">
+ <doc xml:whitespace="preserve">Creates a new proxy for @model</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaDataProxy object</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Data model to be proxied</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="filter_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="row_changes_applied">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="proxied_row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="row_delete_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="to_be_deleted" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sample_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample_start" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="sample_end" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sample_size_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample_size" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="validate_row_changes">
+ <return-value transfer-ownership="full">
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="proxied_row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="alter_value_attributes"
+ c:identifier="gda_data_proxy_alter_value_attributes">
+ <doc xml:whitespace="preserve">Alters the attributes of the value stored at (proxy_row, col) in @proxy. the @alter_flags
+can only contain the GDA_VALUE_ATTR_IS_NULL, GDA_VALUE_ATTR_IS_DEFAULT and GDA_VALUE_ATTR_IS_UNCHANGED
+flags (other flags are ignored).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A proxy row number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid column number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="alter_flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">flags to alter the attributes</doc>
+ <type name="ValueAttribute" c:type="GdaValueAttribute"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="apply_all_changes"
+ c:identifier="gda_data_proxy_apply_all_changes"
+ throws="1">
+ <doc xml:whitespace="preserve">Apply all the changes stored in the proxy to the proxied data model. The changes are done row
+after row, and if an error
+occurs, then it is possible that not all the changes to all the rows have been applied.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="apply_row_changes"
+ c:identifier="gda_data_proxy_apply_row_changes"
+ throws="1">
+ <doc xml:whitespace="preserve">Commits the modified data in the proxy back into the #GdaDataModel.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the row number to commit</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="cancel_all_changes"
+ c:identifier="gda_data_proxy_cancel_all_changes">
+ <doc xml:whitespace="preserve">Cancel all the changes stored in the proxy (the @proxy will be reset to its state
+as it was just after creation).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="cancel_row_changes"
+ c:identifier="gda_data_proxy_cancel_row_changes">
+ <doc xml:whitespace="preserve">Resets data at the corresponding row and column. If @proxy_row corresponds to a new row, then
+that new row is deleted from @proxy.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the row to cancel changes</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the column to cancel changes, or less than 0 to cancel any change on the @row row</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="delete" c:identifier="gda_data_proxy_delete">
+ <doc xml:whitespace="preserve">Marks the row @proxy_row to be deleted</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A proxy row number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_filter_expr"
+ c:identifier="gda_data_proxy_get_filter_expr">
+ <doc xml:whitespace="preserve">Get the current filter expression used by @proxy.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the current filter expression or %NULL if no filter has been set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_filtered_n_rows"
+ c:identifier="gda_data_proxy_get_filtered_n_rows">
+ <doc xml:whitespace="preserve">Get the total number of filtered rows in @proxy if a filter has been applied. As new rows
+(rows added to the proxy and not yet added to the proxied data model) and rows to remove
+(rows marked for removal but not yet removed from the proxied data model) are also filtered,
+the returned number also contains references to new rows and rows to be removed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of filtered rows in @proxy, or -1 if no filter has been applied</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_n_modified_rows"
+ c:identifier="gda_data_proxy_get_n_modified_rows">
+ <doc xml:whitespace="preserve">Get the number of rows which have been modified in the proxy (the sum of rows existing in
+the proxied data model which have been modified, and new rows).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of modified rows</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_n_new_rows"
+ c:identifier="gda_data_proxy_get_n_new_rows">
+ <doc xml:whitespace="preserve">Get the number of rows which have been added to @proxy and which are not part of
+the proxied data model.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of new rows</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_proxied_model"
+ c:identifier="gda_data_proxy_get_proxied_model">
+ <doc xml:whitespace="preserve">Fetch the #GdaDataModel which @proxy does proxy</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proxied data model</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ </method>
+ <method name="get_proxied_model_n_cols"
+ c:identifier="gda_data_proxy_get_proxied_model_n_cols">
+ <doc xml:whitespace="preserve">Get the number of columns in the proxied data model</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of columns, or -1 if an error occurred</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_proxied_model_n_rows"
+ c:identifier="gda_data_proxy_get_proxied_model_n_rows">
+ <doc xml:whitespace="preserve">Get the number of rows in the proxied data model</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of rows, or -1 if the number of rows is not known</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_proxied_model_row"
+ c:identifier="gda_data_proxy_get_proxied_model_row">
+ <doc xml:whitespace="preserve">Get the @proxy's proxied model row corresponding to @proxy_row</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proxied model's row, or -1 if @proxy row which only exists @proxy</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A proxy row number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sample_end"
+ c:identifier="gda_data_proxy_get_sample_end">
+ <doc xml:whitespace="preserve">Get the number of the last row to be available in @proxy (in reference to the proxied data model)</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of the last proxied model's row.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_sample_size"
+ c:identifier="gda_data_proxy_get_sample_size">
+ <doc xml:whitespace="preserve">Get the size of each chunk of data displayed at a time.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the chunk (or sample) size, or 0 if chunking is disabled.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_sample_start"
+ c:identifier="gda_data_proxy_get_sample_start">
+ <doc xml:whitespace="preserve">Get the number of the first row to be available in @proxy (in reference to the proxied data model)</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of the first proxied model's row.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_value_attributes"
+ c:identifier="gda_data_proxy_get_value_attributes">
+ <doc xml:whitespace="preserve">Get the attributes of the value stored at (proxy_row, col) in @proxy, which
+is an ORed value of #GdaValueAttribute flags</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaValueAttribute with the value's attributes at given position</doc>
+ <type name="ValueAttribute" c:type="GdaValueAttribute"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a proxy row</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid proxy column</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_values" c:identifier="gda_data_proxy_get_values">
+ <doc xml:whitespace="preserve">Retrieve a whole list of values from the @proxy data model. This function
+calls gda_data_proxy_get_value()
+for each column index specified in @cols_index, and generates a #GSList on the way.
+
+or %NULL if an error occurred</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:whitespace="preserve">a new list of values (the list must be freed, not the values),</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="GObject.Value"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="proxy_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a proxy row</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="cols_index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">array containing the columns for which the values are requested</doc>
+ <array zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="n_cols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">size of @cols_index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_changed" c:identifier="gda_data_proxy_has_changed">
+ <doc xml:whitespace="preserve">Tells if @proxy contains any modifications not applied to the proxied data model.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if there are some modifications in @proxy</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_read_only" c:identifier="gda_data_proxy_is_read_only">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the proxied data model is itself read-only</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="row_has_changed"
+ c:identifier="gda_data_proxy_row_has_changed">
+ <doc xml:whitespace="preserve">Tells if the row number @proxy_row has changed</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the row has changed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A proxy row number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="row_is_deleted"
+ c:identifier="gda_data_proxy_row_is_deleted">
+ <doc xml:whitespace="preserve">Tells if the row number @proxy_row is marked to be deleted.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the row is marked to be deleted</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A proxy row number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="row_is_inserted"
+ c:identifier="gda_data_proxy_row_is_inserted">
+ <doc xml:whitespace="preserve">Tells if the row number @proxy_row is a row which has been inserted in @proxy
+(and is thus not in the proxied data model).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the row is an inserted row</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A proxy row number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_filter_expr"
+ c:identifier="gda_data_proxy_set_filter_expr"
+ throws="1">
+ <doc xml:whitespace="preserve">Sets a filter among the rows presented by @proxy. The filter is defined by a filter expression
+which can be any SQL valid expression using @proxy's columns. For instance if @proxy has the "id" and
+"name" columns, then a filter can be "length(name) < 5" to filter only the rows where the length of the
+name is strictly inferior to 5, or "id >= 1000 and id < 2000 order by name limit 50" to filter only the rows where the id
+is between 1000 and 2000, ordered by name and limited to 50 rows.
+
+Note about column names: real column names can be used (double quoted if necessary), but columns can also be named
+"_&lt;column number&gt;" with column numbers starting at 1.
+
+Note that any previous filter expression is replaced with the new @filter_expr if no error occurs
+(if an error occurs, then any previous filter is left unchanged).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter_expr"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">an SQL based expression which will filter the contents of @proxy, or %NULL to remove any previous filter</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ordering_column"
+ c:identifier="gda_data_proxy_set_ordering_column"
+ throws="1">
+ <doc xml:whitespace="preserve">Orders by the @col column</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the column number to order from</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sample_size"
+ c:identifier="gda_data_proxy_set_sample_size">
+ <doc xml:whitespace="preserve">Sets the size of each chunk of data to display: the maximum number of rows which
+can be "displayed" at a time (the maximum number of rows which @proxy pretends to have).
+The default value is arbitrary 300 as it is big enough to
+be able to display quite a lot of data, but small enough to avoid too much data
+displayed at the same time.
+
+Note: the rows which have been added but not yet committed will always be displayed
+regardless of the current chunk of data, and the modified rows which are not visible
+when the displayed chunk of data changes are still held as modified rows.
+
+To remove the chunking of the data to display, simply pass @sample_size the %0 value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested size of a chunk, or 0</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sample_start"
+ c:identifier="gda_data_proxy_set_sample_start">
+ <doc xml:whitespace="preserve">Sets the number of the first row to be available in @proxy (in reference to the proxied data model)</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample_start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of the first row to be displayed</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="undelete" c:identifier="gda_data_proxy_undelete">
+ <doc xml:whitespace="preserve">Remove the "to be deleted" mark at the row @proxy_row, if it existed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A proxy row number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="defer-sync" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="model"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="DataModel"/>
+ </property>
+ <property name="prepend-null-entry"
+ writable="1"
+ transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="sample-size"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="DataProxyPrivate" c:type="GdaDataProxyPrivate*"/>
+ </field>
+ <glib:signal name="filter-changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted when @proxy's filter has been changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="row-changes-applied" when="first">
+ <doc xml:whitespace="preserve">Gets emitted when @proxy has committed a row change to the proxied data model.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proxy's row</doc>
+ <type name="gint"/>
+ </parameter>
+ <parameter name="proxied_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proxied data model's row</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="row-delete-changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever a row has been marked to be deleted, or has been unmarked to be deleted</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the concerned @proxy's row</doc>
+ <type name="gint"/>
+ </parameter>
+ <parameter name="to_be_deleted" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tells if the @row is marked to be deleted</doc>
+ <type name="gboolean"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="sample-changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever @proxy's sample size has been changed. @sample_start and @sample_end are
+in reference to the proxied data model.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample_start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the first row of the sample</doc>
+ <type name="gint"/>
+ </parameter>
+ <parameter name="sample_end" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the last row of the sample</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="sample-size-changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever @proxy's sample size has been changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new sample size</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="validate-row-changes" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when @proxy is about to commit a row change to the proxied data model. If any
+callback returns a non %NULL value, then the change commit fails with the returned #GError</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GError if validation failed, or %NULL</doc>
+ <type name="GLib.Error"/>
+ </return-value>
+ <parameters>
+ <parameter name="row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proxy's row</doc>
+ <type name="gint"/>
+ </parameter>
+ <parameter name="proxied_row" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proxied data model's row</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="DataProxyClass"
+ c:type="GdaDataProxyClass"
+ glib:is-gtype-struct-for="DataProxy">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="row_delete_changed">
+ <callback name="row_delete_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy" transfer-ownership="none">
+ <type name="DataProxy" c:type="GdaDataProxy*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="to_be_deleted" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sample_size_changed">
+ <callback name="sample_size_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy" transfer-ownership="none">
+ <type name="DataProxy" c:type="GdaDataProxy*"/>
+ </parameter>
+ <parameter name="sample_size" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sample_changed">
+ <callback name="sample_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy" transfer-ownership="none">
+ <type name="DataProxy" c:type="GdaDataProxy*"/>
+ </parameter>
+ <parameter name="sample_start" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="sample_end" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="validate_row_changes">
+ <callback name="validate_row_changes">
+ <return-value transfer-ownership="full">
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy" transfer-ownership="none">
+ <type name="DataProxy" c:type="GdaDataProxy*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="proxied_row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="row_changes_applied">
+ <callback name="row_changes_applied">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy" transfer-ownership="none">
+ <type name="DataProxy" c:type="GdaDataProxy*"/>
+ </parameter>
+ <parameter name="row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="proxied_row" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="filter_changed">
+ <callback name="filter_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="proxy" transfer-ownership="none">
+ <type name="DataProxy" c:type="GdaDataProxy*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="DataProxyError" c:type="GdaDataProxyError">
+ <member name="commit_error"
+ value="0"
+ c:identifier="GDA_DATA_PROXY_COMMIT_ERROR"/>
+ <member name="commit_cancelled"
+ value="1"
+ c:identifier="GDA_DATA_PROXY_COMMIT_CANCELLED"/>
+ <member name="read_only_value"
+ value="2"
+ c:identifier="GDA_DATA_PROXY_READ_ONLY_VALUE"/>
+ <member name="read_only_row"
+ value="3"
+ c:identifier="GDA_DATA_PROXY_READ_ONLY_ROW"/>
+ <member name="filter_error"
+ value="4"
+ c:identifier="GDA_DATA_PROXY_FILTER_ERROR"/>
+ </enumeration>
+ <record name="DataProxyPrivate" c:type="GdaDataProxyPrivate" disguised="1">
+ </record>
+ <class name="DataSelect"
+ c:symbol-prefix="data_select"
+ c:type="GdaDataSelect"
+ parent="GObject.Object"
+ abstract="1"
+ glib:type-name="GdaDataSelect"
+ glib:get-type="gda_data_select_get_type"
+ glib:type-struct="DataSelectClass">
+ <implements name="DataModel"/>
+ <function name="error_quark" c:identifier="gda_data_select_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <virtual-method name="fetch_at" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="prow" transfer-ownership="none">
+ <type name="Row" c:type="GdaRow**"/>
+ </parameter>
+ <parameter name="rownum" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fetch_nb_rows">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="fetch_next" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="prow" transfer-ownership="none">
+ <type name="Row" c:type="GdaRow**"/>
+ </parameter>
+ <parameter name="rownum" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fetch_prev" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="prow" transfer-ownership="none">
+ <type name="Row" c:type="GdaRow**"/>
+ </parameter>
+ <parameter name="rownum" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fetch_random" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="prow" transfer-ownership="none">
+ <type name="Row" c:type="GdaRow**"/>
+ </parameter>
+ <parameter name="rownum" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="store_all" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <method name="compute_columns_attributes"
+ c:identifier="gda_data_select_compute_columns_attributes"
+ throws="1">
+ <doc xml:whitespace="preserve">Computes correct attributes for each of @model's columns, which includes the "NOT NULL" attribute, the
+default value, the precision and scale for numeric values.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="compute_modification_statements"
+ c:identifier="gda_data_select_compute_modification_statements"
+ throws="1">
+ <doc xml:whitespace="preserve">Makes @model try to compute INSERT, UPDATE and DELETE statements to be used when modifying @model's contents.
+Note: any modification statement set using gda_data_select_set_modification_statement() will first be unset
+
+This function is similar to calling gda_data_select_compute_modification_statements_ext with
+ cond_type set to %GDA_DATA_SELECT_COND_PK</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred. If %FALSE is returned, then some modification statement may still have been computed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="compute_modification_statements_ext"
+ c:identifier="gda_data_select_compute_modification_statements_ext"
+ version="4.2.9"
+ throws="1">
+ <doc xml:whitespace="preserve">Makes @model try to compute INSERT, UPDATE and DELETE statements to be used when modifying @model's contents.
+Note: any modification statement set using gda_data_select_set_modification_statement() will first be unset</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred. If %FALSE is returned, then some modification statement may still have been computed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cond_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of condition for the modifications where one row only should be identified</doc>
+ <type name="DataSelectConditionType"
+ c:type="GdaDataSelectConditionType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="compute_row_selection_condition"
+ c:identifier="gda_data_select_compute_row_selection_condition"
+ throws="1">
+ <doc xml:whitespace="preserve">Offers the same features as gda_data_select_set_row_selection_condition() but the expression
+is computed from the meta data associated to the connection being used when @model was created.
+
+NOTE1: make sure the meta data associated to the connection is up to date before using this
+method, see gda_connection_update_meta_store().
+
+NOTE2: if the SELECT statement from which @model has been created uses more than one table, or
+if the table used does not have any primary key, then this method will fail</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_connection"
+ c:identifier="gda_data_select_get_connection">
+ <doc xml:whitespace="preserve">Get a pointer to the #GdaConnection object which was used when @model was created
+(and which may be used internally by @model).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the #GdaConnection, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </return-value>
+ </method>
+ <method name="rerun"
+ c:identifier="gda_data_select_rerun"
+ version="4.2"
+ throws="1">
+ <doc xml:whitespace="preserve">Requests that @model be re-run to have an updated result. If an error occurs,
+then @model will not be changed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="set_modification_statement"
+ c:identifier="gda_data_select_set_modification_statement"
+ throws="1">
+ <doc xml:whitespace="preserve">Informs @model that it should allow modifications to the data in some columns and some rows
+using @mod_stmt to propagate those modifications into the database.
+
+If @mod_stmt is:
+<itemizedlist>
+<listitem><para>an UPDATE statement, then all the rows in @model will be modifyable</para></listitem>
+<listitem><para>a DELETE statement, then it will be possible to delete rows in @model</para></listitem>
+<listitem><para>in INSERT statement, then it will be possible to add some rows to @model</para></listitem>
+<listitem><para>any other statement, then this method will return an error</para></listitem>
+</itemizedlist>
+
+This method can be called several times to specify different types of modification.
+
+If @mod_stmt is an UPDATE or DELETE statement then it should have a WHERE part which identifies
+a unique row in @model (please note that this property can't be checked but may result
+in @model behaving in an unpredictable way).
+
+NOTE1: However, if the gda_data_select_set_row_selection_condition()
+or gda_data_select_set_row_selection_condition_sql() have been successfully be called before, the WHERE
+part of @mod_stmt <emphasis>WILL</emphasis> be modified to use the row selection condition specified through one of
+these methods (please not that it is then possible to avoid specifying a WHERE part in @mod_stmt then).
+
+NOTE2: if gda_data_select_set_row_selection_condition()
+or gda_data_select_set_row_selection_condition_sql() have not yet been successfully be called before, then
+the WHERE part of @mod_stmt will be used as if one of these functions had been called.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mod_stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement (INSERT, UPDATE or DELETE)</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_modification_statement_sql"
+ c:identifier="gda_data_select_set_modification_statement_sql"
+ throws="1">
+ <doc xml:whitespace="preserve">Offers the same feature as gda_data_select_set_modification_statement() but using an SQL statement</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sql" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an SQL text</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_row_selection_condition"
+ c:identifier="gda_data_select_set_row_selection_condition"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Offers the same features as gda_data_select_set_row_selection_condition_sql() but using a #GdaSqlExpr
+structure instead of an SQL syntax.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="expr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSqlExpr expression</doc>
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_row_selection_condition_sql"
+ c:identifier="gda_data_select_set_row_selection_condition_sql"
+ throws="1">
+ <doc xml:whitespace="preserve">Specifies the SQL condition corresponding to the WHERE part of a SELECT statement which would
+return only 1 row (the expression of the primary key).
+
+For example for a table created as <![CDATA["CREATE TABLE mytable (part1 int NOT NULL, part2 string NOT NULL,
+name string, PRIMARY KEY (part1, part2))"]]>, and if @pmodel corresponds to the execution of the
+<![CDATA["SELECT name, part1, part2 FROM mytable"]]>, then the sensible value for @sql_where would be
+<![CDATA["part1 = ##-1::int AND part2 = ##-2::string"]]> because the values of the 'part1' field are located
+in @pmodel's column number 1 and the values of the 'part2' field are located
+in @pmodel's column number 2 and the primary key is composed of (part1, part2).
+
+For more information about the syntax of the parameters (named <![CDATA["##-1::int"]]> for example), see the
+<link linkend="GdaSqlParser.description">GdaSqlParser</link> documentation, and
+gda_data_select_set_modification_statement().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sql_where" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an SQL condition (without the WHERE keyword)</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="auto-reset" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="connection"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Connection"/>
+ </property>
+ <property name="delete-stmt" writable="1" transfer-ownership="none">
+ <type name="Statement"/>
+ </property>
+ <property name="exec-params"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Set"/>
+ </property>
+ <property name="execution-delay"
+ version="4.2.9"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">This property stores the execution delay which has been necessary to obtain the data</doc>
+ <type name="gdouble"/>
+ </property>
+ <property name="insert-stmt" writable="1" transfer-ownership="none">
+ <type name="Statement"/>
+ </property>
+ <property name="model-usage"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="prepared-stmt" writable="1" transfer-ownership="none">
+ <type name="PStmt"/>
+ </property>
+ <property name="select-stmt" transfer-ownership="none">
+ <type name="Statement"/>
+ </property>
+ <property name="store-all-rows" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="update-stmt" writable="1" transfer-ownership="none">
+ <type name="Statement"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="DataSelectPrivate" c:type="GdaDataSelectPrivate*"/>
+ </field>
+ <field name="prep_stmt">
+ <type name="PStmt" c:type="GdaPStmt*"/>
+ </field>
+ <field name="nb_stored_rows">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="advertized_nrows">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </class>
+ <record name="DataSelectClass"
+ c:type="GdaDataSelectClass"
+ glib:is-gtype-struct-for="DataSelect">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="fetch_nb_rows">
+ <callback name="fetch_nb_rows">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataSelect" c:type="GdaDataSelect*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fetch_random">
+ <callback name="fetch_random" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataSelect" c:type="GdaDataSelect*"/>
+ </parameter>
+ <parameter name="prow" transfer-ownership="none">
+ <type name="Row" c:type="GdaRow**"/>
+ </parameter>
+ <parameter name="rownum" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="store_all">
+ <callback name="store_all" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataSelect" c:type="GdaDataSelect*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fetch_next">
+ <callback name="fetch_next" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataSelect" c:type="GdaDataSelect*"/>
+ </parameter>
+ <parameter name="prow" transfer-ownership="none">
+ <type name="Row" c:type="GdaRow**"/>
+ </parameter>
+ <parameter name="rownum" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fetch_prev">
+ <callback name="fetch_prev" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataSelect" c:type="GdaDataSelect*"/>
+ </parameter>
+ <parameter name="prow" transfer-ownership="none">
+ <type name="Row" c:type="GdaRow**"/>
+ </parameter>
+ <parameter name="rownum" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fetch_at">
+ <callback name="fetch_at" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <type name="DataSelect" c:type="GdaDataSelect*"/>
+ </parameter>
+ <parameter name="prow" transfer-ownership="none">
+ <type name="Row" c:type="GdaRow**"/>
+ </parameter>
+ <parameter name="rownum" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="DataSelectConditionType"
+ c:type="GdaDataSelectConditionType">
+ <doc xml:whitespace="preserve">Defines what criteria gda_data_select_compute_modification_statements_ext() uses
+to uniquely identify a single row in a table when creating modification statements.</doc>
+ <member name="pk" value="0" c:identifier="GDA_DATA_SELECT_COND_PK"/>
+ <member name="all_columns"
+ value="1"
+ c:identifier="GDA_DATA_SELECT_COND_ALL_COLUMNS"/>
+ </enumeration>
+ <enumeration name="DataSelectError" c:type="GdaDataSelectError">
+ <member name="modification_statement_error"
+ value="0"
+ c:identifier="GDA_DATA_SELECT_MODIFICATION_STATEMENT_ERROR"/>
+ <member name="missing_modification_statement_error"
+ value="1"
+ c:identifier="GDA_DATA_SELECT_MISSING_MODIFICATION_STATEMENT_ERROR"/>
+ <member name="connection_error"
+ value="2"
+ c:identifier="GDA_DATA_SELECT_CONNECTION_ERROR"/>
+ <member name="access_error"
+ value="3"
+ c:identifier="GDA_DATA_SELECT_ACCESS_ERROR"/>
+ <member name="sql_error"
+ value="4"
+ c:identifier="GDA_DATA_SELECT_SQL_ERROR"/>
+ <member name="safety_locked_error"
+ value="5"
+ c:identifier="GDA_DATA_SELECT_SAFETY_LOCKED_ERROR"/>
+ </enumeration>
+ <record name="DataSelectPrivate"
+ c:type="GdaDataSelectPrivate"
+ disguised="1">
+ </record>
+ <glib:boxed glib:name="Default"
+ c:symbol-prefix="default"
+ glib:type-name="GdaDefault"
+ glib:get-type="gda_default_get_type">
+ <function name="escape_string" c:identifier="gda_default_escape_string">
+ <doc xml:whitespace="preserve">Escapes @string to make it understandable by a DBMS. The escape method is very common and replaces any
+occurrence of "'" with "''" and "\" with "\\"</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">string to escape</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="unescape_string"
+ c:identifier="gda_default_unescape_string">
+ <doc xml:whitespace="preserve">Do the reverse of gda_default_escape_string(): transforms any "''" into "'", any
+"\\" into "\" and any "\'" into "'".</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new unescaped string, or %NULL in an error was found in @string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">string to unescape</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </glib:boxed>
+ <record name="Diff" c:type="GdaDiff">
+ <field name="type" writable="1">
+ <type name="DiffType" c:type="GdaDiffType"/>
+ </field>
+ <field name="old_row" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="new_row" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="values" writable="1">
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="gpointer" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ </record>
+ <enumeration name="DiffType" c:type="GdaDiffType">
+ <member name="add_row" value="0" c:identifier="GDA_DIFF_ADD_ROW"/>
+ <member name="remove_row" value="1" c:identifier="GDA_DIFF_REMOVE_ROW"/>
+ <member name="modify_row" value="2" c:identifier="GDA_DIFF_MODIFY_ROW"/>
+ </enumeration>
+ <record name="DsnInfo" c:type="GdaDsnInfo">
+ <doc xml:whitespace="preserve">This structure defines the properties of a named data source (DSN).</doc>
+ <field name="name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="provider" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="description" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="cnc_string" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="auth_string" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="is_system" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <constant name="EXTRA_AUTO_INCREMENT"
+ value="AUTO_INCREMENT"
+ c:type="GDA_EXTRA_AUTO_INCREMENT">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <record name="GeometricPoint"
+ c:type="GdaGeometricPoint"
+ glib:type-name="GdaGeometricPoint"
+ glib:get-type="gda_geometricpoint_get_type"
+ c:symbol-prefix="geometricpoint">
+ <field name="x" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="y" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <function name="copy" c:identifier="gda_geometricpoint_copy">
+ <return-value transfer-ownership="full">
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="free" c:identifier="gda_geometricpoint_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <class name="HandlerBin"
+ c:symbol-prefix="handler_bin"
+ c:type="GdaHandlerBin"
+ parent="GObject.Object"
+ glib:type-name="GdaHandlerBin"
+ glib:get-type="gda_handler_bin_get_type"
+ glib:type-struct="HandlerBinClass">
+ <implements name="DataHandler"/>
+ <function name="new" c:identifier="gda_handler_bin_new">
+ <doc xml:whitespace="preserve">Creates a data handler for binary values</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new object</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ </function>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="HandlerBinPriv" c:type="GdaHandlerBinPriv*"/>
+ </field>
+ </class>
+ <record name="HandlerBinClass"
+ c:type="GdaHandlerBinClass"
+ glib:is-gtype-struct-for="HandlerBin">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="HandlerBinPriv" c:type="GdaHandlerBinPriv" disguised="1">
+ </record>
+ <class name="HandlerBoolean"
+ c:symbol-prefix="handler_boolean"
+ c:type="GdaHandlerBoolean"
+ parent="GObject.Object"
+ glib:type-name="GdaHandlerBoolean"
+ glib:get-type="gda_handler_boolean_get_type"
+ glib:type-struct="HandlerBooleanClass">
+ <implements name="DataHandler"/>
+ <function name="new" c:identifier="gda_handler_boolean_new">
+ <doc xml:whitespace="preserve">Creates a data handler for booleans</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new object</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ </function>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="HandlerBooleanPriv" c:type="GdaHandlerBooleanPriv*"/>
+ </field>
+ </class>
+ <record name="HandlerBooleanClass"
+ c:type="GdaHandlerBooleanClass"
+ glib:is-gtype-struct-for="HandlerBoolean">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="HandlerBooleanPriv"
+ c:type="GdaHandlerBooleanPriv"
+ disguised="1">
+ </record>
+ <class name="HandlerNumerical"
+ c:symbol-prefix="handler_numerical"
+ c:type="GdaHandlerNumerical"
+ parent="GObject.Object"
+ glib:type-name="GdaHandlerNumerical"
+ glib:get-type="gda_handler_numerical_get_type"
+ glib:type-struct="HandlerNumericalClass">
+ <implements name="DataHandler"/>
+ <function name="new" c:identifier="gda_handler_numerical_new">
+ <doc xml:whitespace="preserve">Creates a data handler for numerical values</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new object</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ </function>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="HandlerNumericalPriv" c:type="GdaHandlerNumericalPriv*"/>
+ </field>
+ </class>
+ <record name="HandlerNumericalClass"
+ c:type="GdaHandlerNumericalClass"
+ glib:is-gtype-struct-for="HandlerNumerical">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="HandlerNumericalPriv"
+ c:type="GdaHandlerNumericalPriv"
+ disguised="1">
+ </record>
+ <class name="HandlerString"
+ c:symbol-prefix="handler_string"
+ c:type="GdaHandlerString"
+ parent="GObject.Object"
+ glib:type-name="GdaHandlerString"
+ glib:get-type="gda_handler_string_get_type"
+ glib:type-struct="HandlerStringClass">
+ <implements name="DataHandler"/>
+ <function name="new" c:identifier="gda_handler_string_new">
+ <doc xml:whitespace="preserve">Creates a data handler for strings</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new object</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ </function>
+ <function name="new_with_provider"
+ c:identifier="gda_handler_string_new_with_provider">
+ <doc xml:whitespace="preserve">Creates a data handler for strings, which will use some specific methods implemented
+by the @prov object (possibly also @cnc).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new object</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="prov" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaServerProvider object</doc>
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="HandlerStringPriv" c:type="GdaHandlerStringPriv*"/>
+ </field>
+ </class>
+ <record name="HandlerStringClass"
+ c:type="GdaHandlerStringClass"
+ glib:is-gtype-struct-for="HandlerString">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="HandlerStringPriv"
+ c:type="GdaHandlerStringPriv"
+ disguised="1">
+ </record>
+ <class name="HandlerTime"
+ c:symbol-prefix="handler_time"
+ c:type="GdaHandlerTime"
+ parent="GObject.Object"
+ glib:type-name="GdaHandlerTime"
+ glib:get-type="gda_handler_time_get_type"
+ glib:type-struct="HandlerTimeClass">
+ <implements name="DataHandler"/>
+ <function name="new" c:identifier="gda_handler_time_new">
+ <doc xml:whitespace="preserve">Creates a data handler for time values</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new object</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ </function>
+ <function name="new_no_locale"
+ c:identifier="gda_handler_time_new_no_locale">
+ <doc xml:whitespace="preserve">Creates a data handler for time values, but using the default C locale
+instead of the current user locale.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new object</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ </function>
+ <method name="get_format" c:identifier="gda_handler_time_get_format">
+ <doc xml:whitespace="preserve">Get a string representing the locale-dependent way to enter a date/time/datetime, using
+a syntax suitable for the #GnomeDbFormatEntry widget</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of data being handled</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_no_locale_str_from_value"
+ c:identifier="gda_handler_time_get_no_locale_str_from_value">
+ <doc xml:whitespace="preserve">locale into account</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string representing @value without taking the current</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sql_spec" c:identifier="gda_handler_time_set_sql_spec">
+ <doc xml:whitespace="preserve">Specifies the SQL output style of the @dh data handler. The general format is "FIRSTsSECsTHIRD"
+where FIRST, SEC and THIRD are specified by @first, @sec and @trird and 's' is the separator,
+specified by @separator.
+
+The default implementation is @first=G_DATE_MONTH, @sec=G_DATE_DAY and @third=G_DATE_YEAR
+(the year is rendered on 4 digits) and the separator is '-'</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="first" transfer-ownership="none">
+ <doc xml:whitespace="preserve">what comes first in the date representation</doc>
+ <type name="GLib.DateDMY" c:type="GDateDMY"/>
+ </parameter>
+ <parameter name="sec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">what comes second in the date representation</doc>
+ <type name="GLib.DateDMY" c:type="GDateDMY"/>
+ </parameter>
+ <parameter name="third" transfer-ownership="none">
+ <doc xml:whitespace="preserve">what comes third in the date representation</doc>
+ <type name="GLib.DateDMY" c:type="GDateDMY"/>
+ </parameter>
+ <parameter name="separator" transfer-ownership="none">
+ <doc xml:whitespace="preserve">separator character used between year, month and day</doc>
+ <type name="gchar" c:type="gchar"/>
+ </parameter>
+ <parameter name="twodigits_years" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if year part of date must be rendered on 2 digits</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_str_spec"
+ c:identifier="gda_handler_time_set_str_spec"
+ version="4.2.1">
+ <doc xml:whitespace="preserve">Specifies the human readable output style of the @dh data handler.
+The general format is "FIRSTsSECsTHIRD"
+where FIRST, SEC and THIRD are specified by @first, @sec and @trird and 's' is the separator,
+specified by @separator.
+
+The default implementation depends on the current locale, except if @dh was created
+using gda_handler_time_new_no_locale().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="first" transfer-ownership="none">
+ <doc xml:whitespace="preserve">what comes first in the date representation</doc>
+ <type name="GLib.DateDMY" c:type="GDateDMY"/>
+ </parameter>
+ <parameter name="sec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">what comes second in the date representation</doc>
+ <type name="GLib.DateDMY" c:type="GDateDMY"/>
+ </parameter>
+ <parameter name="third" transfer-ownership="none">
+ <doc xml:whitespace="preserve">what comes third in the date representation</doc>
+ <type name="GLib.DateDMY" c:type="GDateDMY"/>
+ </parameter>
+ <parameter name="separator" transfer-ownership="none">
+ <doc xml:whitespace="preserve">separator character used between year, month and day</doc>
+ <type name="gchar" c:type="gchar"/>
+ </parameter>
+ <parameter name="twodigits_years" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if year part of date must be rendered on 2 digits</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="HandlerTimePriv" c:type="GdaHandlerTimePriv*"/>
+ </field>
+ </class>
+ <record name="HandlerTimeClass"
+ c:type="GdaHandlerTimeClass"
+ glib:is-gtype-struct-for="HandlerTime">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="HandlerTimePriv" c:type="GdaHandlerTimePriv" disguised="1">
+ </record>
+ <class name="HandlerType"
+ c:symbol-prefix="handler_type"
+ c:type="GdaHandlerType"
+ parent="GObject.Object"
+ glib:type-name="GdaHandlerType"
+ glib:get-type="gda_handler_type_get_type"
+ glib:type-struct="HandlerTypeClass">
+ <implements name="DataHandler"/>
+ <function name="new" c:identifier="gda_handler_type_new">
+ <doc xml:whitespace="preserve">Creates a data handler for Gda types</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new object</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ </function>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="HandlerTypePriv" c:type="GdaHandlerTypePriv*"/>
+ </field>
+ </class>
+ <record name="HandlerTypeClass"
+ c:type="GdaHandlerTypeClass"
+ glib:is-gtype-struct-for="HandlerType">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="HandlerTypePriv" c:type="GdaHandlerTypePriv" disguised="1">
+ </record>
+ <class name="Holder"
+ c:symbol-prefix="holder"
+ c:type="GdaHolder"
+ parent="GObject.Object"
+ glib:type-name="GdaHolder"
+ glib:get-type="gda_holder_get_type"
+ glib:type-struct="HolderClass">
+ <implements name="Lockable"/>
+ <constructor name="new" c:identifier="gda_holder_new">
+ <doc xml:whitespace="preserve">Creates a new holder of type @type</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaHolder object</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GType requested</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_inline"
+ c:identifier="gda_holder_new_inline"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GdaHolder object with an ID set to @id, of type @type,
+and containing the value passed as the last argument.
+
+Note that this function is a utility function and that only a limited set of types are supported. Trying
+to use an unsupported type will result in a warning, and the returned value holder holding a safe default
+value.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaHolder object</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid GLib type</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the id of the holder to create, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_holder_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <virtual-method name="att_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="att_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="att_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="source_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="validate_change">
+ <return-value transfer-ownership="full">
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ <parameters>
+ <parameter name="new_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="copy" c:identifier="gda_holder_copy">
+ <doc xml:whitespace="preserve">Copy constructor.
+
+Note1: if @orig is set with a static value (see gda_holder_take_static_value())
+its copy will have a fresh new allocated GValue, so that user should free it when done.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaHolder object</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </return-value>
+ </method>
+ <method name="force_invalid" c:identifier="gda_holder_force_invalid">
+ <doc xml:whitespace="preserve">Forces a holder to be invalid; to set it valid again, a new value must be assigned
+to it using gda_holder_set_value() or gda_holder_take_value().
+
+ holder's value is set to %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="force_invalid_e"
+ c:identifier="gda_holder_force_invalid_e"
+ version="4.2.10">
+ <doc xml:whitespace="preserve">Forces a holder to be invalid; to set it valid again, a new value must be assigned
+to it using gda_holder_set_value() or gda_holder_take_value().
+
+ holder's value is set to %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="error" transfer-ownership="full" allow-none="1">
+ <doc xml:whitespace="preserve">a #GError explaining why @holder is declared invalid, or %NULL</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute" c:identifier="gda_holder_get_attribute">
+ <doc xml:whitespace="preserve">Get the value associated to a named attribute.
+
+Attributes can have any name, but Libgda proposes some default names, see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has been set for @holder</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="attribute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute name as a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bind" c:identifier="gda_holder_get_bind">
+ <doc xml:whitespace="preserve">Get the holder which makes @holder change its value when the holder's value is changed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaHolder or %NULL</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </return-value>
+ </method>
+ <method name="get_default_value"
+ c:identifier="gda_holder_get_default_value">
+ <doc xml:whitespace="preserve">Get the default value held into the holder. WARNING: the default value does not need to be of
+the same type as the one required by @holder.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the default value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ </method>
+ <method name="get_g_type" c:identifier="gda_holder_get_g_type">
+ <doc xml:whitespace="preserve">Get @holder's type</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data type</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </method>
+ <method name="get_id" c:identifier="gda_holder_get_id">
+ <doc xml:whitespace="preserve">Get the ID of @holder. The ID can be set using @holder's "id" property</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID (don't modify the string).</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_not_null" c:identifier="gda_holder_get_not_null">
+ <doc xml:whitespace="preserve">Get wether the holder can be NULL or not</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the holder cannot be NULL</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_source_model"
+ c:identifier="gda_holder_get_source_model">
+ <doc xml:whitespace="preserve">If gda_holder_set_source_model() has been used to provide a hint that @holder's value
+should be among the values contained in a column of a data model, then this method
+returns which data model, and if @col is not %NULL, then it is set to the restricting column
+as well.
+
+Otherwise, this method returns %NULL, and if @col is not %NULL, then it is set to 0.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a #GdaDataModel, or %NULL</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store the column in the model sourcing the holder, or %NULL</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value" c:identifier="gda_holder_get_value">
+ <doc xml:whitespace="preserve">Get the value held into the holder. If @holder is set to use its default value
+and that default value is not of the same type as @holder, then %NULL is returned.
+
+If @holder is set to NULL, then the returned value is a #GDA_TYPE_NULL GValue.
+
+If @holder is invalid, then the returned value is %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ </method>
+ <method name="get_value_str" c:identifier="gda_holder_get_value_str">
+ <doc xml:whitespace="preserve">Same functionality as gda_holder_get_value() except that it returns the value as a string
+(the conversion is done using @dh if not %NULL, or the default data handler otherwise).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the value, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaDataHandler to use, or %NULL</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_valid" c:identifier="gda_holder_is_valid">
+ <doc xml:whitespace="preserve">Get the validity of @holder (that is, of the value held by @holder)</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @holder's value can safely be used</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_valid_e"
+ c:identifier="gda_holder_is_valid_e"
+ version="4.2.10"
+ throws="1">
+ <doc xml:whitespace="preserve">Get the validity of @holder (that is, of the value held by @holder)</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @holder's value can safely be used</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="set_attribute" c:identifier="gda_holder_set_attribute">
+ <doc xml:whitespace="preserve">Set the value associated to a named attribute. The @attribute string is 'stolen' by this method, and
+the memory it uses will be freed using the @destroy function when no longer needed (if @destroy is %NULL,
+then the string will not be freed at all).
+
+Attributes can have any name, but Libgda proposes some default names,
+see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>.
+
+For example one would use it as:
+
+<code>
+gda_holder_set_attribute (holder, g_strdup (my_attribute), g_free, my_value);
+gda_holder_set_attribute (holder, GDA_ATTRIBUTE_NAME, NULL, my_value);
+</code>
+
+If there is already an attribute named @attribute set, then its value is replaced with the new value (@value is
+copied), except if @value is %NULL, in which case the attribute is removed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="attribute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" scope="async">
+ <doc xml:whitespace="preserve">a function to be called when @attribute is not needed anymore, or %NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_bind" c:identifier="gda_holder_set_bind" throws="1">
+ <doc xml:whitespace="preserve">Sets @holder to change when @bind_to changes (and does not make @bind_to change when @holder changes).
+For the operation to succeed, the GType of @holder and @bind_to must be the same, with the exception that
+any of them can have a %GDA_TYPE_NULL type (in this situation, the GType of the two #GdaHolder objects
+involved is set to match the other when any of them sets its type to something different than GDA_TYPE_NULL).
+
+If @bind_to is %NULL, then @holder will not be bound anymore.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bind_to" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaHolder or %NULL</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_default_value"
+ c:identifier="gda_holder_set_default_value">
+ <doc xml:whitespace="preserve">Sets the default value within the holder. If @value is %NULL then @holder won't have a
+default value anymore. To set a default value to %NULL, then pass a #GValue created using
+gda_value_new_null().
+
+NOTE: the default value does not need to be of the same type as the one required by @holder.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value to set the holder's default value, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_not_null" c:identifier="gda_holder_set_not_null">
+ <doc xml:whitespace="preserve">Sets if the holder can have a NULL value. If @not_null is TRUE, then that won't be allowed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="not_null" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @holder should not accept %NULL values</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_source_model"
+ c:identifier="gda_holder_set_source_model"
+ throws="1">
+ <doc xml:whitespace="preserve">Sets an hint that @holder's values should be restricted among the values
+contained in the @col column of the @model data model. Note that this is just a hint,
+meaning this policy is not enforced by @holder's implementation.
+
+If @model is %NULL, then the effect is to cancel ant previous call to gda_holder_set_source_model()
+where @model was not %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModel object or %NULL</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="col" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the reference column in @model</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_value" c:identifier="gda_holder_set_value" throws="1">
+ <doc xml:whitespace="preserve">Sets the value within the holder. If @holder is an alias for another
+holder, then the value is also set for that other holder.
+
+On success, the action of any call to gda_holder_force_invalid() is cancelled
+as soon as this method is called (even if @holder's value does not actually change)
+
+If the value is not different from the one already contained within @holder,
+then @holder is not changed and no signal is emitted.
+
+Note1: the @value argument is treated the same way if it is %NULL or if it is a #GDA_TYPE_NULL value
+
+Note2: if @holder can't accept the @value value, then this method returns FALSE, and @holder will be left
+in an invalid state.
+
+Note3: before the change is accepted by @holder, the "validate-change" signal will be emitted (the value
+of which can prevent the change from happening) which can be connected to to have a greater control
+of which values @holder can have, or implement some business rules.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if value has been set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a value to set the holder to, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_value_str"
+ c:identifier="gda_holder_set_value_str"
+ throws="1">
+ <doc xml:whitespace="preserve">Same functionality as gda_holder_set_value() except that it uses a string representation
+of the value to set, which will be converted into a GValue first (using default data handler if
+ dh is %NULL).
+
+Note1: if @value is %NULL or is the "NULL" string, then @holder's value is set to %NULL.
+Note2: if @holder can't accept the @value value, then this method returns FALSE, and @holder will be left
+in an invalid state.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if value has been set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataHandler to use, or %NULL</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value to set the holder to, as a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_value_to_default"
+ c:identifier="gda_holder_set_value_to_default">
+ <doc xml:whitespace="preserve">Set @holder's value to its default value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @holder has got a default value</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="take_static_value"
+ c:identifier="gda_holder_take_static_value"
+ throws="1">
+ <doc xml:whitespace="preserve">Sets the const value within the holder. If @holder is an alias for another
+holder, then the value is also set for that other holder.
+
+The value will not be freed, and user should take care of it, either for its
+freeing or for its correct value at the moment of query.
+
+If the value is not different from the one already contained within @holder,
+then @holder is not changed and no signal is emitted.
+
+Note1: if @holder can't accept the @value value, then this method returns NULL, and @holder will be left
+in an invalid state.
+
+Note2: before the change is accepted by @holder, the "validate-change" signal will be emitted (the value
+of which can prevent the change from happening) which can be connected to to have a greater control
+of which values @holder can have, or implement some business rules.
+
+the static GValue user set previously, so that he can free it.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">NULL if an error occurred or if the previous GValue was NULL itself. It returns</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a const value to set the holder to</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value_changed" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a boolean set with TRUE if the value changes, FALSE elsewhere.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_value"
+ c:identifier="gda_holder_take_value"
+ throws="1">
+ <doc xml:whitespace="preserve">Sets the value within the holder. If @holder is an alias for another
+holder, then the value is also set for that other holder.
+
+On success, the action of any call to gda_holder_force_invalid() is cancelled
+as soon as this method is called (even if @holder's value does not actually change).
+
+If the value is not different from the one already contained within @holder,
+then @holder is not changed and no signal is emitted.
+
+Note1: if @holder can't accept the @value value, then this method returns FALSE, and @holder will be left
+in an invalid state.
+
+Note2: before the change is accepted by @holder, the "validate-change" signal will be emitted (the value
+of which can prevent the change from happening) which can be connected to to have a greater control
+of which values @holder can have, or implement some business rules.
+
+Note3: if user previously set this holder with gda_holder_take_static_value () the GValue
+stored internally will be forgiven and replaced by the @value. User should then
+take care of the 'old' static GValue.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if value has been set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="full">
+ <doc xml:whitespace="preserve">a value to set the holder to</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="value_is_default"
+ c:identifier="gda_holder_value_is_default">
+ <doc xml:whitespace="preserve">Tells if @holder's current value is the default one.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @holder @holder's current value is the default one</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <property name="description" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="full-bind" writable="1" transfer-ownership="none">
+ <type name="Holder"/>
+ </property>
+ <property name="g-type"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="GType"/>
+ </property>
+ <property name="id" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="name" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="not-null" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="simple-bind" writable="1" transfer-ownership="none">
+ <type name="Holder"/>
+ </property>
+ <property name="source-column" writable="1" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="source-model" writable="1" transfer-ownership="none">
+ <type name="DataModel"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="HolderPrivate" c:type="GdaHolderPrivate*"/>
+ </field>
+ <glib:signal name="attribute-changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted when any @holder's attribute has changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="att_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute's name</doc>
+ <type name="utf8"/>
+ </parameter>
+ <parameter name="att_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute's value</doc>
+ <type name="GObject.Value"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted when @holder's value has changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="source-changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted when the data model in which @holder's values should be has changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="validate-change" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when @holder is going to change its value. One can connect to
+this signal to control which values @holder can have (for example to implement some business rules)
+
+otherwise.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">NULL if @holder is allowed to change its value to @new_value, or a #GError</doc>
+ <type name="GLib.Error"/>
+ </return-value>
+ <parameters>
+ <parameter name="new_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proposed new value for @holder</doc>
+ <type name="GObject.Value"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="HolderClass"
+ c:type="GdaHolderClass"
+ glib:is-gtype-struct-for="Holder">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="changed">
+ <callback name="changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="source_changed">
+ <callback name="source_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="validate_change">
+ <callback name="validate_change">
+ <return-value transfer-ownership="full">
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ <parameter name="new_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="att_changed">
+ <callback name="att_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ <parameter name="att_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="att_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="HolderError" c:type="GdaHolderError">
+ <member name="string_conversion_error"
+ value="0"
+ c:identifier="GDA_HOLDER_STRING_CONVERSION_ERROR"/>
+ <member name="value_type_error"
+ value="1"
+ c:identifier="GDA_HOLDER_VALUE_TYPE_ERROR"/>
+ <member name="value_null_error"
+ value="2"
+ c:identifier="GDA_HOLDER_VALUE_NULL_ERROR"/>
+ </enumeration>
+ <record name="HolderPrivate" c:type="GdaHolderPrivate" disguised="1">
+ </record>
+ <interface name="Lockable"
+ c:symbol-prefix="lockable"
+ c:type="GdaLockable"
+ glib:type-name="GdaLockable"
+ glib:get-type="gda_lockable_get_type"
+ glib:type-struct="LockableIface">
+ <virtual-method name="i_lock">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="i_trylock">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="i_unlock">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <method name="lock" c:identifier="gda_lockable_lock">
+ <doc xml:whitespace="preserve">Locks @lockable. If it is already locked by another thread, the current thread will block until it is unlocked
+by the other thread.
+
+This function can be used even if g_thread_init() has not yet been called, and, in that case, will do nothing.
+
+Note: unlike g_mutex_lock(), this method recursive, which means a thread can lock @lockable several times
+(and has to unlock it as many times to actually unlock it).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="trylock" c:identifier="gda_lockable_trylock">
+ <doc xml:whitespace="preserve">Tries to lock @lockable. If it is already locked by another thread, then it immediately returns FALSE, otherwise
+it locks @lockable.
+
+This function can be used even if g_thread_init() has not yet been called, and, in that case, will do nothing.
+
+Note: unlike g_mutex_lock(), this method recursive, which means a thread can lock @lockable several times
+(and has to unlock it as many times to actually unlock it).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the object has successfully been locked.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="unlock" c:identifier="gda_lockable_unlock">
+ <doc xml:whitespace="preserve">Unlocks @lockable. This method should not be called if the current does not already holds a lock on @lockable (having
+used gda_lockable_lock() or gda_lockable_trylock()).
+
+This function can be used even if g_thread_init() has not yet been called, and, in that case, will do nothing.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ </interface>
+ <record name="LockableIface"
+ c:type="GdaLockableIface"
+ glib:is-gtype-struct-for="Lockable">
+ <field name="g_iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="i_lock">
+ <callback name="i_lock">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="lock" transfer-ownership="none">
+ <type name="Lockable" c:type="GdaLockable*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_trylock">
+ <callback name="i_trylock">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="lock" transfer-ownership="none">
+ <type name="Lockable" c:type="GdaLockable*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="i_unlock">
+ <callback name="i_unlock">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="lock" transfer-ownership="none">
+ <type name="Lockable" c:type="GdaLockable*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <record name="MetaContext" c:type="GdaMetaContext">
+ <doc xml:whitespace="preserve">The <structname>GdaMetaContext</structname> represents a meta data modification
+context: the <emphasis>how</emphasis> when used with gda_meta_store_modify_with_context(),
+and the <emphasis>what</emphasis> when used with gda_connection_update_meta_store().</doc>
+ <field name="table_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="size" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="column_names" writable="1">
+ <type name="utf8" c:type="gchar**"/>
+ </field>
+ <field name="column_values" writable="1">
+ <type name="GObject.Value" c:type="GValue**"/>
+ </field>
+ </record>
+ <record name="MetaDbObject" c:type="GdaMetaDbObject">
+ <doc xml:whitespace="preserve">Struture to hold information about each database object (tables, views, ...),
+its contents must not be modified.
+
+Note: @obj_catalog, @obj_schema, @obj_name, @obj_short_name and @obj_full_name respect the
+<link linkend="information_schema:sql_identifiers">SQL identifiers</link> convention used in
+#GdaMetaStore objects. Before using these SQL identifiers, you should check the
+gda_sql_identifier_quote() to know if is it is necessary to surround by double quotes
+before using in an SQL statement.</doc>
+ <union name="extra" c:type="extra">
+ <field name="meta_table" writable="1">
+ <type name="MetaTable" c:type="GdaMetaTable"/>
+ </field>
+ <field name="meta_view" writable="1">
+ <type name="MetaView" c:type="GdaMetaView"/>
+ </field>
+ </union>
+ <field name="obj_type" writable="1">
+ <type name="MetaDbObjectType" c:type="GdaMetaDbObjectType"/>
+ </field>
+ <field name="outdated" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="obj_catalog" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="obj_schema" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="obj_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="obj_short_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="obj_full_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="obj_owner" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="depend_list" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="MetaDbObject"/>
+ </type>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <enumeration name="MetaDbObjectType" c:type="GdaMetaDbObjectType">
+ <doc xml:whitespace="preserve">Type of database object which can be handled as a #GdaMetaDbObject</doc>
+ <member name="unknown" value="0" c:identifier="GDA_META_DB_UNKNOWN"/>
+ <member name="table" value="1" c:identifier="GDA_META_DB_TABLE"/>
+ <member name="view" value="2" c:identifier="GDA_META_DB_VIEW"/>
+ </enumeration>
+ <enumeration name="MetaForeignKeyPolicy" c:type="GdaMetaForeignKeyPolicy">
+ <doc xml:whitespace="preserve">Defines the filtering policy of a foreign key when invoked on an UPDATE
+or DELETE operation.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GDA_META_FOREIGN_KEY_UNKNOWN"/>
+ <member name="none" value="1" c:identifier="GDA_META_FOREIGN_KEY_NONE"/>
+ <member name="no_action"
+ value="2"
+ c:identifier="GDA_META_FOREIGN_KEY_NO_ACTION"/>
+ <member name="restrict"
+ value="3"
+ c:identifier="GDA_META_FOREIGN_KEY_RESTRICT"/>
+ <member name="cascade"
+ value="4"
+ c:identifier="GDA_META_FOREIGN_KEY_CASCADE"/>
+ <member name="set_null"
+ value="5"
+ c:identifier="GDA_META_FOREIGN_KEY_SET_NULL"/>
+ <member name="set_default"
+ value="6"
+ c:identifier="GDA_META_FOREIGN_KEY_SET_DEFAULT"/>
+ </enumeration>
+ <bitfield name="MetaGraphInfo" c:type="GdaMetaGraphInfo">
+ <member name="meta_graph_columns"
+ value="1"
+ c:identifier="GDA_META_GRAPH_COLUMNS"/>
+ </bitfield>
+ <enumeration name="MetaSortType" c:type="GdaMetaSortType">
+ <doc xml:whitespace="preserve">Types of sorting</doc>
+ <member name="alhapetical"
+ value="0"
+ c:identifier="GDA_META_SORT_ALHAPETICAL"/>
+ <member name="dependencies"
+ value="1"
+ c:identifier="GDA_META_SORT_DEPENDENCIES"/>
+ </enumeration>
+ <class name="MetaStore"
+ c:symbol-prefix="meta_store"
+ c:type="GdaMetaStore"
+ parent="GObject.Object"
+ glib:type-name="GdaMetaStore"
+ glib:get-type="gda_meta_store_get_type"
+ glib:type-struct="MetaStoreClass">
+ <constructor name="new" c:identifier="gda_meta_store_new">
+ <doc xml:whitespace="preserve">Create a new #GdaMetaStore object.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created object, or %NULL if an error occurred</doc>
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc_string"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a connection string, or %NULL for an in-memory internal database</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_with_file"
+ c:identifier="gda_meta_store_new_with_file">
+ <doc xml:whitespace="preserve">Create a new #GdaMetaStore object using @file_name as its internal
+database</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created object, or %NULL if an error occurred</doc>
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </return-value>
+ <parameters>
+ <parameter name="file_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_meta_store_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="sql_identifier_quote"
+ c:identifier="gda_meta_store_sql_identifier_quote"
+ version="4.0.3">
+ <doc xml:whitespace="preserve">Use this method to get a correctly quoted (if necessary) SQL identifier which can be used
+to retrieve or filter information in a #GdaMetaStore which stores meta data about @cnc.
+
+The returned SQL identifier can be used in conjunction with gda_connection_update_meta_store(),
+gda_connection_get_meta_store_data(), gda_connection_get_meta_store_data_v() and
+gda_meta_store_extract().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, to free with g_free() once not needed anymore</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an SQL identifier</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="meta_changed" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="changes" transfer-ownership="none">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="meta_reset">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="suggest_update">
+ <return-value transfer-ownership="full">
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ <parameters>
+ <parameter name="suggest" transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="create_modify_data_model"
+ c:identifier="gda_meta_store_create_modify_data_model">
+ <doc xml:whitespace="preserve">Creates a new #GdaDataModelArray data model which can be used, after being correctly filled,
+with the gda_meta_store_modify*() methods.*
+
+To be used by provider's implementation</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaDataModel</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="table_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a table present in @store</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="declare_foreign_key"
+ c:identifier="gda_meta_store_declare_foreign_key"
+ version="4.2.4"
+ throws="1">
+ <doc xml:whitespace="preserve">Defines a new declared foreign key into @store. If another declared foreign key is already defined
+between the two tables and with the same name, then it is first removed.
+
+This method begins a transaction if possible (ie. none is already started), and if it can't,
+then if there is an error, the job may be partially done.
+
+A check is always performed to make sure all the database objects actually
+exist and returns an error if not. The check is performed using @mstruct if it's not %NULL (in
+this case only the tables already represented in @mstruct will be considered, in other words: @mstruct
+will not be modified), and using an internal #GdaMetaStruct is %NULL.
+
+The @catalog, @schema, @table, @ref_catalog, @ref_schema and @ref_table must follow the SQL
+identifiers naming convention, see the <link linkend="gen:sql_identifiers">SQL identifiers</link>
+section. The same convention needs to be respected for the strings in @conames and @ref_colnames.
+
+If @catalog is not %NULL, then @schema must also be not %NULL (the same restriction applies to
+ ref_catalog and @ref_schema).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mstruct" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaMetaStruct, or %NULL</doc>
+ <type name="MetaStruct" c:type="GdaMetaStruct*"/>
+ </parameter>
+ <parameter name="fk_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the foreign key to declare</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="catalog" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the catalog in which the table (for which the foreign key is for) is, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="schema" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the schema in which the table (for which the foreign key is for) is, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the table (for which the foreign key is for)</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="ref_catalog"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the catalog in which the referenced table is, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="ref_schema"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the schema in which the referenced table is, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="ref_table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the referenced table</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="nb_cols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of columns involved (>0)</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="colnames" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array of column names from the table for which the foreign key is for</doc>
+ <array length="8" zero-terminated="0" c:type="gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="ref_colnames" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array of column names from the referenced table</doc>
+ <array length="8" zero-terminated="0" c:type="gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="extract"
+ c:identifier="gda_meta_store_extract"
+ shadowed-by="extract_v"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Extracts some data stored in @store using a custom SELECT query. If the @select_sql filter involves
+SQL identifiers (such as table or column names), then the values should have been adapted using
+gda_meta_store_sql_identifier_quote().
+
+For more information about
+SQL identifiers are represented in @store, see the
+<link linkend="information_schema:sql_identifiers">meta data section about SQL identifiers</link>.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaDataModel, or %NULL if an error occurred</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="select_sql" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a SELECT statement</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="extract_v"
+ c:identifier="gda_meta_store_extract_v"
+ shadows="extract"
+ version="4.2.6"
+ throws="1">
+ <doc xml:whitespace="preserve">Extracts some data stored in @store using a custom SELECT query. If the @select_sql filter involves
+SQL identifiers (such as table or column names), then the values should have been adapted using
+gda_meta_store_sql_identifier_quote().
+
+For more information about
+SQL identifiers are represented in @store, see the
+<link linkend="information_schema:sql_identifiers">meta data section about SQL identifiers</link>.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaDataModel, or %NULL if an error occurred</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="select_sql" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a SELECT statement</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="vars" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a hash table with all variables names as keys and GValue* as value, representing values for all the variables mentioned in @select_sql. If there is no variable then this part can be omitted.</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="gchar"/>
+ <type name="GObject.Value"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute_value"
+ c:identifier="gda_meta_store_get_attribute_value"
+ throws="1">
+ <doc xml:whitespace="preserve">The #GdaMetaStore object maintains a list of (name,value) attributes (attributes names starting with a '_'
+character are for internal use only and cannot be altered). This method and the gda_meta_store_set_attribute_value()
+method allows the user to add, set or remove attributes specific to their usage.
+
+This method allows to get the value of a attribute stored in @store. The returned attribute value is
+placed at @att_value, the caller is responsible for free that string.
+
+If there is no attribute named @att_name then @att_value is set to %NULL
+and @error will contain the GDA_META_STORE_ATTRIBUTE_NOT_FOUND_ERROR error code, and FALSE is returned.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="att_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the attribute to get</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="att_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">the place to store the attribute value</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_internal_connection"
+ c:identifier="gda_meta_store_get_internal_connection">
+ <doc xml:whitespace="preserve">Get a pointer to the #GdaConnection object internally used by @store to store
+its contents.
+
+The returned connection can be used to access some other data than the one managed by @store
+itself. The returned object is not owned by the caller (if you need to keep it, then use g_object_ref()).
+Do not close the connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </return-value>
+ </method>
+ <method name="get_version" c:identifier="gda_meta_store_get_version">
+ <doc xml:whitespace="preserve">Get @store's internal schema's version</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the version (incremented each time the schema changes, backward compatible)</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="modify"
+ c:identifier="gda_meta_store_modify"
+ shadowed-by="modify_v"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Propagates an update to @store, the update's contents is represented by @new_data, this function is
+primarily reserved to database providers.
+
+For example tell @store to update its list of tables, @new_data should contain the same columns as the "_tables"
+table of @store, and contain one row per table in the store; there should not be any more argument after the @error
+argument.
+
+Now, to update only one table, the @new_data data model should have one row for the table to update (or no row
+at all if the table does not exist anymore), and have values for the primary key of the "_tables" table of
+ store, namely "table_catalog", "table_schema" and "table_name".</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="table_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the table to modify within @store</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="new_data" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaDataModel containing the new data to set in @table_name, or %NULL (treated as a data model with no row at all)</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="condition" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">SQL expression (which may contain variables) defining the rows which are being obsoleted by @new_data, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="modify_v"
+ c:identifier="gda_meta_store_modify_v"
+ shadows="modify"
+ version="4.2.6"
+ throws="1">
+ <doc xml:whitespace="preserve">Propagates an update to @store, the update's contents is represented by @new_data, this function is
+primarily reserved to database providers.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="table_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the table to modify within @store</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="new_data" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaDataModel containing the new data to set in @table_name, or %NULL (treated as a data model with no row at all)</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="condition" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">SQL expression (which may contain variables) defining the rows which are being obsoleted by @new_data, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="nvalues" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of values in @value_names and @values</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="value_names" transfer-ownership="none">
+ <doc xml:whitespace="preserve">names of values</doc>
+ <array length="3" zero-terminated="0" c:type="gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:whitespace="preserve">values</doc>
+ <array length="3" zero-terminated="0" c:type="GValue**">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="modify_with_context"
+ c:identifier="gda_meta_store_modify_with_context"
+ throws="1">
+ <doc xml:whitespace="preserve">Propagates an update to @store, the update's contents is represented by @new_data, this function is
+primarily reserved to database providers.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaMetaContext context describing what to modify in @store</doc>
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter name="new_data" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaDataModel containing the new data to set in @table_name, or %NULL (treated as a data model with no row at all)</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="schema_add_custom_object"
+ c:identifier="gda_meta_store_schema_add_custom_object"
+ throws="1">
+ <doc xml:whitespace="preserve">The internal database used by @store can be 'augmented' with some user-defined database objects
+(such as tables or views). This method allows one to add a new database object.
+
+If the internal database already contains the object, then:
+<itemizedlist>
+<listitem><para>if the object is equal to the provided description then TRUE is returned</para></listitem>
+<listitem><para>if the object exists but differs from the provided description, then FALSE is returned,
+with the GDA_META_STORE_SCHEMA_OBJECT_CONFLICT_ERROR error code</para></listitem>
+</itemizedlist>
+
+The @xml_description defines the table of view's definition, for example:
+<programlisting><![CDATA[<table name="mytable">
+
+The partial DTD for this XML description of the object to add is the following (the top node must be
+a &lt;table&gt; or a &lt;view&gt;):
+<programlisting><![CDATA[<!ELEMENT table (column*,check*,fkey*,unique*)></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the new object has successfully been added</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="xml_description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an XML description of the table or view to add to @store</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="schema_get_all_tables"
+ c:identifier="gda_meta_store_schema_get_all_tables">
+ <doc xml:whitespace="preserve">Get an ordered list of the tables @store knows about. The tables are ordered in a way that tables dependencies
+are respected: if table B has a foreign key on table A, then table A will be listed before table B in the returned
+list.</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:whitespace="preserve">a new list of tables names (as gchar*), the list must be freed when no longer needed, but the strings present in the list must not be modified.</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="schema_get_depend_tables"
+ c:identifier="gda_meta_store_schema_get_depend_tables">
+ <doc xml:whitespace="preserve">Get an ordered list of the tables @store knows about on which the @table_name table depends (recursively).
+The tables are ordered in a way that tables dependencies
+are respected: if table B has a foreign key on table A, then table A will be listed before table B in the returned
+list.</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:whitespace="preserve">a new list of tables names (as gchar*), the list must be freed when no longer needed, but the strings present in the list must not be modified.</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="table_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the table for which all the dependencies must be listed</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="schema_get_structure"
+ c:identifier="gda_meta_store_schema_get_structure"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GdaMetaStruct object representing @store's internal database structure.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaMetaStruct object, or %NULL if an error occurred</doc>
+ <type name="MetaStruct" c:type="GdaMetaStruct*"/>
+ </return-value>
+ </method>
+ <method name="schema_remove_custom_object"
+ c:identifier="gda_meta_store_schema_remove_custom_object"
+ throws="1">
+ <doc xml:whitespace="preserve">Removes the custom database object named @obj_name.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the custom object has successfully been removed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the custom object to remove</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_attribute_value"
+ c:identifier="gda_meta_store_set_attribute_value"
+ throws="1">
+ <doc xml:whitespace="preserve">Set the value of the attribute named @att_name to @att_value; see gda_meta_store_get_attribute_value() for
+more information.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="att_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the attribute to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="att_value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">value of the attribute to set, or %NULL to unset the attribute</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_identifiers_style"
+ c:identifier="gda_meta_store_set_identifiers_style"
+ version="4.2">
+ <doc xml:whitespace="preserve">Specifies how @store must handle SQL identifiers it has to store. This method is mainly used by
+database providers.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="style" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a style</doc>
+ <type name="SqlIdentifierStyle" c:type="GdaSqlIdentifierStyle"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_reserved_keywords_func"
+ c:identifier="gda_meta_store_set_reserved_keywords_func"
+ version="4.2">
+ <doc xml:whitespace="preserve">Specifies a function which @store will use to determine if a keyword is an SQL reserved
+keyword or not.
+
+This method is mainly used by database providers.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="call">
+ <doc xml:whitespace="preserve">a #GdaSqlReservedKeywordsFunc function, or %NULL</doc>
+ <type name="SqlReservedKeywordsFunc"
+ c:type="GdaSqlReservedKeywordsFunc"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="undeclare_foreign_key"
+ c:identifier="gda_meta_store_undeclare_foreign_key"
+ version="4.2.4"
+ throws="1">
+ <doc xml:whitespace="preserve">Removes a declared foreign key from @store.
+
+This method begins a transaction if possible (ie. none is already started), and if it can't, then if there
+is an error, the job may be partially done.
+
+A check is always performed to make sure all the database objects actually
+exist and returns an error if not. The check is performed using @mstruct if it's not %NULL (in
+this case only the tables already represented in @mstruct will be considered, in other words: @mstruct
+will not be modified), and using an internal #GdaMetaStruct is %NULL.
+
+See gda_meta_store_declare_foreign_key() for more information anout the @catalog, @schema, @name,
+ ref_catalog, @ref_schema and @ref_name arguments.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mstruct" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaMetaStruct, or %NULL</doc>
+ <type name="MetaStruct" c:type="GdaMetaStruct*"/>
+ </parameter>
+ <parameter name="fk_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the foreign key to declare</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="catalog" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the catalog in which the table (for which the foreign key is for) is, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="schema" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the schema in which the table (for which the foreign key is for) is, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the table (for which the foreign key is for)</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="ref_catalog"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the catalog in which the referenced table is, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="ref_schema"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the schema in which the referenced table is, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="ref_table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the referenced table</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="catalog"
+ readable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="cnc"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Connection"/>
+ </property>
+ <property name="cnc-string"
+ readable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="schema"
+ readable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="MetaStorePrivate" c:type="GdaMetaStorePrivate*"/>
+ </field>
+ <glib:signal name="meta-changed" when="first" introspectable="0">
+ <doc xml:whitespace="preserve">This signal is emitted when the @store's contents have changed (the changes are in the @changes list)</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="changes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of changes made, as a #GSList of pointers to #GdaMetaStoreChange (which must not be modified)</doc>
+ <type/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="meta-reset" when="first">
+ <doc xml:whitespace="preserve">This signal is emitted when the @store's contents have been reset completely and when
+no detailed changes are available</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="suggest-update" when="last" introspectable="0">
+ <doc xml:whitespace="preserve">This signal is emitted when the contents of a table should be updated (data to update or insert only;
+deleting data is done automatically). This signal is used for internal purposes by the #GdaConnection
+object.
+
+signal, or %NULL if signal propagation should continue</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GError error structure if there was an error when processing the</doc>
+ <type name="GLib.Error"/>
+ </return-value>
+ <parameters>
+ <parameter name="suggest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the suggested update, as a #GdaMetaContext structure</doc>
+ <type/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="MetaStoreChange" c:type="GdaMetaStoreChange">
+ <field name="c_type" writable="1">
+ <type name="MetaStoreChangeType" c:type="GdaMetaStoreChangeType"/>
+ </field>
+ <field name="table_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="keys" writable="1">
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="gpointer" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ </record>
+ <enumeration name="MetaStoreChangeType" c:type="GdaMetaStoreChangeType">
+ <member name="add" value="0" c:identifier="GDA_META_STORE_ADD"/>
+ <member name="remove" value="1" c:identifier="GDA_META_STORE_REMOVE"/>
+ <member name="modify" value="2" c:identifier="GDA_META_STORE_MODIFY"/>
+ </enumeration>
+ <record name="MetaStoreClass"
+ c:type="GdaMetaStoreClass"
+ glib:is-gtype-struct-for="MetaStore">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="cpriv">
+ <type name="MetaStoreClassPrivate" c:type="GdaMetaStoreClassPrivate*"/>
+ </field>
+ <field name="meta_reset">
+ <callback name="meta_reset">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="store" transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="suggest_update">
+ <callback name="suggest_update">
+ <return-value transfer-ownership="full">
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ <parameters>
+ <parameter name="store" transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter name="suggest" transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="meta_changed" introspectable="0">
+ <callback name="meta_changed" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="store" transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter name="changes" transfer-ownership="none">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="MetaStoreClassPrivate"
+ c:type="GdaMetaStoreClassPrivate"
+ disguised="1">
+ </record>
+ <enumeration name="MetaStoreError" c:type="GdaMetaStoreError">
+ <member name="incorrect_schema_error"
+ value="0"
+ c:identifier="GDA_META_STORE_INCORRECT_SCHEMA_ERROR"/>
+ <member name="unsupported_provider_error"
+ value="1"
+ c:identifier="GDA_META_STORE_UNSUPPORTED_PROVIDER_ERROR"/>
+ <member name="internal_error"
+ value="2"
+ c:identifier="GDA_META_STORE_INTERNAL_ERROR"/>
+ <member name="meta_context_error"
+ value="3"
+ c:identifier="GDA_META_STORE_META_CONTEXT_ERROR"/>
+ <member name="modify_contents_error"
+ value="4"
+ c:identifier="GDA_META_STORE_MODIFY_CONTENTS_ERROR"/>
+ <member name="extract_sql_error"
+ value="5"
+ c:identifier="GDA_META_STORE_EXTRACT_SQL_ERROR"/>
+ <member name="attribute_not_found_error"
+ value="6"
+ c:identifier="GDA_META_STORE_ATTRIBUTE_NOT_FOUND_ERROR"/>
+ <member name="attribute_error"
+ value="7"
+ c:identifier="GDA_META_STORE_ATTRIBUTE_ERROR"/>
+ <member name="schema_object_not_found_error"
+ value="8"
+ c:identifier="GDA_META_STORE_SCHEMA_OBJECT_NOT_FOUND_ERROR"/>
+ <member name="schema_object_conflict_error"
+ value="9"
+ c:identifier="GDA_META_STORE_SCHEMA_OBJECT_CONFLICT_ERROR"/>
+ <member name="schema_object_descr_error"
+ value="10"
+ c:identifier="GDA_META_STORE_SCHEMA_OBJECT_DESCR_ERROR"/>
+ <member name="transaction_already_started_error"
+ value="11"
+ c:identifier="GDA_META_STORE_TRANSACTION_ALREADY_STARTED_ERROR"/>
+ </enumeration>
+ <record name="MetaStorePrivate" c:type="GdaMetaStorePrivate" disguised="1">
+ </record>
+ <class name="MetaStruct"
+ c:symbol-prefix="meta_struct"
+ c:type="GdaMetaStruct"
+ parent="GObject.Object"
+ glib:type-name="GdaMetaStruct"
+ glib:get-type="gda_meta_struct_get_type"
+ glib:type-struct="MetaStructClass">
+ <constructor name="new" c:identifier="gda_meta_struct_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaMetaStruct object. The @features specifies the extra features which will also be computed:
+the more features, the more time it takes to run. Features such as table's columns, each column's attributes, etc
+are not optional and will always be computed.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GdaMetaStruct object</doc>
+ <type name="MetaStruct" c:type="GdaMetaStruct*"/>
+ </return-value>
+ <parameters>
+ <parameter name="store" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaMetaStore from which the new #GdaMetaStruct object will fetch information</doc>
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter name="features" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the kind of extra information the new #GdaMetaStruct object will compute</doc>
+ <type name="MetaStructFeature" c:type="GdaMetaStructFeature"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_meta_struct_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <method name="complement"
+ c:identifier="gda_meta_struct_complement"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GdaMetaDbObject structure in @mstruct to represent the database object (of type @type)
+which can be uniquely identified as @catalog schema @name.
+
+If @catalog is not %NULL, then @schema should not be %NULL.
+
+If both @catalog and @schema are %NULL, then the database object will be the one which is
+"visible" by default (that is which can be accessed only by its short @name name).
+
+If @catalog is %NULL and @schema is not %NULL, then the database object will be the one which
+can be accessed by its @schema name name.
+
+Important note: @catalog, @schema and @name will be used using the following convention:
+<itemizedlist>
+<listitem><para>be surrounded by double quotes for a case sensitive search</para></listitem>
+<listitem><para>otherwise for case insensitive search</para></listitem>
+</itemizedlist>
+
+For more information, see the <link linkend="information_schema:sql_identifiers">
+meta data section about SQL identifiers</link>.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaMetaDbObject corresponding to the database object if no error occurred, or %NULL</doc>
+ <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of object to add (which can be GDA_META_DB_UNKNOWN)</doc>
+ <type name="MetaDbObjectType" c:type="GdaMetaDbObjectType"/>
+ </parameter>
+ <parameter name="catalog" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the catalog the object belongs to (as a G_TYPE_STRING GValue), or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="schema" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the schema the object belongs to (as a G_TYPE_STRING GValue), or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object's name (as a G_TYPE_STRING GValue), not %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="complement_all"
+ c:identifier="gda_meta_struct_complement_all"
+ throws="1">
+ <doc xml:whitespace="preserve">This method is similar to gda_meta_struct_complement() and gda_meta_struct_complement_default()
+but creates #GdaMetaDbObject for all the database object.
+
+Please refer to gda_meta_struct_complement() form more information.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="complement_default"
+ c:identifier="gda_meta_struct_complement_default"
+ throws="1">
+ <doc xml:whitespace="preserve">This method is similar to gda_meta_struct_complement() and gda_meta_struct_complement_all()
+but creates #GdaMetaDbObject for all the
+database object which are usable using only their short name (that is which do not need to be prefixed by
+the schema in which they are to be used).
+
+Please refer to gda_meta_struct_complement() form more information.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="complement_depend"
+ c:identifier="gda_meta_struct_complement_depend"
+ throws="1">
+ <doc xml:whitespace="preserve">This method is similar to gda_meta_struct_complement() but creates #GdaMetaDbObject for all the dependencies
+of @dbo.
+
+Please refer to gda_meta_struct_complement() form more information.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dbo" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaMetaDbObject part of @mstruct</doc>
+ <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="complement_schema"
+ c:identifier="gda_meta_struct_complement_schema"
+ throws="1">
+ <doc xml:whitespace="preserve">This method is similar to gda_meta_struct_complement() but creates #GdaMetaDbObject for all the
+database object which are in the @schema schema (and in the @catalog catalog).
+If @catalog is %NULL, then any catalog will be used, and
+if @schema is %NULL then any schema will be used (if @schema is %NULL then catalog must also be %NULL).
+
+Please refer to gda_meta_struct_complement() form more information.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="catalog" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">name of a catalog, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="schema" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">name of a schema, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dump_as_graph"
+ c:identifier="gda_meta_struct_dump_as_graph"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new graph (in the GraphViz syntax) representation of @mstruct.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:whitespace="preserve">informs what kind of information to show in the resulting graph</doc>
+ <type name="MetaGraphInfo" c:type="GdaMetaGraphInfo"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_all_db_objects"
+ c:identifier="gda_meta_struct_get_all_db_objects"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get a list of all the #GdaMetaDbObject structures representing database objects in @mstruct. Note that
+no #GdaMetaDbObject structure must not be modified.</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:whitespace="preserve">a new #GSList list of pointers to #GdaMetaDbObject structures which must be destroyed after usage using g_slist_free(). The individual #GdaMetaDbObject must not be modified.</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="MetaObject"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_db_object"
+ c:identifier="gda_meta_struct_get_db_object">
+ <doc xml:whitespace="preserve">Tries to locate the #GdaMetaDbObject structure representing the database object named after
+ catalog, @schema and @name.
+
+If one or both of @catalog and @schema are %NULL, and more than one database object matches the name, then
+the return value is also %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaMetaDbObject or %NULL if not found</doc>
+ <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="catalog" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the catalog the object belongs to (as a G_TYPE_STRING GValue), or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="schema" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the schema the object belongs to (as a G_TYPE_STRING GValue), or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object's name (as a G_TYPE_STRING GValue), not %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_table_column"
+ c:identifier="gda_meta_struct_get_table_column"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Tries to find the #GdaMetaTableColumn representing the column named @col_name in @table.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaMetaTableColumn or %NULL if not found</doc>
+ <type name="MetaTableColumn" c:type="GdaMetaTableColumn*"/>
+ </return-value>
+ <parameters>
+ <parameter name="table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaMetaTable structure to find the column for</doc>
+ <type name="MetaTable" c:type="GdaMetaTable*"/>
+ </parameter>
+ <parameter name="col_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the column to find (as a G_TYPE_STRING GValue)</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sort_db_objects"
+ c:identifier="gda_meta_struct_sort_db_objects"
+ throws="1">
+ <doc xml:whitespace="preserve">Reorders the list of database objects within @mstruct in a way specified by @sort_type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sort_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the kind of sorting requested</doc>
+ <type name="MetaSortType" c:type="GdaMetaSortType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="features"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="meta-store"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="MetaStore"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="MetaStructPrivate" c:type="GdaMetaStructPrivate*"/>
+ </field>
+ </class>
+ <record name="MetaStructClass"
+ c:type="GdaMetaStructClass"
+ glib:is-gtype-struct-for="MetaStruct">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="MetaStructError" c:type="GdaMetaStructError">
+ <member name="unknown_object_error"
+ value="0"
+ c:identifier="GDA_META_STRUCT_UNKNOWN_OBJECT_ERROR"/>
+ <member name="duplicate_object_error"
+ value="1"
+ c:identifier="GDA_META_STRUCT_DUPLICATE_OBJECT_ERROR"/>
+ <member name="incoherence_error"
+ value="2"
+ c:identifier="GDA_META_STRUCT_INCOHERENCE_ERROR"/>
+ <member name="xml_error"
+ value="3"
+ c:identifier="GDA_META_STRUCT_XML_ERROR"/>
+ </enumeration>
+ <bitfield name="MetaStructFeature" c:type="GdaMetaStructFeature">
+ <doc xml:whitespace="preserve">Controls which features are computed about database objects.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GDA_META_STRUCT_FEATURE_NONE"/>
+ <member name="foreign_keys"
+ value="1"
+ c:identifier="GDA_META_STRUCT_FEATURE_FOREIGN_KEYS"/>
+ <member name="view_dependencies"
+ value="2"
+ c:identifier="GDA_META_STRUCT_FEATURE_VIEW_DEPENDENCIES"/>
+ <member name="all" value="3" c:identifier="GDA_META_STRUCT_FEATURE_ALL"/>
+ </bitfield>
+ <record name="MetaStructPrivate"
+ c:type="GdaMetaStructPrivate"
+ disguised="1">
+ </record>
+ <record name="MetaTable" c:type="GdaMetaTable">
+ <doc xml:whitespace="preserve">This structure specifies a #GdaMetaDbObject to represent a table's specific attributes,
+its contents must not be modified.
+
+Note that in some cases, the columns cannot be determined for views, and in this case the
+ columns will be %NULL (this can be the case for example with SQLite where a view
+uses a function which is not natively provided by SQLite.</doc>
+ <field name="columns" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="MetaTableColumn"/>
+ </type>
+ </field>
+ <field name="pk_cols_array" writable="1">
+ <type name="gint" c:type="gint*"/>
+ </field>
+ <field name="pk_cols_nb" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="reverse_fk_list" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="MetaTableForeignKey"/>
+ </type>
+ </field>
+ <field name="fk_list" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="MetaTableForeignKey"/>
+ </type>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <record name="MetaTableColumn" c:type="GdaMetaTableColumn">
+ <doc xml:whitespace="preserve">This structure represents a table of view's column, its contents must not be modified.</doc>
+ <field name="column_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="column_type" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="gtype" writable="1">
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="pkey" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="nullok" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="default_value" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="foreach_attribute"
+ c:identifier="gda_meta_table_column_foreach_attribute">
+ <doc xml:whitespace="preserve">Calls @func for each attribute set to tcol</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:whitespace="preserve">a #GdaAttributesManagerFunc function</doc>
+ <type name="AttributesManagerFunc"
+ c:type="GdaAttributesManagerFunc"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data to be passed as last argument of @func each time it is called</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute"
+ c:identifier="gda_meta_table_column_get_attribute">
+ <doc xml:whitespace="preserve">Get the value associated to a named attribute.
+
+Attributes can have any name, but Libgda proposes some default names, see <link linkend="libgda-5.0-Attributes-manager.synopsis">this section</link>.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has been set for @column</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="attribute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute name as a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_attribute"
+ c:identifier="gda_meta_table_column_set_attribute">
+ <doc xml:whitespace="preserve">Set the value associated to a named attribute.
+
+Attributes can have any name, but Libgda proposes some default names, see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>.
+If there is already an attribute named @attribute set, then its value is replaced with the new @value,
+except if @value is %NULL, in which case the attribute is removed.
+
+Warning: @attribute is not copied, if it needs to be freed when not used anymore, then @destroy should point to
+the functions which will free it (typically g_free()). If @attribute does not need to be freed, then @destroy can be %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="attribute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute name as a static string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="destroy"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="async">
+ <doc xml:whitespace="preserve">function called when @attribute has to be freed, or %NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="MetaTableForeignKey" c:type="GdaMetaTableForeignKey">
+ <doc xml:whitespace="preserve">This structure represents a foreign key constraint, its contents must not be modified.</doc>
+ <field name="meta_table" writable="1">
+ <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
+ </field>
+ <field name="depend_on" writable="1">
+ <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
+ </field>
+ <field name="cols_nb" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="fk_cols_array" writable="1">
+ <type name="gint" c:type="gint*"/>
+ </field>
+ <field name="fk_names_array" writable="1">
+ <type name="utf8" c:type="gchar**"/>
+ </field>
+ <field name="ref_pk_cols_array" writable="1">
+ <type name="gint" c:type="gint*"/>
+ </field>
+ <field name="ref_pk_names_array" writable="1">
+ <type name="utf8" c:type="gchar**"/>
+ </field>
+ <field name="on_update_policy" readable="0" private="1">
+ <type name="MetaForeignKeyPolicy" c:type="GdaMetaForeignKeyPolicy"/>
+ </field>
+ <field name="on_delete_policy" readable="0" private="1">
+ <type name="MetaForeignKeyPolicy" c:type="GdaMetaForeignKeyPolicy"/>
+ </field>
+ <field name="declared" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="fk_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <record name="MetaView" c:type="GdaMetaView">
+ <doc xml:whitespace="preserve">This structure specifies a #GdaMetaDbObject to represent a view's specific attributes,
+its contents must not be modified.</doc>
+ <field name="table" writable="1">
+ <type name="MetaTable" c:type="GdaMetaTable"/>
+ </field>
+ <field name="view_def" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="is_updatable" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <record name="Mutex" c:type="GdaMutex" disguised="1">
+ <method name="free" c:identifier="gda_mutex_free">
+ <doc xml:whitespace="preserve">Destroys @mutex.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="lock" c:identifier="gda_mutex_lock">
+ <doc xml:whitespace="preserve">Locks @mutex. If @mutex is already locked by another thread, the current thread will block until @mutex is unlocked by the other thread.
+
+This function can be used even if g_thread_init() has not yet been called, and, in that case, will do nothing.
+
+Note: unlike g_mutex_lock(), the #GdaMutex is recursive, which means a thread can lock it several times (and has
+to unlock it as many times to actually unlock it).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="trylock" c:identifier="gda_mutex_trylock">
+ <doc xml:whitespace="preserve">Tries to lock @mutex. If @mutex is already locked by another thread, it immediately returns FALSE.
+Otherwise it locks @mutex and returns TRUE
+
+This function can be used even if g_thread_init() has not yet been called, and, in that case, will immediately return TRUE.
+
+Note: Unlike g_mutex_trylock(), the #GdaMutex is recursive, which means a thread can lock it several times (and has
+to unlock it as many times to actually unlock it)</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if @mutex could be locked.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="unlock" c:identifier="gda_mutex_unlock">
+ <doc xml:whitespace="preserve">Unlocks @mutex. If another thread is blocked in a gda_mutex_lock() call for @mutex, it wil
+be woken and can lock @mutex itself.
+This function can be used even if g_thread_init() has not yet been called, and, in that case, will do nothing.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <function name="new" c:identifier="gda_mutex_new" introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GdaMutex.
+
+Note: Unlike g_mutex_new(), this function will return %NULL if g_thread_init() has not been called yet.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaMutex</doc>
+ <type name="Mutex" c:type="GdaMutex*"/>
+ </return-value>
+ </function>
+ </record>
+ <glib:boxed glib:name="Null"
+ c:symbol-prefix="null"
+ glib:type-name="GdaNull"
+ glib:get-type="gda_null_get_type">
+ </glib:boxed>
+ <record name="Numeric"
+ c:type="GdaNumeric"
+ glib:type-name="GdaNumeric"
+ glib:get-type="gda_numeric_get_type"
+ c:symbol-prefix="numeric">
+ <doc xml:whitespace="preserve">Holds numbers represented as strings.
+
+This struct must be considered as opaque. Any access to its members must use its
+accessors added since version 5.0.2.</doc>
+ <field name="number" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="precision" writable="1">
+ <type name="glong" c:type="glong"/>
+ </field>
+ <field name="width" writable="1">
+ <type name="glong" c:type="glong"/>
+ </field>
+ <field name="reserved" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <constructor name="new" c:identifier="gda_numeric_new" version="5.0.2">
+ <doc xml:whitespace="preserve">Creates a new #GdaNumeric with defaults.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaNumeric.</doc>
+ <type name="Numeric" c:type="GdaNumeric*"/>
+ </return-value>
+ </constructor>
+ <method name="copy" c:identifier="gda_numeric_copy">
+ <doc xml:whitespace="preserve">Creates a new #GdaNumeric structure from an existing one.
+
+Free-function: gda_numeric_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GdaNumeric which contains a copy of information in @boxed.</doc>
+ <type name="Numeric" c:type="GdaNumeric*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_numeric_free">
+ <doc xml:whitespace="preserve">Deallocates all memory associated to the given @boxed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_double"
+ c:identifier="gda_numeric_get_double"
+ version="5.0.2">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #gdouble representation of @numeric</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ </method>
+ <method name="get_precision"
+ c:identifier="gda_numeric_get_precision"
+ version="5.0.2">
+ <doc xml:whitespace="preserve">Gets the precision of a #GdaNumeric.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">an integer with the precision of a #GdaNumeric.</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ </method>
+ <method name="get_string"
+ c:identifier="gda_numeric_get_string"
+ version="5.0.2">
+ <doc xml:whitespace="preserve">Get the string representation of @numeric.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string representing the stored valued in @numeric</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_width"
+ c:identifier="gda_numeric_get_width"
+ version="5.0.2">
+ <doc xml:whitespace="preserve">Gets the width of a #GdaNumeric. (Not yet implemented).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">an integer with the width of a #GdaNumeric. (Not jet implemented).</doc>
+ <type name="glong" c:type="glong"/>
+ </return-value>
+ </method>
+ <method name="set_double"
+ c:identifier="gda_numeric_set_double"
+ version="5.0.2">
+ <doc xml:whitespace="preserve">Sets @numeric using a #gdouble represented by @number.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="number" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #gdouble</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_from_string"
+ c:identifier="gda_numeric_set_from_string">
+ <doc xml:whitespace="preserve">Sets @numeric with a number represented by @str.
+
+* Since: 5.0.2</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_precision"
+ c:identifier="gda_numeric_set_precision"
+ version="5.0.2">
+ <doc xml:whitespace="preserve">Sets the precision of a #GdaNumeric.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="precision" transfer-ownership="none">
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_width"
+ c:identifier="gda_numeric_set_width"
+ version="5.0.2">
+ <doc xml:whitespace="preserve">Sets the width of a #GdaNumeric. (Not yet implemented).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="width" transfer-ownership="none">
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="PStmt"
+ c:symbol-prefix="pstmt"
+ c:type="GdaPStmt"
+ parent="GObject.Object"
+ abstract="1"
+ glib:type-name="GdaPStmt"
+ glib:get-type="gda_pstmt_get_type"
+ glib:type-struct="PStmtClass">
+ <method name="copy_contents" c:identifier="gda_pstmt_copy_contents">
+ <doc xml:whitespace="preserve">Copies @src's data to @dest</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaPStmt object</doc>
+ <type name="PStmt" c:type="GdaPStmt*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_gda_statement"
+ c:identifier="gda_pstmt_get_gda_statement">
+ <doc xml:whitespace="preserve">Get a pointer to the #GdaStatement which led to the creation of this prepared statement.
+
+Note: if that statement has been modified since the creation of @pstmt, then this method
+will return %NULL</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaStatement</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </return-value>
+ </method>
+ <method name="set_gda_statement"
+ c:identifier="gda_pstmt_set_gda_statement">
+ <doc xml:whitespace="preserve">Informs @pstmt that it corresponds to the preparation of the @stmt statement</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="PStmtPrivate" c:type="GdaPStmtPrivate*"/>
+ </field>
+ <field name="sql">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="param_ids" introspectable="0">
+ <type name="GLib.SList" c:type="GSList*">
+ <type c:type="string"/>
+ </type>
+ </field>
+ <field name="ncols">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="types">
+ <type name="GType" c:type="GType*"/>
+ </field>
+ <field name="tmpl_columns" introspectable="0">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="Colum"/>
+ </type>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </class>
+ <record name="PStmtClass"
+ c:type="GdaPStmtClass"
+ glib:is-gtype-struct-for="PStmt">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="PStmtPrivate" c:type="GdaPStmtPrivate" disguised="1">
+ </record>
+ <record name="ProviderInfo" c:type="GdaProviderInfo">
+ <doc xml:whitespace="preserve">This structure holds the information associated to a database provider as discovered by Libgda.</doc>
+ <field name="id" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="location" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="description" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="dsn_params" writable="1">
+ <type name="Set" c:type="GdaSet*"/>
+ </field>
+ <field name="auth_params" writable="1">
+ <type name="Set" c:type="GdaSet*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <record name="QuarkList"
+ c:type="GdaQuarkList"
+ glib:type-name="GdaQuarkList"
+ glib:get-type="gda_quark_list_get_type"
+ c:symbol-prefix="quark_list">
+ <constructor name="new" c:identifier="gda_quark_list_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaQuarkList, which is a set of key->value pairs,
+very similar to GLib's GHashTable, but with the only purpose to
+make easier the parsing and creation of data source connection
+strings.
+
+
+Free-function: gda_quark_list_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GdaQuarkList.</doc>
+ <type name="QuarkList" c:type="GdaQuarkList*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_from_string"
+ c:identifier="gda_quark_list_new_from_string">
+ <doc xml:whitespace="preserve">Creates a new #GdaQuarkList given a string.
+
+ string must be a semi-colon separated list of "&lt;key&gt;=&lt;value&gt;" strings (for example
+"DB_NAME=notes;USERNAME=alfred"). Each key and value must respect the RFC 1738 recommendations: the
+<constant>&lt;&gt;&quot;#%{}|\^~[]&apos;`;/?:@=&amp;</constant> and space characters are replaced by
+<constant>&quot;%%ab&quot;</constant> where
+<constant>ab</constant> is the hexadecimal number corresponding to the character (for example the
+"DB_NAME=notes;USERNAME=al%%20fred" string will specify a username as "al fred"). If this formalism
+is not respected, then some unexpected results may occur.
+
+
+Free-function: gda_quark_list_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GdaQuarkList.</doc>
+ <type name="QuarkList" c:type="GdaQuarkList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add_from_string"
+ c:identifier="gda_quark_list_add_from_string">
+ <doc xml:whitespace="preserve">@string must be a semi-colon separated list of "&lt;key&gt;=&lt;value&gt;" strings (for example
+"DB_NAME=notes;USERNAME=alfred"). Each key and value must respect the RFC 1738 recommendations: the
+<constant>&lt;&gt;&quot;#%{}|\^~[]&apos;`;/?:@=&amp;</constant> and space characters are replaced by
+<constant>&quot;%%ab&quot;</constant> where
+<constant>ab</constant> is the hexadecimal number corresponding to the character (for example the
+"DB_NAME=notes;USERNAME=al%%20fred" string will specify a username as "al fred"). If this formalism
+is not respected, then some unexpected results may occur.
+
+Adds new key->value pairs from the given @string. If @cleanup is
+set to %TRUE, the previous contents will be discarded before adding
+the new pairs.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="cleanup" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether to cleanup the previous content or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clear" c:identifier="gda_quark_list_clear">
+ <doc xml:whitespace="preserve">Removes all strings in the given #GdaQuarkList.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="copy" c:identifier="gda_quark_list_copy">
+ <doc xml:whitespace="preserve">Creates a new #GdaQuarkList from an existing one.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GdaQuarkList with a copy of the data in @qlist.</doc>
+ <type name="QuarkList" c:type="GdaQuarkList*"/>
+ </return-value>
+ </method>
+ <method name="find" c:identifier="gda_quark_list_find">
+ <doc xml:whitespace="preserve">Searches for the value identified by @name in the given #GdaQuarkList.
+
+if not found.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value associated with the given key if found, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the value to search for.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="foreach" c:identifier="gda_quark_list_foreach">
+ <doc xml:whitespace="preserve">Calls the given function for each of the key/value pairs in @qlist. The function is passed the key and value
+of each pair, and the given user_data parameter. @qlist may not be modified while iterating over it.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:whitespace="preserve">the function to call for each key/value pair</doc>
+ <type name="GLib.HFunc" c:type="GHFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data to pass to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gda_quark_list_free">
+ <doc xml:whitespace="preserve">Releases all memory occupied by the given #GdaQuarkList.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="remove" c:identifier="gda_quark_list_remove">
+ <doc xml:whitespace="preserve">Removes an entry from the #GdaQuarkList, given its name.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an entry name.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="RepetitiveStatement"
+ c:symbol-prefix="repetitive_statement"
+ c:type="GdaRepetitiveStatement"
+ parent="GObject.Object"
+ glib:type-name="GdaRepetitiveStatement"
+ glib:get-type="gda_repetitive_statement_get_type"
+ glib:type-struct="RepetitiveStatementClass">
+ <constructor name="new"
+ c:identifier="gda_repetitive_statement_new"
+ version="4.2">
+ <doc xml:whitespace="preserve">Creates a new #GdaRepetitiveStatement object which, when executed, will execute @stmt once for all
+the values set which will have been defined using gda_repetitive_statement_append_set().
+Use gda_connection_repetitive_statement_execute() to actually execute it.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaRepetitiveStatement object</doc>
+ <type name="RepetitiveStatement" c:type="GdaRepetitiveStatement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="append_set"
+ c:identifier="gda_repetitive_statement_append_set"
+ version="4.2">
+ <doc xml:whitespace="preserve">Specifies that @rstmt be executed one time with the values contained in @values.
+
+A new #GdaSet to be used as the @values argument can be obtained using
+gda_repetitive_statement_get_template_set().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a new #GdaRepetitiveStatement object</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSet object with the values to be used</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="make_copy" transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @values is copied, and %FALSE if @values is only ref'ed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_all_sets"
+ c:identifier="gda_repetitive_statement_get_all_sets"
+ version="4.2">
+ <doc xml:whitespace="preserve">Get all the values sets which will have been added using gda_repetitive_statement_append_set().</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:whitespace="preserve">a new #GSList of #GdaSet objects (free with g_slist_free()).</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="Set"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_template_set"
+ c:identifier="gda_repetitive_statement_get_template_set"
+ version="4.2"
+ throws="1">
+ <doc xml:whitespace="preserve">Gets a new #GdaSet object with the parameters used by the template statement in the
+ rstmt object.
+
+Use this object with gda_repetitive_statement_append_set().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE on success, %FALSE on error</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="set" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store the returned template set</doc>
+ <type name="Set" c:type="GdaSet**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="statement"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Statement"/>
+ </property>
+ <field name="parent_instance">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ </class>
+ <record name="RepetitiveStatementClass"
+ c:type="GdaRepetitiveStatementClass"
+ glib:is-gtype-struct-for="RepetitiveStatement">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
+ <class name="Row"
+ c:symbol-prefix="row"
+ c:type="GdaRow"
+ parent="GObject.Object"
+ glib:type-name="GdaRow"
+ glib:get-type="gda_row_get_type"
+ glib:type-struct="RowClass">
+ <constructor name="new" c:identifier="gda_row_new">
+ <doc xml:whitespace="preserve">Creates a #GdaRow which can hold @count #GValue values.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GdaRow object.</doc>
+ <type name="Row" c:type="GdaRow*"/>
+ </return-value>
+ <parameters>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of #GValue in the new #GdaRow.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_length" c:identifier="gda_row_get_length">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of columns that the @row has.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_value" c:identifier="gda_row_get_value">
+ <doc xml:whitespace="preserve">Gets a pointer to a #GValue stored in a #GdaRow.
+
+This is a pointer to the internal array of values. Don't try to free
+or modify it (modifying is reserved to database provider's implementations).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GValue in the position @num of @row.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:whitespace="preserve">field index.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="invalidate_value" c:identifier="gda_row_invalidate_value">
+ <doc xml:whitespace="preserve">Marks @value as being invalid. This method is mainly used by database
+providers' implementations to report any error while reading a value from the database.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue belonging to @row (obtained with gda_row_get_value()).</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="invalidate_value_e"
+ c:identifier="gda_row_invalidate_value_e"
+ version="4.2.10">
+ <doc xml:whitespace="preserve">Marks @value as being invalid. This method is mainly used by database
+providers' implementations to report any error while reading a value from the database.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue belonging to @row (obtained with gda_row_get_value()).</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="full" allow-none="1">
+ <doc xml:whitespace="preserve">the error which lead to the invalidation</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="value_is_valid" c:identifier="gda_row_value_is_valid">
+ <doc xml:whitespace="preserve">Tells if @value has been marked as being invalid by gda_row_invalidate_value().
+This method is mainly used by database
+providers' implementations to report any error while reading a value from the database.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @value is valid</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue belonging to @row (obtained with gda_row_get_value()).</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="value_is_valid_e"
+ c:identifier="gda_row_value_is_valid_e"
+ version="4.2.10"
+ throws="1">
+ <doc xml:whitespace="preserve">Tells if @value has been marked as being invalid by gda_row_invalidate_value().
+This method is mainly used by database
+providers' implementations to report any error while reading a value from the database.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @value is valid</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue belonging to @row (obtained with gda_row_get_value()).</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="nb-values"
+ readable="0"
+ writable="1"
+ transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="RowPrivate" c:type="GdaRowPrivate*"/>
+ </field>
+ </class>
+ <record name="RowClass"
+ c:type="GdaRowClass"
+ glib:is-gtype-struct-for="Row">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="RowPrivate" c:type="GdaRowPrivate" disguised="1">
+ </record>
+ <constant name="SQLSTATE_GENERAL_ERROR"
+ value="HY000"
+ c:type="GDA_SQLSTATE_GENERAL_ERROR">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="SQLSTATE_NO_ERROR"
+ value="00000"
+ c:type="GDA_SQLSTATE_NO_ERROR">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <class name="ServerOperation"
+ c:symbol-prefix="server_operation"
+ c:type="GdaServerOperation"
+ parent="GObject.Object"
+ glib:type-name="GdaServerOperation"
+ glib:get-type="gda_server_operation_get_type"
+ glib:type-struct="ServerOperationClass">
+ <constructor name="new" c:identifier="gda_server_operation_new">
+ <doc xml:whitespace="preserve">IMPORTANT NOTE: Using this funtion is not the recommended way of creating a #GdaServerOperation object, the
+correct way is to use gda_server_provider_create_operation(); this method is reserved for the database provider's
+implementation.
+
+Creates a new #GdaServerOperation object from the @xml_file specifications
+
+The @xml_file must respect the DTD described in the "libgda-server-operation.dtd" file: its top
+node must be a &lt;serv_op&gt; tag.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaServerOperation object</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </return-value>
+ <parameters>
+ <parameter name="op_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">type of operation</doc>
+ <type name="ServerOperationType" c:type="GdaServerOperationType"/>
+ </parameter>
+ <parameter name="xml_file" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file which has the specifications for the GdaServerOperation object to create</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="error_quark"
+ c:identifier="gda_server_operation_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="op_type_to_string"
+ c:identifier="gda_server_operation_op_type_to_string">
+ <doc xml:whitespace="preserve">Get a string version of @type</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a non %NULL string (do not free or modify)</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaServerOperationType value</doc>
+ <type name="ServerOperationType" c:type="GdaServerOperationType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="prepare_create_database"
+ c:identifier="gda_server_operation_prepare_create_database"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GdaServerOperation object which contains the specifications required
+to create a database. Once these specifications provided, use
+gda_server_operation_perform_create_database() to perform the database creation.
+
+If @db_name is left %NULL, then the name of the database to create will have to be set in the
+returned #GdaServerOperation using gda_server_operation_set_value_at().
+
+creation</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">new #GdaServerOperation object, or %NULL if the provider does not support database</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the database provider to use</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="db_name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the name of the database to create, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="prepare_create_table"
+ c:identifier="gda_server_operation_prepare_create_table"
+ version="4.2.3"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Add more arguments if the flag needs them:
+
+GDA_SERVER_OPERATION_CREATE_TABLE_FKEY_FLAG:
+<itemizedlist>
+<listitem><para>string with the table's name referenced</para></listitem>
+<listitem><para>an integer with the number pairs "local_field", "referenced_field"
+used in the reference</para></listitem>
+<listitem><para>Pairs of "local_field", "referenced_field" to use, must match
+the number specified above.</para></listitem>
+<listitem><para>a string with the action for ON DELETE; can be: "RESTRICT", "CASCADE",
+"NO ACTION", "SET NULL" and "SET DEFAULT". Example: "ON UPDATE CASCADE".</para></listitem>
+<listitem><para>a string with the action for ON UPDATE (see above).</para></listitem>
+</itemizedlist>
+
+Create a #GdaServerOperation object using an opened connection, taking three
+arguments, a column's name the column's GType and #GdaServerOperationCreateTableFlag
+flag, you need to finish the list using %NULL.
+
+You'll be able to modify the #GdaServerOperation object to add custom options * to the operation. When finished call #gda_server_operation_perform_create_table
+or #gda_server_provider_perform_operation
+in order to execute the operation.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaServerOperation if no errors; NULL and set @error otherwise</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an opened connection</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="table_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the table to create</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="prepare_drop_database"
+ c:identifier="gda_server_operation_prepare_drop_database"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GdaServerOperation object which contains the specifications required
+to drop a database. Once these specifications provided, use
+gda_server_operation_perform_drop_database() to perform the database creation.
+
+If @db_name is left %NULL, then the name of the database to drop will have to be set in the
+returned #GdaServerOperation using gda_server_operation_set_value_at().
+
+destruction</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">new #GdaServerOperation object, or %NULL if the provider does not support database</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the database provider to use</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="db_name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the name of the database to drop, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="prepare_drop_table"
+ c:identifier="gda_server_operation_prepare_drop_table"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">This is just a convenient function to create a #GdaServerOperation to drop a
+table in an opened connection.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaServerOperation or %NULL if couldn't create the opereration.</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an opened connection</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="table_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the table to drop</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="string_to_op_type"
+ c:identifier="gda_server_operation_string_to_op_type"
+ version="4.2">
+ <doc xml:whitespace="preserve">Performs the reverse of gda_server_operation_op_type_to_string()
+
+of a #GdaServerOperationType</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaServerOperationType represented by @str, or #G_MAXINT if @str is not a valid representation</doc>
+ <type name="ServerOperationType" c:type="GdaServerOperationType"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="seq_item_added">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="seq_path" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="item_index" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="seq_item_remove">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="seq_path" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="item_index" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_item_to_sequence"
+ c:identifier="gda_server_operation_add_item_to_sequence">
+ <doc xml:whitespace="preserve">been added to the sequence.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index of the new entry in the sequence (like 5 for example if a 6th item has</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="seq_path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the path to the sequence to which an item must be added (like "/SEQ_NAME" for instance)</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="del_item_from_sequence"
+ c:identifier="gda_server_operation_del_item_from_sequence">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the specified node has been removed from the sequence</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="item_path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the path to the sequence's item to remove (like "/SEQ_NAME/5" for instance)</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_node_info"
+ c:identifier="gda_server_operation_get_node_info"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get information about the node identified by @path. The returned #GdaServerOperationNode structure can be
+copied but not modified; it may change or cease to exist if @op changes</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaServerOperationNode structure, or %NULL if the node was not found</doc>
+ <type c:type="GdaServerOperationNode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="path_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a node (starting with "/") as a format string, similar to g_strdup_printf()'s argument</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_node_parent"
+ c:identifier="gda_server_operation_get_node_parent">
+ <doc xml:whitespace="preserve">Get the complete path to the parent of the node defined by @path</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string or %NULL if the node does not have any parent or does not exist.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_node_path_portion"
+ c:identifier="gda_server_operation_get_node_path_portion">
+ <doc xml:whitespace="preserve">Get the last part of @path</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_node_type"
+ c:identifier="gda_server_operation_get_node_type">
+ <doc xml:whitespace="preserve">Convenience function to get the type of a node.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of node, or GDA_SERVER_OPERATION_NODE_UNKNOWN if the node was not found</doc>
+ <type name="ServerOperationNodeType"
+ c:type="GdaServerOperationNodeType"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="status" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a place to store the status of the node, or %NULL</doc>
+ <type name="ServerOperationNodeStatus"
+ c:type="GdaServerOperationNodeStatus*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_op_type"
+ c:identifier="gda_server_operation_get_op_type">
+ <doc xml:whitespace="preserve">Get the type of operation @op is for</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaServerOperationType enum</doc>
+ <type name="ServerOperationType" c:type="GdaServerOperationType"/>
+ </return-value>
+ </method>
+ <method name="get_root_nodes"
+ c:identifier="gda_server_operation_get_root_nodes">
+ <doc xml:whitespace="preserve">Get an array of strings containing the paths of nodes situated at the root of @op.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new array, which must be freed with g_strfreev().</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </method>
+ <method name="get_sequence_item_names"
+ c:identifier="gda_server_operation_get_sequence_item_names">
+ <doc xml:whitespace="preserve">Fetch the contents of a sequence. @path can describe either a sequence (for example "/SEQNAME") or an item in a sequence
+(for example "/SEQNAME/3")</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a array of strings containing the complete paths of the nodes contained at @path (free with g_strfreev())</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a sequence node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sequence_max_size"
+ c:identifier="gda_server_operation_get_sequence_max_size">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maximum number of items in the sequence at @path, or 0 if @path is not a sequence node</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a sequence node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sequence_min_size"
+ c:identifier="gda_server_operation_get_sequence_min_size">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minimum number of items in the sequence at @path, or 0 if @path is not a sequence node</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a sequence node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sequence_name"
+ c:identifier="gda_server_operation_get_sequence_name">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the sequence at @path</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a sequence node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sequence_size"
+ c:identifier="gda_server_operation_get_sequence_size">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of items in the sequence at @path, or 0 if @path is not a sequence node</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a sequence node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sql_identifier_at"
+ c:identifier="gda_server_operation_get_sql_identifier_at"
+ shadowed-by="get_sql_identifier_at_path"
+ version="4.0.3"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This method is similar to gda_server_operation_get_value_at(), but for SQL identifiers: a new string
+is returned instead of a #GValue. Also the returned string is assumed to represents an SQL identifier
+and will correctly be quoted to be used with @cnc, or @prov if @cnc is %NULL (a generic quoting rule
+will be applied if both are %NULL).
+
+if the @path is not defined or @path does not hold any value, or if the value held is not a string
+(in that last case a warning is shown).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, or %NULL if the value is undefined or</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="prov" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaServerProvider, or %NULL</doc>
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="path_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sql_identifier_at_path"
+ c:identifier="gda_server_operation_get_sql_identifier_at_path"
+ shadows="get_sql_identifier_at"
+ version="4.2.6">
+ <doc xml:whitespace="preserve">This method is similar to gda_server_operation_get_value_at(), but for SQL identifiers: a new string
+is returned instead of a #GValue. Also the returned string is assumed to represents an SQL identifier
+and will correctly be quoted to be used with @cnc, or @prov if @cnc is %NULL (a generic quoting rule
+will be applied if both are %NULL).
+
+if the @path is not defined or @path does not hold any value, or if the value held is not a string
+(in that last case a warning is shown).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, or %NULL if the value is undefined or</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="prov" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaServerProvider, or %NULL</doc>
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_at"
+ c:identifier="gda_server_operation_get_value_at"
+ shadowed-by="get_value_at_path"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get the value for the node at the path formed using @path_format and ... (the rules are the same as
+for g_strdup_printf())
+
+if the @path is not defined or @path does not hold any value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a constant #GValue if a value has been defined, or %NULL if the value is undefined or</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="path_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_at_path"
+ c:identifier="gda_server_operation_get_value_at_path"
+ shadows="get_value_at"
+ version="4.2.6">
+ <doc xml:whitespace="preserve">Get the value for the node at the @path path</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a constant #GValue if a value has been defined, or %NULL if the value is undefined or if the @path is not defined or @path does not hold any value.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_valid"
+ c:identifier="gda_server_operation_is_valid"
+ throws="1">
+ <doc xml:whitespace="preserve">Tells if all the required values in @op have been defined.
+
+if @xml_file is not %NULL, the validity of @op is tested against that specification,
+and not against the current @op's specification.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @op is valid</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="xml_file" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an XML specification file (see gda_server_operation_new()) or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="load_data_from_xml"
+ c:identifier="gda_server_operation_load_data_from_xml"
+ throws="1">
+ <doc xml:whitespace="preserve">Loads the contents of @node into @op. The XML tree passed through the @node
+argument must correspond to an XML tree saved using gda_server_operation_save_data_to_xml().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #xmlNodePtr</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="perform_create_database"
+ c:identifier="gda_server_operation_perform_create_database"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new database using the specifications in @op. @op can be obtained using
+gda_server_provider_create_operation(), or gda_server_operation_prepare_create_database().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred and the database has been created, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the database provider to use, or %NULL if @op has been created using gda_server_operation_prepare_create_database()</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="perform_create_table"
+ c:identifier="gda_server_operation_perform_create_table"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">Performs a prepared #GdaServerOperation to create a table. This could perform
+an operation created by #gda_server_operation_prepare_create_table or any other using the
+the #GdaServerOperation API.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the table was created; FALSE and set @error otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="perform_drop_database"
+ c:identifier="gda_server_operation_perform_drop_database"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">Destroys an existing database using the specifications in @op. @op can be obtained using
+gda_server_provider_create_operation(), or gda_server_operation_prepare_drop_database().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred and the database has been destroyed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the database provider to use, or %NULL if @op has been created using gda_server_operation_prepare_drop_database()</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="perform_drop_table"
+ c:identifier="gda_server_operation_perform_drop_table"
+ version="4.2.3"
+ throws="1">
+ <doc xml:whitespace="preserve">This is just a convenient function to perform a drop a table operation.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the table was dropped</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="save_data_to_xml"
+ c:identifier="gda_server_operation_save_data_to_xml"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #xmlNodePtr tree which can be used to save the #op object. This
+XML structure can then be saved to disk if necessary. Use xmlFreeNode to free
+the associated memory when not needed anymore.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #xmlNodePtr structure, or %NULL</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </return-value>
+ </method>
+ <method name="set_value_at"
+ c:identifier="gda_server_operation_set_value_at"
+ shadowed-by="set_value_at_path"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Set the value for the node at the path formed using @path_format and the ... ellipse (the rules are the same as
+for g_strdup_printf()).
+
+Note that trying to set a value for a path which is not used by the current
+provider, such as "/TABLE_OPTIONS_P/TABLE_ENGINE" for a PostgreSQL connection (this option is only supported for MySQL),
+will <emphasis>not</emphasis> generate
+any error; this allows one to give values to a superset of the parameters and thus use the same code for several providers.
+
+Here are the possible formats of @path_format:
+<itemizedlist>
+<listitem><para>If the path corresponds to a #GdaHolder, then the parameter is set to <![CDATA["@value"]]></para></listitem>
+<listitem><para>If the path corresponds to a sequence item like for example "/SEQUENCE_NAME/5/NAME" for
+the "NAME" value of the 6th item of the "SEQUENCE_NAME" sequence then:
+<itemizedlist>
+<listitem><para>if the sequence already has 6 or more items, then the value is just set to the corresponding
+value in the 6th item of the sequence</para></listitem>
+<listitem><para>if the sequence has less then 6 items, then items are added up to the 6th one before setting
+the value to the corresponding in the 6th item of the sequence</para></listitem>
+</itemizedlist>
+</para></listitem>
+<listitem><para>If the path corresponds to a #GdaDataModel, like for example "/ARRAY/@@COLUMN/5" for the value at the
+6th row of the "COLUMN" column of the "ARRAY" data model, then:
+<itemizedlist>
+<listitem><para>if the data model already contains 6 or more rows, then the value is just set</para></listitem>
+<listitem><para>if the data model has less than 6 rows, then rows are added up to the 6th one before setting
+the value</para></listitem>
+</itemizedlist>
+</para></listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store errors or %NULL</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="path_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_value_at_path"
+ c:identifier="gda_server_operation_set_value_at_path"
+ shadows="set_value_at"
+ version="4.2.6"
+ throws="1">
+ <doc xml:whitespace="preserve">Set the value for the node at the path formed using @path_format and the ... ellipse (the rules are the same as
+for g_strdup_printf()).
+
+Note that trying to set a value for a path which is not used by the current
+provider, such as "/TABLE_OPTIONS_P/TABLE_ENGINE" for a PostgreSQL connection (this option is only supported for MySQL),
+will <emphasis>not</emphasis> generate
+any error; this allows one to give values to a superset of the parameters and thus use the same code for several providers.
+
+Here are the possible formats of @path_format:
+<itemizedlist>
+<listitem><para>If the path corresponds to a #GdaHolder, then the parameter is set to <![CDATA["@value"]]></para></listitem>
+<listitem><para>If the path corresponds to a sequence item like for example "/SEQUENCE_NAME/5/NAME" for
+the "NAME" value of the 6th item of the "SEQUENCE_NAME" sequence then:
+<itemizedlist>
+<listitem><para>if the sequence already has 6 or more items, then the value is just set to the corresponding
+value in the 6th item of the sequence</para></listitem>
+<listitem><para>if the sequence has less then 6 items, then items are added up to the 6th one before setting
+the value to the corresponding in the 6th item of the sequence</para></listitem>
+</itemizedlist>
+</para></listitem>
+<listitem><para>If the path corresponds to a #GdaDataModel, like for example "/ARRAY/@@COLUMN/5" for the value at the
+6th row of the "COLUMN" column of the "ARRAY" data model, then:
+<itemizedlist>
+<listitem><para>if the data model already contains 6 or more rows, then the value is just set</para></listitem>
+<listitem><para>if the data model has less than 6 rows, then rows are added up to the 6th one before setting
+the value</para></listitem>
+</itemizedlist>
+</para></listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a complete path to a node (starting with "/")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="connection"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Connection"/>
+ </property>
+ <property name="op-type"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="provider"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="ServerProvider"/>
+ </property>
+ <property name="spec-filename"
+ readable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="ServerOperationPrivate"
+ c:type="GdaServerOperationPrivate*"/>
+ </field>
+ <glib:signal name="sequence-item-added" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever a new sequence item (from a sequence template) has been added</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="seq_path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the path to the new sequence item</doc>
+ <type name="utf8"/>
+ </parameter>
+ <parameter name="item_index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index (starting from 0) of the new sequence item in the sequence</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="sequence-item-remove" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever a sequence item is about to be removed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="seq_path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the path to the sequence item to be removed</doc>
+ <type name="utf8"/>
+ </parameter>
+ <parameter name="item_index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index (starting from 0) of the sequence item in the sequence</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ServerOperationClass"
+ c:type="GdaServerOperationClass"
+ glib:is-gtype-struct-for="ServerOperation">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="seq_item_added">
+ <callback name="seq_item_added">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </parameter>
+ <parameter name="seq_path" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="item_index" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="seq_item_remove">
+ <callback name="seq_item_remove">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </parameter>
+ <parameter name="seq_path" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="item_index" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <bitfield name="ServerOperationCreateTableFlag"
+ c:type="GdaServerOperationCreateTableFlag">
+ <member name="nothing_flag"
+ value="1"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_TABLE_NOTHING_FLAG"/>
+ <member name="pkey_flag"
+ value="2"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_TABLE_PKEY_FLAG"/>
+ <member name="not_null_flag"
+ value="4"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_TABLE_NOT_NULL_FLAG"/>
+ <member name="unique_flag"
+ value="8"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_TABLE_UNIQUE_FLAG"/>
+ <member name="autoinc_flag"
+ value="16"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_TABLE_AUTOINC_FLAG"/>
+ <member name="fkey_flag"
+ value="32"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_TABLE_FKEY_FLAG"/>
+ <member name="pkey_autoinc_flag"
+ value="18"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_TABLE_PKEY_AUTOINC_FLAG"/>
+ </bitfield>
+ <enumeration name="ServerOperationError" c:type="GdaServerOperationError">
+ <member name="object_name_error"
+ value="0"
+ c:identifier="GDA_SERVER_OPERATION_OBJECT_NAME_ERROR"/>
+ <member name="incorrect_value_error"
+ value="1"
+ c:identifier="GDA_SERVER_OPERATION_INCORRECT_VALUE_ERROR"/>
+ <member name="xml_error"
+ value="2"
+ c:identifier="GDA_SERVER_OPERATION_XML_ERROR"/>
+ </enumeration>
+ <enumeration name="ServerOperationNodeStatus"
+ c:type="GdaServerOperationNodeStatus">
+ <member name="optional"
+ value="0"
+ c:identifier="GDA_SERVER_OPERATION_STATUS_OPTIONAL"/>
+ <member name="required"
+ value="1"
+ c:identifier="GDA_SERVER_OPERATION_STATUS_REQUIRED"/>
+ <member name="unknown"
+ value="2"
+ c:identifier="GDA_SERVER_OPERATION_STATUS_UNKNOWN"/>
+ </enumeration>
+ <enumeration name="ServerOperationNodeType"
+ c:type="GdaServerOperationNodeType">
+ <member name="paramlist"
+ value="0"
+ c:identifier="GDA_SERVER_OPERATION_NODE_PARAMLIST"/>
+ <member name="data_model"
+ value="1"
+ c:identifier="GDA_SERVER_OPERATION_NODE_DATA_MODEL"/>
+ <member name="param"
+ value="2"
+ c:identifier="GDA_SERVER_OPERATION_NODE_PARAM"/>
+ <member name="sequence"
+ value="3"
+ c:identifier="GDA_SERVER_OPERATION_NODE_SEQUENCE"/>
+ <member name="sequence_item"
+ value="4"
+ c:identifier="GDA_SERVER_OPERATION_NODE_SEQUENCE_ITEM"/>
+ <member name="data_model_column"
+ value="5"
+ c:identifier="GDA_SERVER_OPERATION_NODE_DATA_MODEL_COLUMN"/>
+ <member name="unknown"
+ value="6"
+ c:identifier="GDA_SERVER_OPERATION_NODE_UNKNOWN"/>
+ </enumeration>
+ <record name="ServerOperationPrivate"
+ c:type="GdaServerOperationPrivate"
+ disguised="1">
+ </record>
+ <enumeration name="ServerOperationType" c:type="GdaServerOperationType">
+ <member name="create_db"
+ value="0"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_DB"/>
+ <member name="drop_db"
+ value="1"
+ c:identifier="GDA_SERVER_OPERATION_DROP_DB"/>
+ <member name="create_table"
+ value="2"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_TABLE"/>
+ <member name="drop_table"
+ value="3"
+ c:identifier="GDA_SERVER_OPERATION_DROP_TABLE"/>
+ <member name="rename_table"
+ value="4"
+ c:identifier="GDA_SERVER_OPERATION_RENAME_TABLE"/>
+ <member name="add_column"
+ value="5"
+ c:identifier="GDA_SERVER_OPERATION_ADD_COLUMN"/>
+ <member name="drop_column"
+ value="6"
+ c:identifier="GDA_SERVER_OPERATION_DROP_COLUMN"/>
+ <member name="create_index"
+ value="7"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_INDEX"/>
+ <member name="drop_index"
+ value="8"
+ c:identifier="GDA_SERVER_OPERATION_DROP_INDEX"/>
+ <member name="create_view"
+ value="9"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_VIEW"/>
+ <member name="drop_view"
+ value="10"
+ c:identifier="GDA_SERVER_OPERATION_DROP_VIEW"/>
+ <member name="comment_table"
+ value="11"
+ c:identifier="GDA_SERVER_OPERATION_COMMENT_TABLE"/>
+ <member name="comment_column"
+ value="12"
+ c:identifier="GDA_SERVER_OPERATION_COMMENT_COLUMN"/>
+ <member name="create_user"
+ value="13"
+ c:identifier="GDA_SERVER_OPERATION_CREATE_USER"/>
+ <member name="alter_user"
+ value="14"
+ c:identifier="GDA_SERVER_OPERATION_ALTER_USER"/>
+ <member name="drop_user"
+ value="15"
+ c:identifier="GDA_SERVER_OPERATION_DROP_USER"/>
+ <member name="last" value="16" c:identifier="GDA_SERVER_OPERATION_LAST"/>
+ </enumeration>
+ <class name="ServerProvider"
+ c:symbol-prefix="server_provider"
+ c:type="GdaServerProvider"
+ parent="GObject.Object"
+ abstract="1"
+ glib:type-name="GdaServerProvider"
+ glib:get-type="gda_server_provider_get_type"
+ glib:type-struct="ServerProviderClass">
+ <function name="error_quark"
+ c:identifier="gda_server_provider_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="load_file_contents"
+ c:identifier="gda_server_provider_load_file_contents">
+ <doc xml:whitespace="preserve">Loads and returns the contents of @filename, which is searched in several places
+This function should only be used by database provider's
+implementations</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string containing @filename's contents, or %NULL if not found or if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="inst_dir" transfer-ownership="none">
+ <doc xml:whitespace="preserve">directory where the database provider has been installed</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="data_dir" transfer-ownership="none">
+ <doc xml:whitespace="preserve">DATA directory to look for ($prefix/share)</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the file to load</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="add_savepoint" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="begin_transaction" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <type name="TransactionIsolation"
+ c:type="GdaTransactionIsolation"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="cancel" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="task_id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="close_connection">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="commit_transaction" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_connection" introspectable="0">
+ <return-value>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="create_operation"
+ invoker="create_operation"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GdaServerOperation object which can be modified in order to perform the @type type of
+action. The @options can contain:
+<itemizedlist>
+<listitem>named values which ID is a path in the resulting GdaServerOperation object, to initialize some value</listitem>
+<listitem>named values which may change the contents of the GdaServerOperation, see <link linkend="gda-server-op-information-std">this section</link> for more information</listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaServerOperation object, or %NULL in the provider does not support the @type type of operation or if an error occurred</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object which will be used to perform an action, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of operation requested</doc>
+ <type name="ServerOperationType" c:type="GdaServerOperationType"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an optional list of parameters</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_parser" invoker="create_parser">
+ <doc xml:whitespace="preserve">Creates a new #GdaSqlParser object which is adapted to @provider (and possibly depending on
+ cnc for the actual database version).
+
+If @prov does not have its own parser, then %NULL is returned, and a general SQL parser can be obtained
+using gda_sql_parser_new().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaSqlParser object, or %NULL.</doc>
+ <type name="SqlParser" c:type="GdaSqlParser*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="delete_savepoint" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="escape_string" invoker="escape_string">
+ <doc xml:whitespace="preserve">Escapes @str for use within an SQL command (to avoid SQL injection attacks). Note that the returned value still needs
+to be enclosed in single quotes before being used in an SQL statement.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string suitable to use in SQL statements</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string to escape</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_data_handler" introspectable="0">
+ <return-value>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="g_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="dbms_type" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_database">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_def_dbms_type">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="g_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_name" invoker="get_name">
+ <doc xml:whitespace="preserve">Get the name (identifier) of the provider</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string containing the provider's name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="get_server_version" invoker="get_server_version">
+ <doc xml:whitespace="preserve">Get the version of the database to which the connection is opened.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a (read only) string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_version" invoker="get_version">
+ <doc xml:whitespace="preserve">Get the version of the provider.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string containing the version identification.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="handle_async" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="identifier_quote">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="for_meta_store" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="force_quotes" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="is_busy" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="open_connection" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="QuarkList" c:type="GdaQuarkList*"/>
+ </parameter>
+ <parameter name="auth" transfer-ownership="none">
+ <type name="QuarkList" c:type="GdaQuarkList*"/>
+ </parameter>
+ <parameter name="task_id" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="async_cb" transfer-ownership="none" closure="5">
+ <type name="ServerProviderAsyncCallback"
+ c:type="GdaServerProviderAsyncCallback"/>
+ </parameter>
+ <parameter name="cb_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="perform_operation" introspectable="0" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="op" transfer-ownership="none">
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </parameter>
+ <parameter name="task_id" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="async_cb" transfer-ownership="none" closure="4">
+ <type name="ServerProviderAsyncCallback"
+ c:type="GdaServerProviderAsyncCallback"/>
+ </parameter>
+ <parameter name="cb_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="render_operation"
+ invoker="render_operation"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates an SQL statement (possibly using some specific extensions of the DBMS) corresponding to the
+ op operation. Note that the returned string may actually contain more than one SQL statement.
+
+This function's purpose is mainly informative to get the actual SQL code which would be executed to perform
+the operation; to actually perform the operation, use gda_server_provider_perform_operation().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred or operation cannot be rendered as SQL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object which will be used to render the action, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="op" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="rollback_savepoint" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="rollback_transaction" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="statement_execute" introspectable="0" throws="1">
+ <return-value>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="model_usage" transfer-ownership="none">
+ <type name="StatementModelUsage" c:type="GdaStatementModelUsage"/>
+ </parameter>
+ <parameter name="col_types" transfer-ownership="none">
+ <type name="GType" c:type="GType*"/>
+ </parameter>
+ <parameter name="last_inserted_row" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet**"/>
+ </parameter>
+ <parameter name="task_id" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="exec_cb" transfer-ownership="none" closure="8">
+ <type name="ServerProviderExecCallback"
+ c:type="GdaServerProviderExecCallback"/>
+ </parameter>
+ <parameter name="cb_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="statement_prepare" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="statement_rewrite" introspectable="0" throws="1">
+ <return-value>
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="statement_to_sql" introspectable="0" throws="1">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <type name="StatementSqlFlag" c:type="GdaStatementSqlFlag"/>
+ </parameter>
+ <parameter name="params_used" transfer-ownership="none">
+ <type name="GLib.SList" c:type="GSList**">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="supports_feature" invoker="supports_feature">
+ <doc xml:whitespace="preserve">Tests if a feature is supported</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @feature is supported</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GdaConnectionFeature feature to test</doc>
+ <type name="ConnectionFeature" c:type="GdaConnectionFeature"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="supports_operation" invoker="supports_operation">
+ <doc xml:whitespace="preserve">Tells if @provider supports the @type of operation on the @cnc connection, using the
+(optional) @options parameters.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the operation is supported</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object which would be used to perform an action, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of operation requested</doc>
+ <type name="ServerOperationType" c:type="GdaServerOperationType"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a list of named parameters, or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="unescape_string" invoker="unescape_string">
+ <doc xml:whitespace="preserve">Unescapes @str for use within an SQL command. This is the exact opposite of gda_server_provider_escape_string().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string to escape</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="create_operation"
+ c:identifier="gda_server_provider_create_operation"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GdaServerOperation object which can be modified in order to perform the @type type of
+action. The @options can contain:
+<itemizedlist>
+<listitem>named values which ID is a path in the resulting GdaServerOperation object, to initialize some value</listitem>
+<listitem>named values which may change the contents of the GdaServerOperation, see <link linkend="gda-server-op-information-std">this section</link> for more information</listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaServerOperation object, or %NULL in the provider does not support the @type type of operation or if an error occurred</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object which will be used to perform an action, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of operation requested</doc>
+ <type name="ServerOperationType" c:type="GdaServerOperationType"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an optional list of parameters</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_parser"
+ c:identifier="gda_server_provider_create_parser">
+ <doc xml:whitespace="preserve">Creates a new #GdaSqlParser object which is adapted to @provider (and possibly depending on
+ cnc for the actual database version).
+
+If @prov does not have its own parser, then %NULL is returned, and a general SQL parser can be obtained
+using gda_sql_parser_new().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaSqlParser object, or %NULL.</doc>
+ <type name="SqlParser" c:type="GdaSqlParser*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="escape_string"
+ c:identifier="gda_server_provider_escape_string">
+ <doc xml:whitespace="preserve">Escapes @str for use within an SQL command (to avoid SQL injection attacks). Note that the returned value still needs
+to be enclosed in single quotes before being used in an SQL statement.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string suitable to use in SQL statements</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string to escape</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_file" c:identifier="gda_server_provider_find_file">
+ <doc xml:whitespace="preserve">Finds the location of a @filename. This function should only be used by database provider's
+implementations</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the complete path to @filename, or %NULL if not found</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="inst_dir" transfer-ownership="none">
+ <doc xml:whitespace="preserve">directory where @prov is installed</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the file to find</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_data_handler_dbms"
+ c:identifier="gda_server_provider_get_data_handler_dbms">
+ <doc xml:whitespace="preserve">Find a #GdaDataHandler object to manipulate data of type @for_type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataHandler, or %NULL if the provider does not know about the @for_type type</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="for_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a DBMS type definition</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_data_handler_default"
+ c:identifier="gda_server_provider_get_data_handler_default">
+ <doc xml:whitespace="preserve">Provides the implementation when the default Libgda's data handlers must be used</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataHandler, or %NULL</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="dbms_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a DBMS type definition</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_data_handler_g_type"
+ c:identifier="gda_server_provider_get_data_handler_g_type">
+ <doc xml:whitespace="preserve">Find a #GdaDataHandler object to manipulate data of type @for_type. The returned object must not be modified.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataHandler, or %NULL if the provider does not support the requested @for_type data type</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="for_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_default_dbms_type"
+ c:identifier="gda_server_provider_get_default_dbms_type">
+ <doc xml:whitespace="preserve">Get the name of the most common data type which has @type type.
+
+The returned value may be %NULL either if the provider does not implement that method, or if
+there is no DBMS data type which could contain data of the @g_type type (for example %NULL may be
+returned if a DBMS has integers only up to 4 bytes and a #G_TYPE_INT64 is requested).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the DBMS type, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType value type</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="gda_server_provider_get_name">
+ <doc xml:whitespace="preserve">Get the name (identifier) of the provider</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string containing the provider's name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_server_version"
+ c:identifier="gda_server_provider_get_server_version">
+ <doc xml:whitespace="preserve">Get the version of the database to which the connection is opened.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a (read only) string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_version"
+ c:identifier="gda_server_provider_get_version">
+ <doc xml:whitespace="preserve">Get the version of the provider.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string containing the version identification.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="handler_declare"
+ c:identifier="gda_server_provider_handler_declare">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none">
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="g_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="dbms_type" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="handler_find"
+ c:identifier="gda_server_provider_handler_find">
+ <return-value transfer-ownership="none">
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="g_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="dbms_type" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="internal_get_parser"
+ c:identifier="gda_server_provider_internal_get_parser">
+ <doc xml:whitespace="preserve">This is a factory method to get a unique instance of a #GdaSqlParser object
+for each #GdaServerProvider object
+Don't unref it.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSqlParser</doc>
+ <type name="SqlParser" c:type="GdaSqlParser*"/>
+ </return-value>
+ </method>
+ <method name="perform_operation"
+ c:identifier="gda_server_provider_perform_operation"
+ throws="1">
+ <doc xml:whitespace="preserve">Performs the operation described by @op. Note that @op is not destroyed by this method
+and can be reused.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object which will be used to perform the action, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="op" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="perform_operation_default"
+ c:identifier="gda_server_provider_perform_operation_default"
+ throws="1">
+ <doc xml:whitespace="preserve">Performs the operation described by @op, using the SQL from the rendering of the operation</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object which will be used to perform an action, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="op" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="render_operation"
+ c:identifier="gda_server_provider_render_operation"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates an SQL statement (possibly using some specific extensions of the DBMS) corresponding to the
+ op operation. Note that the returned string may actually contain more than one SQL statement.
+
+This function's purpose is mainly informative to get the actual SQL code which would be executed to perform
+the operation; to actually perform the operation, use gda_server_provider_perform_operation().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred or operation cannot be rendered as SQL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object which will be used to render the action, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="op" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="string_to_value"
+ c:identifier="gda_server_provider_string_to_value">
+ <doc xml:whitespace="preserve">Use @provider to create a new #GValue from a single string representation.
+
+The @preferred_type can optionally ask @provider to return a #GValue of the requested type
+(but if such a value can't be created from @string, then %NULL is returned);
+pass #G_TYPE_INVALID if any returned type is acceptable.
+
+The returned value is either a new #GValue or %NULL in the following cases:
+- @string cannot be converted to @preferred_type type
+- the provider does not handle @preferred_type
+- the provider could not make a #GValue from @string
+
+If @dbms_type is not %NULL, then if will contain a constant string representing
+the database type used for the conversion if the conversion was successfull, or %NULL
+otherwise.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GValue, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the SQL string to convert to a value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="preferred_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType, or #G_TYPE_INVALID</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="dbms_type" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">place to get the actual database type used if the conversion succeeded, or %NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="supports_feature"
+ c:identifier="gda_server_provider_supports_feature">
+ <doc xml:whitespace="preserve">Tests if a feature is supported</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @feature is supported</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GdaConnectionFeature feature to test</doc>
+ <type name="ConnectionFeature" c:type="GdaConnectionFeature"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="supports_operation"
+ c:identifier="gda_server_provider_supports_operation">
+ <doc xml:whitespace="preserve">Tells if @provider supports the @type of operation on the @cnc connection, using the
+(optional) @options parameters.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the operation is supported</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object which would be used to perform an action, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of operation requested</doc>
+ <type name="ServerOperationType" c:type="GdaServerOperationType"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a list of named parameters, or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unescape_string"
+ c:identifier="gda_server_provider_unescape_string">
+ <doc xml:whitespace="preserve">Unescapes @str for use within an SQL command. This is the exact opposite of gda_server_provider_escape_string().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string to escape</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="value_to_sql_string"
+ c:identifier="gda_server_provider_value_to_sql_string">
+ <doc xml:whitespace="preserve">Produces a fully quoted and escaped string from a GValue</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">escaped and quoted value or NULL if not supported.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GValue to convert from</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="ServerProviderPrivate" c:type="GdaServerProviderPrivate*"/>
+ </field>
+ </class>
+ <callback name="ServerProviderAsyncCallback"
+ c:type="GdaServerProviderAsyncCallback">
+ <doc xml:whitespace="preserve">Function to be called by Libgda when the associated asynchronous method invoked finishes.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="task_id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="result_status" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ServerProviderClass"
+ c:type="GdaServerProviderClass"
+ glib:is-gtype-struct-for="ServerProvider">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="limiting_thread">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </field>
+ <field name="get_name">
+ <callback name="get_name">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string containing the provider's name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_version">
+ <callback name="get_version">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string containing the version identification.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_server_version">
+ <callback name="get_server_version">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a (read only) string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="supports_feature">
+ <callback name="supports_feature">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @feature is supported</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GdaConnectionFeature feature to test</doc>
+ <type name="ConnectionFeature" c:type="GdaConnectionFeature"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_data_handler" introspectable="0">
+ <callback name="get_data_handler" introspectable="0">
+ <return-value>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="g_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="dbms_type" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_def_dbms_type">
+ <callback name="get_def_dbms_type">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="g_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="escape_string">
+ <callback name="escape_string">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string suitable to use in SQL statements</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string to escape</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unescape_string">
+ <callback name="unescape_string">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string to escape</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="open_connection" introspectable="0">
+ <callback name="open_connection" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="QuarkList" c:type="GdaQuarkList*"/>
+ </parameter>
+ <parameter name="auth" transfer-ownership="none">
+ <type name="QuarkList" c:type="GdaQuarkList*"/>
+ </parameter>
+ <parameter name="task_id" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="async_cb" transfer-ownership="none" closure="6">
+ <type name="ServerProviderAsyncCallback"
+ c:type="GdaServerProviderAsyncCallback"/>
+ </parameter>
+ <parameter name="cb_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close_connection">
+ <callback name="close_connection">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_database">
+ <callback name="get_database">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="supports_operation">
+ <callback name="supports_operation">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the operation is supported</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object which would be used to perform an action, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of operation requested</doc>
+ <type name="ServerOperationType"
+ c:type="GdaServerOperationType"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a list of named parameters, or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_operation">
+ <callback name="create_operation" throws="1">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaServerOperation object, or %NULL in the provider does not support the @type type of operation or if an error occurred</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object which will be used to perform an action, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of operation requested</doc>
+ <type name="ServerOperationType"
+ c:type="GdaServerOperationType"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an optional list of parameters</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="render_operation">
+ <callback name="render_operation" throws="1">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred or operation cannot be rendered as SQL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object which will be used to render the action, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="op" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="perform_operation" introspectable="0">
+ <callback name="perform_operation" introspectable="0" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="op" transfer-ownership="none">
+ <type name="ServerOperation" c:type="GdaServerOperation*"/>
+ </parameter>
+ <parameter name="task_id" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="async_cb" transfer-ownership="none" closure="5">
+ <type name="ServerProviderAsyncCallback"
+ c:type="GdaServerProviderAsyncCallback"/>
+ </parameter>
+ <parameter name="cb_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="begin_transaction">
+ <callback name="begin_transaction" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <type name="TransactionIsolation"
+ c:type="GdaTransactionIsolation"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="commit_transaction">
+ <callback name="commit_transaction" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="rollback_transaction">
+ <callback name="rollback_transaction" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="add_savepoint">
+ <callback name="add_savepoint" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="rollback_savepoint">
+ <callback name="rollback_savepoint" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delete_savepoint">
+ <callback name="delete_savepoint" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_parser">
+ <callback name="create_parser">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaSqlParser object, or %NULL.</doc>
+ <type name="SqlParser" c:type="GdaSqlParser*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="statement_to_sql" introspectable="0">
+ <callback name="statement_to_sql" introspectable="0" throws="1">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <type name="StatementSqlFlag" c:type="GdaStatementSqlFlag"/>
+ </parameter>
+ <parameter name="params_used" transfer-ownership="none">
+ <type name="GLib.SList" c:type="GSList**">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="statement_prepare">
+ <callback name="statement_prepare" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="statement_execute" introspectable="0">
+ <callback name="statement_execute" introspectable="0" throws="1">
+ <return-value>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="model_usage" transfer-ownership="none">
+ <type name="StatementModelUsage"
+ c:type="GdaStatementModelUsage"/>
+ </parameter>
+ <parameter name="col_types" transfer-ownership="none">
+ <type name="GType" c:type="GType*"/>
+ </parameter>
+ <parameter name="last_inserted_row" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet**"/>
+ </parameter>
+ <parameter name="task_id" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="exec_cb" transfer-ownership="none" closure="9">
+ <type name="ServerProviderExecCallback"
+ c:type="GdaServerProviderExecCallback"/>
+ </parameter>
+ <parameter name="cb_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="is_busy">
+ <callback name="is_busy" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="cancel">
+ <callback name="cancel" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="task_id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_connection" introspectable="0">
+ <callback name="create_connection" introspectable="0">
+ <return-value>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="meta_funcs">
+ <type name="ServerProviderMeta" c:type="GdaServerProviderMeta"/>
+ </field>
+ <field name="xa_funcs">
+ <type name="ServerProviderXa" c:type="GdaServerProviderXa*"/>
+ </field>
+ <field name="identifier_quote">
+ <callback name="identifier_quote">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="for_meta_store" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="force_quotes" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_async">
+ <callback name="handle_async" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="statement_rewrite" introspectable="0">
+ <callback name="statement_rewrite" introspectable="0" throws="1">
+ <return-value>
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved5" introspectable="0">
+ <callback name="_gda_reserved5">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved6" introspectable="0">
+ <callback name="_gda_reserved6">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="ServerProviderError" c:type="GdaServerProviderError">
+ <member name="method_non_implemented_error"
+ value="0"
+ c:identifier="GDA_SERVER_PROVIDER_METHOD_NON_IMPLEMENTED_ERROR"/>
+ <member name="prepare_stmt_error"
+ value="1"
+ c:identifier="GDA_SERVER_PROVIDER_PREPARE_STMT_ERROR"/>
+ <member name="empty_stmt_error"
+ value="2"
+ c:identifier="GDA_SERVER_PROVIDER_EMPTY_STMT_ERROR"/>
+ <member name="missing_param_error"
+ value="3"
+ c:identifier="GDA_SERVER_PROVIDER_MISSING_PARAM_ERROR"/>
+ <member name="statement_exec_error"
+ value="4"
+ c:identifier="GDA_SERVER_PROVIDER_STATEMENT_EXEC_ERROR"/>
+ <member name="operation_error"
+ value="5"
+ c:identifier="GDA_SERVER_PROVIDER_OPERATION_ERROR"/>
+ <member name="internal_error"
+ value="6"
+ c:identifier="GDA_SERVER_PROVIDER_INTERNAL_ERROR"/>
+ <member name="busy_error"
+ value="7"
+ c:identifier="GDA_SERVER_PROVIDER_BUSY_ERROR"/>
+ <member name="non_supported_error"
+ value="8"
+ c:identifier="GDA_SERVER_PROVIDER_NON_SUPPORTED_ERROR"/>
+ <member name="server_version_error"
+ value="9"
+ c:identifier="GDA_SERVER_PROVIDER_SERVER_VERSION_ERROR"/>
+ <member name="data_error"
+ value="10"
+ c:identifier="GDA_SERVER_PROVIDER_DATA_ERROR"/>
+ <member name="default_value_handling_error"
+ value="11"
+ c:identifier="GDA_SERVER_PROVIDER_DEFAULT_VALUE_HANDLING_ERROR"/>
+ <member name="misuse_error"
+ value="12"
+ c:identifier="GDA_SERVER_PROVIDER_MISUSE_ERROR"/>
+ <member name="file_not_found_error"
+ value="13"
+ c:identifier="GDA_SERVER_PROVIDER_FILE_NOT_FOUND_ERROR"/>
+ </enumeration>
+ <callback name="ServerProviderExecCallback"
+ c:type="GdaServerProviderExecCallback">
+ <doc xml:whitespace="preserve">Function to be called by Libgda when the associated asynchronous method invoked finishes</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="task_id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="result_obj" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ServerProviderHandlerInfo"
+ c:type="GdaServerProviderHandlerInfo">
+ <field name="cnc" writable="1">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </field>
+ <field name="g_type" writable="1">
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="dbms_type" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ </record>
+ <record name="ServerProviderInfo"
+ c:type="GdaServerProviderInfo"
+ disguised="1">
+ </record>
+ <record name="ServerProviderMeta" c:type="GdaServerProviderMeta">
+ <doc xml:whitespace="preserve">These methods must be implemented by providers to update a connection's associated metadata (in a
+#GdaMetaStore object), see the <link linkend="prov-metadata">Virtual methods for providers/Methods - metadata</link>
+for more information.</doc>
+ <field name="_info" introspectable="0">
+ <callback name="_info" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_btypes" introspectable="0">
+ <callback name="_btypes" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_udt" introspectable="0">
+ <callback name="_udt" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="udt">
+ <callback name="udt">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="udt_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="udt_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_udt_cols" introspectable="0">
+ <callback name="_udt_cols" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="udt_cols">
+ <callback name="udt_cols">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="udt_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="udt_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="udt_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_enums" introspectable="0">
+ <callback name="_enums" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="enums">
+ <callback name="enums">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="udt_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="udt_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="udt_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_domains" introspectable="0">
+ <callback name="_domains" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="domains">
+ <callback name="domains">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="domain_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="domain_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_constraints_dom" introspectable="0">
+ <callback name="_constraints_dom" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="constraints_dom">
+ <callback name="constraints_dom">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="domain_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="domain_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="domain_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_el_types" introspectable="0">
+ <callback name="_el_types" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="el_types">
+ <callback name="el_types">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="specific_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_collations" introspectable="0">
+ <callback name="_collations" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="collations">
+ <callback name="collations">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="collation_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="collation_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="collation_name_n" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_character_sets" introspectable="0">
+ <callback name="_character_sets" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="character_sets">
+ <callback name="character_sets">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="chset_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="chset_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="chset_name_n" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_schemata" introspectable="0">
+ <callback name="_schemata" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="schemata">
+ <callback name="schemata">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="catalog_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="schema_name_n" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_tables_views" introspectable="0">
+ <callback name="_tables_views" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="tables_views">
+ <callback name="tables_views">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="table_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_name_n" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_columns" introspectable="0">
+ <callback name="_columns" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="columns">
+ <callback name="columns">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="table_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_view_cols" introspectable="0">
+ <callback name="_view_cols" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="view_cols">
+ <callback name="view_cols">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="view_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="view_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="view_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_constraints_tab" introspectable="0">
+ <callback name="_constraints_tab" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="constraints_tab">
+ <callback name="constraints_tab">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="table_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="constraint_name_n" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_constraints_ref" introspectable="0">
+ <callback name="_constraints_ref" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="constraints_ref">
+ <callback name="constraints_ref">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="table_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="constraint_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_key_columns" introspectable="0">
+ <callback name="_key_columns" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="key_columns">
+ <callback name="key_columns">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="table_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="constraint_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_check_columns" introspectable="0">
+ <callback name="_check_columns" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="check_columns">
+ <callback name="check_columns">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="table_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="constraint_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_triggers" introspectable="0">
+ <callback name="_triggers" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="triggers">
+ <callback name="triggers">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="table_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_routines" introspectable="0">
+ <callback name="_routines" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="routines">
+ <callback name="routines">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="routine_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="routine_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="routine_name_n" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_routine_col" introspectable="0">
+ <callback name="_routine_col" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="routine_col">
+ <callback name="routine_col">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="rout_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="rout_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="rout_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_routine_par" introspectable="0">
+ <callback name="_routine_par" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="routine_par">
+ <callback name="routine_par">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="rout_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="rout_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="rout_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_indexes_tab" introspectable="0">
+ <callback name="_indexes_tab" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="indexes_tab">
+ <callback name="indexes_tab">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="table_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="index_name_n" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_index_cols" introspectable="0">
+ <callback name="_index_cols" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="index_cols">
+ <callback name="index_cols">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="table_catalog" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_schema" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="table_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="index_name" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved5" introspectable="0">
+ <callback name="_gda_reserved5">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved6" introspectable="0">
+ <callback name="_gda_reserved6">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved7" introspectable="0">
+ <callback name="_gda_reserved7">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved8" introspectable="0">
+ <callback name="_gda_reserved8">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved9" introspectable="0">
+ <callback name="_gda_reserved9">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved10" introspectable="0">
+ <callback name="_gda_reserved10">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved11" introspectable="0">
+ <callback name="_gda_reserved11">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved12" introspectable="0">
+ <callback name="_gda_reserved12">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved13" introspectable="0">
+ <callback name="_gda_reserved13">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved14" introspectable="0">
+ <callback name="_gda_reserved14">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved15" introspectable="0">
+ <callback name="_gda_reserved15">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved16" introspectable="0">
+ <callback name="_gda_reserved16">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="ServerProviderPrivate" c:type="GdaServerProviderPrivate">
+ <field name="data_handlers" writable="1">
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="gpointer" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="parser" writable="1">
+ <type name="SqlParser" c:type="GdaSqlParser*"/>
+ </field>
+ </record>
+ <record name="ServerProviderXa" c:type="GdaServerProviderXa">
+ <field name="xa_start">
+ <callback name="xa_start" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="XaTransactionId" c:type="GdaXaTransactionId*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="xa_end">
+ <callback name="xa_end" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="XaTransactionId" c:type="GdaXaTransactionId*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="xa_prepare">
+ <callback name="xa_prepare" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="XaTransactionId" c:type="GdaXaTransactionId*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="xa_commit">
+ <callback name="xa_commit" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="XaTransactionId" c:type="GdaXaTransactionId*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="xa_rollback">
+ <callback name="xa_rollback" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="XaTransactionId" c:type="GdaXaTransactionId*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="xa_recover" introspectable="0">
+ <callback name="xa_recover" introspectable="0" throws="1">
+ <return-value>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <class name="Set"
+ c:symbol-prefix="set"
+ c:type="GdaSet"
+ parent="GObject.Object"
+ glib:type-name="GdaSet"
+ glib:get-type="gda_set_get_type"
+ glib:type-struct="SetClass">
+ <constructor name="new" c:identifier="gda_set_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaSet object, and populates it with the list given as argument.
+The list can then be freed as it is copied. All the value holders in @holders are referenced counted
+and modified, so they should not be used anymore afterwards.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaSet object</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </return-value>
+ <parameters>
+ <parameter name="holders" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of #GdaHolder objects</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="Holder"/>
+ </type>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_spec_node"
+ c:identifier="gda_set_new_from_spec_node"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GdaSet object from the @xml_spec
+specifications</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new object, or %NULL if an error occurred</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </return-value>
+ <parameters>
+ <parameter name="xml_spec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #xmlNodePtr for a &lt;holders&gt; tag</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_spec_string"
+ c:identifier="gda_set_new_from_spec_string"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GdaSet object from the @xml_spec
+specifications</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new object, or %NULL if an error occurred</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </return-value>
+ <parameters>
+ <parameter name="xml_spec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_inline"
+ c:identifier="gda_set_new_inline"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GdaSet containing holders defined by each triplet in ...
+For each triplet (id, Glib type and value),
+the value must be of the correct type (gchar * if type is G_STRING, ...)
+
+Note that this function is a utility function and that only a limited set of types are supported. Trying
+to use an unsupported type will result in a warning, and the returned value holder holding a safe default
+value.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaSet object</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </return-value>
+ <parameters>
+ <parameter name="nb" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of value holders which will be contained in the new #GdaSet</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_read_only"
+ c:identifier="gda_set_new_read_only"
+ version="4.2">
+ <doc xml:whitespace="preserve">Creates a new #GdaSet like gda_set_new(), but does not allow modifications to any of the #GdaHolder
+object in @holders. This function is used for Libgda's database providers' implementation.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaSet object</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </return-value>
+ <parameters>
+ <parameter name="holders" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of #GdaHolder objects</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="Holder"/>
+ </type>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_set_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <virtual-method name="holder_attr_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ <parameter name="attr_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="attr_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="holder_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="holder_type_set">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="public_data_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="source_model_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="source" transfer-ownership="none">
+ <type name="SetSource" c:type="GdaSetSource*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="validate_holder_change">
+ <return-value transfer-ownership="full">
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ <parameter name="new_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="validate_set">
+ <return-value transfer-ownership="full">
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ </virtual-method>
+ <method name="add_holder" c:identifier="gda_set_add_holder">
+ <doc xml:whitespace="preserve">Adds @holder to the list of holders managed within @set.
+
+NOTE: if @set already has a #GdaHolder with the same ID as @holder, then @holder
+will not be added to the set (even if @holder's type or value is not the same as the
+one already in @set).
+
+with the same ID)</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @holder has been added to @set (and FALSE if it has not been added because there is another #GdaHolder</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gda_set_copy">
+ <doc xml:whitespace="preserve">Creates a new #GdaSet object, copy of @set</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaSet object</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </return-value>
+ </method>
+ <method name="get_group" c:identifier="gda_set_get_group">
+ <doc xml:whitespace="preserve">Finds a #GdaSetGroup which lists a #GdaSetNode containing @holder,
+don't modify the returned structure.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested #GdaSetGroup or %NULL</doc>
+ <type name="SetGroup" c:type="GdaSetGroup*"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_holder" c:identifier="gda_set_get_holder">
+ <doc xml:whitespace="preserve">Finds a #GdaHolder using its ID</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested #GdaHolder or %NULL</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the requested value holder</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_holder_value" c:identifier="gda_set_get_holder_value">
+ <doc xml:whitespace="preserve">Get the value of the #GdaHolder which ID is @holder_id</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested GValue, or %NULL (see gda_holder_get_value())</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the holder to set the value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_node" c:identifier="gda_set_get_node">
+ <doc xml:whitespace="preserve">Finds a #GdaSetNode holding information for @holder, don't modify the returned structure</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested #GdaSetNode or %NULL</doc>
+ <type name="SetNode" c:type="GdaSetNode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_nth_holder"
+ c:identifier="gda_set_get_nth_holder"
+ version="4.2">
+ <doc xml:whitespace="preserve">Finds a #GdaHolder using its position</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested #GdaHolder or %NULL</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pos" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the position of the requested #GdaHolder, starting at %0</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_source" c:identifier="gda_set_get_source">
+ <doc xml:whitespace="preserve">Finds a #GdaSetSource which contains the #GdaDataModel restricting the possible values of
+ holder, don't modify the returned structure.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested #GdaSetSource or %NULL</doc>
+ <type name="SetSource" c:type="GdaSetSource*"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaHolder object</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_source_for_model"
+ c:identifier="gda_set_get_source_for_model">
+ <doc xml:whitespace="preserve">Finds the #GdaSetSource structure used in @set for which @model is a
+the data model (the returned structure should not be modified).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested #GdaSetSource pointer or %NULL.</doc>
+ <type name="SetSource" c:type="GdaSetSource*"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModel object</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_valid" c:identifier="gda_set_is_valid" throws="1">
+ <doc xml:whitespace="preserve">This method tells if all @set's #GdaHolder objects are valid, and if
+they represent a valid combination of values, as defined by rules
+external to Libgda: the "validate-set" signal is emitted and if none of the signal handlers return an
+error, then the returned value is TRUE, otherwise the return value is FALSE as soon as a signal handler
+returns an error.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the set is valid</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="merge_with_set" c:identifier="gda_set_merge_with_set">
+ <doc xml:whitespace="preserve">Add to @set all the holders of @set_to_merge.
+Note1: only the #GdaHolder of @set_to_merge for which no holder in @set has the same ID are merged
+Note2: all the #GdaHolder merged in @set are still used by @set_to_merge.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="set_to_merge" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSet object</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_holder" c:identifier="gda_set_remove_holder">
+ <doc xml:whitespace="preserve">Removes a #GdaHolder from the list of holders managed by @set</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaHolder to remove from @set</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_source_model"
+ c:identifier="gda_set_replace_source_model"
+ version="4.2">
+ <doc xml:whitespace="preserve">Replaces @source->data_model with @model, which must have the same
+characteristics as @source->data_model (same column types)
+
+Also for each #GdaHolder for which @source->data_model is a source model,
+this method calls gda_holder_set_source_model() with @model to replace
+the source by the new model</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a #GdaSetSource in @set</doc>
+ <type name="SetSource" c:type="GdaSetSource*"/>
+ </parameter>
+ <parameter name="model" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_holder_value"
+ c:identifier="gda_set_set_holder_value"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Set the value of the #GdaHolder which ID is @holder_id to a specified value</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred and the value was set correctly</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="error" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a place to store errors, or %NULL</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="holder_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the holder to set the value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="description" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="holders"
+ readable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="gpointer"/>
+ </property>
+ <property name="id" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="name" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="SetPrivate" c:type="GdaSetPrivate*"/>
+ </field>
+ <field name="holders">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="Holder"/>
+ </type>
+ </field>
+ <field name="nodes_list">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="SetNode"/>
+ </type>
+ </field>
+ <field name="sources_list">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="SetSource"/>
+ </type>
+ </field>
+ <field name="groups_list">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="SetGroup"/>
+ </type>
+ </field>
+ <glib:signal name="holder-attr-changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted when an attribute for any of the #GdaHolder objects managed by @set has changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GdaHolder for which an attribute changed</doc>
+ <type name="Holder"/>
+ </parameter>
+ <parameter name="attr_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute's name</doc>
+ <type name="utf8"/>
+ </parameter>
+ <parameter name="attr_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute's value</doc>
+ <type name="GObject.Value"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="holder-changed" when="first">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Holder"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="holder-type-set" when="first" version="4.2">
+ <doc xml:whitespace="preserve">Gets emitted when @holder in @set has its type finally set, in case
+it was #GDA_TYPE_NULL</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaHolder for which the #GType has been set</doc>
+ <type name="Holder"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="public-data-changed" when="first">
+ <doc xml:whitespace="preserve">Gets emitted when @set's public data (#GdaSetNode, #GdaSetGroup or #GdaSetSource values) have changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="source-model-changed" when="first" version="4.2">
+ <doc xml:whitespace="preserve">Gets emitted when the data model in @source has changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaSetSource for which the @data_model attribute has changed</doc>
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="validate-holder-change" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when a #GdaHolder's in @set is going to change its value. One can connect to
+this signal to control which values @holder can have (for example to implement some business rules)
+
+otherwise.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">NULL if @holder is allowed to change its value to @new_value, or a #GError</doc>
+ <type name="GLib.Error"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaHolder which is going to change</doc>
+ <type name="Holder"/>
+ </parameter>
+ <parameter name="new_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proposed new value for @holder</doc>
+ <type name="GObject.Value"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="validate-set" when="last">
+ <doc xml:whitespace="preserve">Gets emitted when gda_set_is_valid() is called, use
+this signal to control which combination of values @set's holder can have (for example to implement some business rules)
+
+otherwise.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">NULL if @set's contents has been validated, or a #GError</doc>
+ <type name="GLib.Error"/>
+ </return-value>
+ </glib:signal>
+ </class>
+ <record name="SetClass"
+ c:type="GdaSetClass"
+ glib:is-gtype-struct-for="Set">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="validate_holder_change">
+ <callback name="validate_holder_change">
+ <return-value transfer-ownership="full">
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ <parameters>
+ <parameter name="set" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ <parameter name="new_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="validate_set">
+ <callback name="validate_set">
+ <return-value transfer-ownership="full">
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ <parameters>
+ <parameter name="set" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="holder_changed">
+ <callback name="holder_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="set" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="holder_attr_changed">
+ <callback name="holder_attr_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="set" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ <parameter name="attr_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="attr_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="public_data_changed">
+ <callback name="public_data_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="set" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="holder_type_set">
+ <callback name="holder_type_set">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="set" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="holder" transfer-ownership="none">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="source_model_changed">
+ <callback name="source_model_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="set" transfer-ownership="none">
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="source" transfer-ownership="none">
+ <type name="SetSource" c:type="GdaSetSource*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="SetError" c:type="GdaSetError">
+ <member name="xml_spec_error"
+ value="0"
+ c:identifier="GDA_SET_XML_SPEC_ERROR"/>
+ <member name="holder_not_found_error"
+ value="1"
+ c:identifier="GDA_SET_HOLDER_NOT_FOUND_ERROR"/>
+ <member name="invalid_error"
+ value="2"
+ c:identifier="GDA_SET_INVALID_ERROR"/>
+ <member name="read_only_error"
+ value="3"
+ c:identifier="GDA_SET_READ_ONLY_ERROR"/>
+ <member name="implementation_error"
+ value="4"
+ c:identifier="GDA_SET_IMPLEMENTATION_ERROR"/>
+ </enumeration>
+ <record name="SetGroup" c:type="GdaSetGroup">
+ <field name="nodes" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="SetNode"/>
+ </type>
+ </field>
+ <field name="nodes_source" writable="1">
+ <type name="SetSource" c:type="GdaSetSource*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <record name="SetNode" c:type="GdaSetNode">
+ <field name="holder" writable="1">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </field>
+ <field name="source_model" writable="1">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </field>
+ <field name="source_column" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <record name="SetPrivate" c:type="GdaSetPrivate" disguised="1">
+ </record>
+ <record name="SetSource" c:type="GdaSetSource">
+ <field name="data_model" writable="1">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </field>
+ <field name="nodes" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="SetNode"/>
+ </type>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <class name="Short"
+ c:symbol-prefix="short"
+ glib:type-name="GdaShort"
+ glib:get-type="gda_short_get_type"
+ glib:fundamental="1">
+ </class>
+ <record name="SqlAnyPart" c:type="GdaSqlAnyPart" introspectable="0">
+ <doc xml:whitespace="preserve">Base structure of which all structures (except #GdaSqlStatement) "inherit". It identifies, for each structure,
+its type and its parent in the structure hierarchy.</doc>
+ <field name="type" writable="1">
+ <type name="SqlAnyPartType" c:type="GdaSqlAnyPartType"/>
+ </field>
+ <field name="parent" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </field>
+ <method name="check_structure"
+ c:identifier="gda_sql_any_part_check_structure"
+ throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="foreach"
+ c:identifier="gda_sql_any_part_foreach"
+ introspectable="0"
+ throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <type name="SqlForeachFunc" c:type="GdaSqlForeachFunc"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="SqlAnyPartType"
+ introspectable="0"
+ c:type="GdaSqlAnyPartType">
+ <doc xml:whitespace="preserve">Type of part.</doc>
+ <member name="stmt_select"
+ value="0"
+ c:identifier="GDA_SQL_ANY_STMT_SELECT"/>
+ <member name="stmt_insert"
+ value="1"
+ c:identifier="GDA_SQL_ANY_STMT_INSERT"/>
+ <member name="stmt_update"
+ value="2"
+ c:identifier="GDA_SQL_ANY_STMT_UPDATE"/>
+ <member name="stmt_delete"
+ value="3"
+ c:identifier="GDA_SQL_ANY_STMT_DELETE"/>
+ <member name="stmt_compound"
+ value="4"
+ c:identifier="GDA_SQL_ANY_STMT_COMPOUND"/>
+ <member name="stmt_begin"
+ value="5"
+ c:identifier="GDA_SQL_ANY_STMT_BEGIN"/>
+ <member name="stmt_rollback"
+ value="6"
+ c:identifier="GDA_SQL_ANY_STMT_ROLLBACK"/>
+ <member name="stmt_commit"
+ value="7"
+ c:identifier="GDA_SQL_ANY_STMT_COMMIT"/>
+ <member name="stmt_savepoint"
+ value="8"
+ c:identifier="GDA_SQL_ANY_STMT_SAVEPOINT"/>
+ <member name="stmt_rollback_savepoint"
+ value="9"
+ c:identifier="GDA_SQL_ANY_STMT_ROLLBACK_SAVEPOINT"/>
+ <member name="stmt_delete_savepoint"
+ value="10"
+ c:identifier="GDA_SQL_ANY_STMT_DELETE_SAVEPOINT"/>
+ <member name="stmt_unknown"
+ value="11"
+ c:identifier="GDA_SQL_ANY_STMT_UNKNOWN"/>
+ <member name="expr" value="500" c:identifier="GDA_SQL_ANY_EXPR"/>
+ <member name="sql_field"
+ value="501"
+ c:identifier="GDA_SQL_ANY_SQL_FIELD"/>
+ <member name="sql_table"
+ value="502"
+ c:identifier="GDA_SQL_ANY_SQL_TABLE"/>
+ <member name="sql_function"
+ value="503"
+ c:identifier="GDA_SQL_ANY_SQL_FUNCTION"/>
+ <member name="sql_operation"
+ value="504"
+ c:identifier="GDA_SQL_ANY_SQL_OPERATION"/>
+ <member name="sql_case" value="505" c:identifier="GDA_SQL_ANY_SQL_CASE"/>
+ <member name="sql_select_field"
+ value="506"
+ c:identifier="GDA_SQL_ANY_SQL_SELECT_FIELD"/>
+ <member name="sql_select_target"
+ value="507"
+ c:identifier="GDA_SQL_ANY_SQL_SELECT_TARGET"/>
+ <member name="sql_select_join"
+ value="508"
+ c:identifier="GDA_SQL_ANY_SQL_SELECT_JOIN"/>
+ <member name="sql_select_from"
+ value="509"
+ c:identifier="GDA_SQL_ANY_SQL_SELECT_FROM"/>
+ <member name="sql_select_order"
+ value="510"
+ c:identifier="GDA_SQL_ANY_SQL_SELECT_ORDER"/>
+ </enumeration>
+ <class name="SqlBuilder"
+ c:symbol-prefix="sql_builder"
+ c:type="GdaSqlBuilder"
+ parent="GObject.Object"
+ glib:type-name="GdaSqlBuilder"
+ glib:get-type="gda_sql_builder_get_type"
+ glib:type-struct="SqlBuilderClass">
+ <constructor name="new" c:identifier="gda_sql_builder_new" version="4.2">
+ <doc xml:whitespace="preserve">Create a new #GdaSqlBuilder object to build #GdaStatement or #GdaSqlStatement
+objects of type @stmt_type
+
+statement type)</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created object, or %NULL if an error occurred (such as unsupported</doc>
+ <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of statement to build</doc>
+ <type name="SqlStatementType" c:type="GdaSqlStatementType"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_sql_builder_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <method name="add_case"
+ c:identifier="gda_sql_builder_add_case"
+ shadowed-by="add_case_v"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new CASE ... WHEN ... THEN ... ELSE ... END expression.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="test_expr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the expression ID representing the test of the CASE, or %0</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="else_expr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the expression ID representing the ELSE expression, or %0</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_case_v"
+ c:identifier="gda_sql_builder_add_case_v"
+ shadows="add_case"
+ version="4.2">
+ <doc xml:whitespace="preserve">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 </doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="test_expr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the expression ID representing the test of the CASE, or %0</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="else_expr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the expression ID representing the ELSE expression, or %0</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="when_array" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array containing each WHEN expression ID, having at least @args_size elements</doc>
+ <array length="4" zero-terminated="0" c:type="GdaSqlBuilderId*">
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </array>
+ </parameter>
+ <parameter name="then_array" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array containing each THEN expression ID, having at least @args_size elements</doc>
+ <array length="4" zero-terminated="0" c:type="GdaSqlBuilderId*">
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </array>
+ </parameter>
+ <parameter name="args_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of @when_array and @then_array</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_cond"
+ c:identifier="gda_sql_builder_add_cond"
+ version="4.2">
+ <doc xml:whitespace="preserve">Builds a new expression which represents a condition (or operation).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <doc xml:whitespace="preserve">type of condition</doc>
+ <type name="SqlOperatorType" c:type="GdaSqlOperatorType"/>
+ </parameter>
+ <parameter name="op1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the 1st argument (not 0)</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="op2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the 2nd argument (may be %0 if @op needs only one operand)</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="op3" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the 3rd argument (may be %0 if @op needs only one or two operand)</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_cond_v"
+ c:identifier="gda_sql_builder_add_cond_v"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Builds a new expression which represents a condition (or operation).
+
+As a side case, if @ops_ids_size is 1,
+then @op is ignored, and the returned ID represents @op_ids[0] (this avoids any problem for example
+when @op is GDA_SQL_OPERATOR_TYPE_AND and there is in fact only one operand).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <doc xml:whitespace="preserve">type of condition</doc>
+ <type name="SqlOperatorType" c:type="GdaSqlOperatorType"/>
+ </parameter>
+ <parameter name="op_ids" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array of ID for the arguments (not %0)</doc>
+ <array length="2" zero-terminated="0" c:type="GdaSqlBuilderId*">
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </array>
+ </parameter>
+ <parameter name="op_ids_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">size of @ops_ids</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_expr"
+ c:identifier="gda_sql_builder_add_expr"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Defines an expression in @builder which may be reused to build other parts of a statement.
+
+The new expression will contain the value passed as the @... argument.
+
+If @type is G_TYPE_STRING then it is possible to customize how the value has to be interpreted by passing a
+specific #GdaDataHandler object as @dh. This feature is very rarely used and the @dh argument should generally
+be %NULL.
+
+Note that for composite types such as #GdaNumeric, #Gdate, #GdaTime, ... pointer to these
+structures are expected, they should no be passed by value. For example:
+<programlisting><![CDATA[GDate *date = g_date_new_dmy (27, G_DATE_MAY, 1972);
+
+will correspond in SQL to:
+<programlisting>
+'05-27-1972'
+'my string'
+25
+</programlisting></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">deprecated useless argument, just pass %NULL</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GType of the following argument</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_expr_value"
+ c:identifier="gda_sql_builder_add_expr_value"
+ version="4.2">
+ <doc xml:whitespace="preserve">Defines an expression in @builder which may be reused to build other parts of a statement.
+
+The new expression will contain the value passed as the @value argument.
+
+If @value's type is a string then it is possible to customize how the value has to be interpreted by passing a
+specific #GdaDataHandler object as @dh. This feature is very rarely used and the @dh argument should generally
+be %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="dh" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">deprecated useless argument, just pass %NULL</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">value to set the expression to, or %NULL or a GDA_TYPE_NULL value to represent an SQL NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_field_id"
+ c:identifier="gda_sql_builder_add_field_id"
+ version="4.2">
+ <doc xml:whitespace="preserve">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_add_cond() or
+gda_sql_builder_add_field_value_id().
+
+Calling this with a %NULL @table_name is equivalent to calling gda_sql_builder_add_id().
+
+For SELECT queries, see gda_sql_builder_select_add_field().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a field name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="table_name"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a table name, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_field_value"
+ c:identifier="gda_sql_builder_add_field_value"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Valid only for: INSERT, UPDATE statements.
+
+Specifies that the field represented by @field_name will be set to the value identified
+by @... of type @type. See gda_sql_builder_add_expr() for more information.
+
+This is a C convenience function. See also gda_sql_builder_add_field_value_as_gvalue().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a field name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GType of the following argument</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_field_value_as_gvalue"
+ c:identifier="gda_sql_builder_add_field_value_as_gvalue"
+ version="4.2">
+ <doc xml:whitespace="preserve">Valid only for: INSERT, UPDATE statements.
+
+Specifies that the field represented by @field_name will be set to the value identified
+by @value</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a field name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">value to set the field to, or %NULL or a GDA_TYPE_NULL value to represent an SQL NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_field_value_id"
+ c:identifier="gda_sql_builder_add_field_value_id"
+ version="4.2">
+ <doc xml:whitespace="preserve">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_add_id()): 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_add_sub_select()), then
+this method call defines the sub SELECT from which values to insert are taken.</para></listitem>
+</itemizedlist>
+
+See also gda_sql_builder_add_field_value() and gda_sql_builder_add_field_value_as_gvalue().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the field's name or definition</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="value_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the value to set the field to, or %0</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_function"
+ c:identifier="gda_sql_builder_add_function"
+ shadowed-by="add_function_v"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Builds a new expression which represents a function applied to some arguments</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="func_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the functions's name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_function_v"
+ c:identifier="gda_sql_builder_add_function_v"
+ shadows="add_function"
+ version="4.2">
+ <doc xml:whitespace="preserve">Builds a new expression which represents a function applied to some arguments</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="func_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the functions's name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array of IDs representing the function's arguments</doc>
+ <array length="2" zero-terminated="0" c:type="GdaSqlBuilderId*">
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </array>
+ </parameter>
+ <parameter name="args_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">@args's size</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_id"
+ c:identifier="gda_sql_builder_add_id"
+ version="4.2">
+ <doc xml:whitespace="preserve">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_add_cond() or
+gda_sql_builder_add_field_value_id().
+
+The new expression will contain the @str literal.
+For example:
+<programlisting>
+gda_sql_builder_add_id (b, "name")
+gda_sql_builder_add_id (b, "date")
+</programlisting>
+
+will be rendered as SQL as:
+<programlisting>
+name
+"date"
+</programlisting>
+
+because "date" is an SQL reserved keyword.
+
+For fields, see gda_sql_builder_add_field_id().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_param"
+ c:identifier="gda_sql_builder_add_param"
+ version="4.2">
+ <doc xml:whitespace="preserve">Defines a parameter in @builder which may be reused to build other parts of a statement.
+
+The new expression will contain the @string literal.
+For example:
+<programlisting>
+gda_sql_builder_add_param (b, "age", G_TYPE_INT, FALSE)
+</programlisting>
+
+will be rendered as SQL as:
+<programlisting><![CDATA[
+##age::int
+]]>
+</programlisting></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="param_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">parameter's name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">parameter's type</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="nullok" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the parameter can be set to %NULL</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_sub_select"
+ c:identifier="gda_sql_builder_add_sub_select"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds an expression which is a subselect.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="sqlst" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a #GdaSqlStatement, which has to be a SELECT or compound SELECT. This will be copied.</doc>
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="compound_add_sub_select"
+ c:identifier="gda_sql_builder_compound_add_sub_select"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Add a sub select to a COMPOUND statement</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sqlst" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a #GdaSqlStatement, which has to be a SELECT or compound SELECT. This will be copied.</doc>
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="compound_add_sub_select_from_builder"
+ c:identifier="gda_sql_builder_compound_add_sub_select_from_builder"
+ version="4.2">
+ <doc xml:whitespace="preserve">Add a sub select to a COMPOUND statement</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="subselect" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSqlBuilder, which has to be a SELECT or compound SELECT. This will be copied.</doc>
+ <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="compound_set_type"
+ c:identifier="gda_sql_builder_compound_set_type"
+ version="4.2">
+ <doc xml:whitespace="preserve">Changes the type of compound which @builder is making, for a COMPOUND statement</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="compound_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a type of compound</doc>
+ <type name="SqlStatementCompoundType"
+ c:type="GdaSqlStatementCompoundType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="export_expression"
+ c:identifier="gda_sql_builder_export_expression"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Exports a part managed by @builder as a new #GdaSqlExpr, which can represent any expression
+in a statement.
+
+needed anymore. If the part with @id as ID cannot be found, the returned value is %NULL.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to a new #GdaSqlExpr structure, free using gda_sql_expr_free() when not</doc>
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the expression to be exported, (must be a valid ID in @builder, not %0)</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sql_statement"
+ c:identifier="gda_sql_builder_get_sql_statement"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GdaSqlStatement structure from @builder's contents.
+
+The returned pointer belongs to @builder's internal representation.
+Use gda_sql_statement_copy() if you need to keep it.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSqlStatement pointer</doc>
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </return-value>
+ </method>
+ <method name="get_statement"
+ c:identifier="gda_sql_builder_get_statement"
+ version="4.2"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GdaStatement statement from @builder's contents.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaStatement object, or %NULL if an error occurred</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </return-value>
+ </method>
+ <method name="import_expression"
+ c:identifier="gda_sql_builder_import_expression"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Imports the @expr into @builder.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="expr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSqlExpr obtained using gda_sql_builder_export_expression()</doc>
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="import_expression_from_builder"
+ c:identifier="gda_sql_builder_import_expression_from_builder"
+ version="4.2">
+ <doc xml:whitespace="preserve">Imports the an expression located in @query into @builder.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new expression, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSqlBuilder object to get expression from</doc>
+ <type name="SqlBuilder" c:type="GdaSqlBuilder*"/>
+ </parameter>
+ <parameter name="expr_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSqlBuilderId of the expression in @query</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="join_add_field"
+ c:identifier="gda_sql_builder_join_add_field"
+ version="4.2">
+ <doc xml:whitespace="preserve">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.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new join, or %0 if there was an error</doc>
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="join_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the join to modify (not %0)</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the field to use in the join condition (not %NULL)</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="select_add_field"
+ c:identifier="gda_sql_builder_select_add_field"
+ version="4.2">
+ <doc xml:whitespace="preserve">Valid only for: SELECT statements.
+
+Add a selected selected item to the SELECT statement.
+
+For non-SELECT statements, see gda_sql_builder_add_field_id().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the added field, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a field name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="table_name"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a table name, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="alias" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an alias (eg. for the "AS" clause), or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="select_add_target"
+ c:identifier="gda_sql_builder_select_add_target"
+ version="4.2">
+ <doc xml:whitespace="preserve">Adds a new target to a SELECT statement</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new target, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="table_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the target table</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="alias" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the alias to give to the target, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="select_add_target_id"
+ c:identifier="gda_sql_builder_select_add_target_id"
+ version="4.2">
+ <doc xml:whitespace="preserve">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.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new (or existing) target, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="table_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the expression holding a table reference (not %0)</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="alias" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the alias to give to the target, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="select_group_by"
+ c:identifier="gda_sql_builder_select_group_by"
+ version="4.2">
+ <doc xml:whitespace="preserve">Valid only for: SELECT statements
+
+Adds the @expr_id expression to the GROUP BY clause's expressions list</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="expr_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the expression to set use in the GROUP BY clause, or 0 to unset any previous GROUP BY clause</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="select_join_targets"
+ c:identifier="gda_sql_builder_select_join_targets"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Joins two targets in a SELECT statement, using the @join_type type of join.
+
+Note: if the target represented by @left_target_id is actually situated after (on the right) of
+the target represented by @right_target_id, then the actual type of join may be switched from
+%GDA_SQL_SELECT_JOIN_LEFT to %GDA_SQL_SELECT_JOIN_RIGHT or from %GDA_SQL_SELECT_JOIN_RIGHT to
+%GDA_SQL_SELECT_JOIN_LEFT.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the new join, or %0 if there was an error</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </return-value>
+ <parameters>
+ <parameter name="left_target_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the left target to use (not %0)</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="right_target_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the right target to use (not %0)</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="join_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of join</doc>
+ <type name="SqlSelectJoinType" c:type="GdaSqlSelectJoinType"/>
+ </parameter>
+ <parameter name="join_expr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">joining expression's ID, or %0</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="select_order_by"
+ c:identifier="gda_sql_builder_select_order_by"
+ version="4.2">
+ <doc xml:whitespace="preserve">Adds a new ORDER BY expression to a SELECT statement.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="expr_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the expression to use during sorting (not %0)</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="asc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for an ascending sorting</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="collation_name"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">name of the collation to use when sorting, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="select_set_distinct"
+ c:identifier="gda_sql_builder_select_set_distinct"
+ version="4.2">
+ <doc xml:whitespace="preserve">Defines (if @distinct is %TRUE) or removes (if @distinct is %FALSE) a DISTINCT clause
+for a SELECT statement.
+
+If @distinct is %TRUE, then the ID of an expression can be specified as the @expr_id argument:
+if not %0, this is the expression used to apply the DISTINCT clause on (the resuting SQL
+will then usually be "... DISTINCT ON &lt;expression&gt;...").</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="distinct" transfer-ownership="none">
+ <doc xml:whitespace="preserve">set to %TRUE to have the DISTINCT requirement</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="expr_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the DISTINCT ON expression, or %0 if no expression is to be used. It is ignored if @distinct is %FALSE.</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="select_set_having"
+ c:identifier="gda_sql_builder_select_set_having"
+ version="4.2">
+ <doc xml:whitespace="preserve">Valid only for: SELECT statements
+
+Sets the HAVING condition of the statement</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="cond_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the expression to set as HAVING condition, or 0 to unset any previous HAVING condition</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="select_set_limit"
+ c:identifier="gda_sql_builder_select_set_limit"
+ version="4.2">
+ <doc xml:whitespace="preserve">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).
+
+If @limit_count_expr_id is %0, then removes any LIMIT which may have been imposed by a previous
+call to this method.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="limit_count_expr_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the LIMIT expression, or %0</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ <parameter name="limit_offset_expr_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the OFFSET expression, or %0</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_table"
+ c:identifier="gda_sql_builder_set_table"
+ version="4.2">
+ <doc xml:whitespace="preserve">Valid only for: INSERT, UPDATE, DELETE statements
+
+Sets the name of the table on which the built statement operates.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="table_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a table name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_where"
+ c:identifier="gda_sql_builder_set_where"
+ version="4.2">
+ <doc xml:whitespace="preserve">Valid only for: UPDATE, DELETE, SELECT statements
+
+Sets the WHERE condition of the statement</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="cond_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of the expression to set as WHERE condition, or 0 to unset any previous WHERE condition</doc>
+ <type name="SqlBuilderId" c:type="GdaSqlBuilderId"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="stmt-type"
+ introspectable="0"
+ readable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Specifies the type of statement to be built, can only be
+GDA_SQL_STATEMENT_SELECT, GDA_SQL_STATEMENT_INSERT, GDA_SQL_STATEMENT_UPDATE
+or GDA_SQL_STATEMENT_DELETE</doc>
+ <type/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="SqlBuilderPrivate" c:type="GdaSqlBuilderPrivate*"/>
+ </field>
+ </class>
+ <record name="SqlBuilderClass"
+ c:type="GdaSqlBuilderClass"
+ glib:is-gtype-struct-for="SqlBuilder">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="SqlBuilderError" c:type="GdaSqlBuilderError">
+ <member name="wrong_type_error"
+ value="0"
+ c:identifier="GDA_SQL_BUILDER_WRONG_TYPE_ERROR"/>
+ <member name="misuse_error"
+ value="1"
+ c:identifier="GDA_SQL_BUILDER_MISUSE_ERROR"/>
+ </enumeration>
+ <record name="SqlBuilderPrivate"
+ c:type="GdaSqlBuilderPrivate"
+ disguised="1">
+ </record>
+ <record name="SqlCase" c:type="GdaSqlCase" introspectable="0">
+ <doc xml:whitespace="preserve">This structure represents a CASE WHEN... construct</doc>
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="base_expr" writable="1">
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </field>
+ <field name="when_expr_list" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="then_expr_list" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="else_expr" writable="1">
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="copy" c:identifier="gda_sql_case_copy" introspectable="0">
+ <return-value>
+ <type name="SqlCase" c:type="GdaSqlCase*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_sql_case_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="serialize" c:identifier="gda_sql_case_serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <function name="new" c:identifier="gda_sql_case_new" introspectable="0">
+ <return-value>
+ <type name="SqlCase" c:type="GdaSqlCase*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="SqlError"
+ c:type="GdaSqlError"
+ glib:error-domain="gda_sql_error">
+ <member name="structure_contents_error"
+ value="0"
+ c:identifier="GDA_SQL_STRUCTURE_CONTENTS_ERROR"/>
+ <member name="malformed_identifier_error"
+ value="1"
+ c:identifier="GDA_SQL_MALFORMED_IDENTIFIER_ERROR"/>
+ <member name="missing_identifier_error"
+ value="2"
+ c:identifier="GDA_SQL_MISSING_IDENTIFIER_ERROR"/>
+ <member name="validation_error"
+ value="3"
+ c:identifier="GDA_SQL_VALIDATION_ERROR"/>
+ </enumeration>
+ <record name="SqlExpr"
+ c:type="GdaSqlExpr"
+ introspectable="0"
+ glib:type-name="GdaSqlExpr"
+ glib:get-type="gda_sql_expr_get_type"
+ c:symbol-prefix="sql_expr">
+ <doc xml:whitespace="preserve">This structure contains any expression, either as a value (the @value part is set),
+a variable (the @param_spec is set), or as other types of expressions.
+
+Note 1 about the @value field: if the expression represents a string value in the SQL statement,
+the string itself must be represented as it would be in the actual SQL, ie. it should be
+escaped (accordingly to the escaping rules of the database which will use the SQL). For
+example a string representing the <userinput>'joe'</userinput> value should be
+<userinput>"'joe'"</userinput> and not <userinput>"joe"</userinput>.
+
+Note 2 about the @value field: if the expression represents an SQL identifier (such as a table
+or field name), then the @value_is_ident should be set to %TRUE, and @value should be a string
+which may contain double quotes around SQL identifiers which also are reserved keywords or which
+are case sensitive.</doc>
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="value" writable="1">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </field>
+ <field name="param_spec" writable="1">
+ <type c:type="GdaSqlParamSpec*"/>
+ </field>
+ <field name="func" writable="1">
+ <type name="SqlFunction" c:type="GdaSqlFunction*"/>
+ </field>
+ <field name="cond" writable="1">
+ <type name="SqlOperation" c:type="GdaSqlOperation*"/>
+ </field>
+ <field name="select" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </field>
+ <field name="case_s" writable="1">
+ <type name="SqlCase" c:type="GdaSqlCase*"/>
+ </field>
+ <field name="cast_as" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="value_is_ident" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <constructor name="new"
+ c:identifier="gda_sql_expr_new"
+ introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy" c:identifier="gda_sql_expr_copy" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_sql_expr_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="serialize" c:identifier="gda_sql_expr_serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="take_select" c:identifier="gda_sql_expr_take_select">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="SqlField" c:type="GdaSqlField" introspectable="0">
+ <doc xml:whitespace="preserve">any:
+This structure represents the name of a table's field.</doc>
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="field_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="validity_meta_table_column" writable="1">
+ <type name="MetaTableColumn" c:type="GdaMetaTableColumn*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="copy" c:identifier="gda_sql_field_copy" introspectable="0">
+ <return-value>
+ <type name="SqlField" c:type="GdaSqlField*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_sql_field_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="serialize" c:identifier="gda_sql_field_serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="take_name" c:identifier="gda_sql_field_take_name">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new" c:identifier="gda_sql_field_new" introspectable="0">
+ <return-value>
+ <type name="SqlField" c:type="GdaSqlField*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <callback name="SqlForeachFunc"
+ c:type="GdaSqlForeachFunc"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Specifies the type of functions passed to gda_sql_any_part_foreach().</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="part" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the current #GdaSqlAnyPart node</doc>
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to gda_sql_any_part_foreach().</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="SqlFunction" c:type="GdaSqlFunction" introspectable="0">
+ <doc xml:whitespace="preserve">This structure represents a function or an aggregate with zero or more arguments.</doc>
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="function_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="args_list" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="check_clean" c:identifier="gda_sql_function_check_clean">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="copy"
+ c:identifier="gda_sql_function_copy"
+ introspectable="0">
+ <return-value>
+ <type name="SqlFunction" c:type="GdaSqlFunction*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_sql_function_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="serialize" c:identifier="gda_sql_function_serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="take_args_list"
+ c:identifier="gda_sql_function_take_args_list">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="args" transfer-ownership="none">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_name" c:identifier="gda_sql_function_take_name">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gda_sql_function_new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlFunction" c:type="GdaSqlFunction*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <bitfield name="SqlIdentifierStyle" c:type="GdaSqlIdentifierStyle">
+ <doc xml:whitespace="preserve">Specifies how SQL identifiers are represented by a specific database</doc>
+ <member name="lower_case"
+ value="1"
+ c:identifier="GDA_SQL_IDENTIFIERS_LOWER_CASE"/>
+ <member name="upper_case"
+ value="2"
+ c:identifier="GDA_SQL_IDENTIFIERS_UPPER_CASE"/>
+ </bitfield>
+ <record name="SqlOperation" c:type="GdaSqlOperation" introspectable="0">
+ <doc xml:whitespace="preserve">This structure represents an operation between one or more operands.</doc>
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="operator_type" writable="1">
+ <type name="SqlOperatorType" c:type="GdaSqlOperatorType"/>
+ </field>
+ <field name="operands" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="copy"
+ c:identifier="gda_sql_operation_copy"
+ introspectable="0">
+ <return-value>
+ <type name="SqlOperation" c:type="GdaSqlOperation*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_sql_operation_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="serialize" c:identifier="gda_sql_operation_serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <function name="new"
+ c:identifier="gda_sql_operation_new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlOperation" c:type="GdaSqlOperation*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="operator_from_string"
+ c:identifier="gda_sql_operation_operator_from_string">
+ <return-value transfer-ownership="none">
+ <type name="SqlOperatorType" c:type="GdaSqlOperatorType"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="operator_to_string"
+ c:identifier="gda_sql_operation_operator_to_string">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <type name="SqlOperatorType" c:type="GdaSqlOperatorType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="SqlOperatorType" c:type="GdaSqlOperatorType">
+ <member name="and" value="0" c:identifier="GDA_SQL_OPERATOR_TYPE_AND"/>
+ <member name="or" value="1" c:identifier="GDA_SQL_OPERATOR_TYPE_OR"/>
+ <member name="eq" value="2" c:identifier="GDA_SQL_OPERATOR_TYPE_EQ"/>
+ <member name="is" value="3" c:identifier="GDA_SQL_OPERATOR_TYPE_IS"/>
+ <member name="like" value="4" c:identifier="GDA_SQL_OPERATOR_TYPE_LIKE"/>
+ <member name="between"
+ value="5"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_BETWEEN"/>
+ <member name="gt" value="6" c:identifier="GDA_SQL_OPERATOR_TYPE_GT"/>
+ <member name="lt" value="7" c:identifier="GDA_SQL_OPERATOR_TYPE_LT"/>
+ <member name="geq" value="8" c:identifier="GDA_SQL_OPERATOR_TYPE_GEQ"/>
+ <member name="leq" value="9" c:identifier="GDA_SQL_OPERATOR_TYPE_LEQ"/>
+ <member name="diff"
+ value="10"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_DIFF"/>
+ <member name="regexp"
+ value="11"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_REGEXP"/>
+ <member name="regexp_ci"
+ value="12"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_REGEXP_CI"/>
+ <member name="not_regexp"
+ value="13"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_NOT_REGEXP"/>
+ <member name="not_regexp_ci"
+ value="14"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_NOT_REGEXP_CI"/>
+ <member name="similar"
+ value="15"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_SIMILAR"/>
+ <member name="isnull"
+ value="16"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_ISNULL"/>
+ <member name="isnotnull"
+ value="17"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_ISNOTNULL"/>
+ <member name="not" value="18" c:identifier="GDA_SQL_OPERATOR_TYPE_NOT"/>
+ <member name="in" value="19" c:identifier="GDA_SQL_OPERATOR_TYPE_IN"/>
+ <member name="notin"
+ value="20"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_NOTIN"/>
+ <member name="concat"
+ value="21"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_CONCAT"/>
+ <member name="plus"
+ value="22"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_PLUS"/>
+ <member name="minus"
+ value="23"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_MINUS"/>
+ <member name="star"
+ value="24"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_STAR"/>
+ <member name="div" value="25" c:identifier="GDA_SQL_OPERATOR_TYPE_DIV"/>
+ <member name="rem" value="26" c:identifier="GDA_SQL_OPERATOR_TYPE_REM"/>
+ <member name="bitand"
+ value="27"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_BITAND"/>
+ <member name="bitor"
+ value="28"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_BITOR"/>
+ <member name="bitnot"
+ value="29"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_BITNOT"/>
+ <member name="ilike"
+ value="30"
+ c:identifier="GDA_SQL_OPERATOR_TYPE_ILIKE"/>
+ </enumeration>
+ <class name="SqlParser"
+ c:symbol-prefix="sql_parser"
+ c:type="GdaSqlParser"
+ parent="GObject.Object"
+ glib:type-name="GdaSqlParser"
+ glib:get-type="gda_sql_parser_get_type"
+ glib:type-struct="SqlParserClass">
+ <implements name="Lockable"/>
+ <constructor name="new" c:identifier="gda_sql_parser_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaSqlParser object</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new object</doc>
+ <type name="SqlParser" c:type="GdaSqlParser*"/>
+ </return-value>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_sql_parser_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <method name="parse_file_as_batch"
+ c:identifier="gda_sql_parser_parse_file_as_batch"
+ throws="1">
+ <doc xml:whitespace="preserve">Parse @filename's contents and creates a #GdaBatch object which contains all the
+#GdaStatement objects created while parsing (one object per SQL statement).
+
+ filename's contents are parsed and #GdaStatement objects are created as long as no error is found. If an error is found
+at some point, then the parsing stops, @error may be set and %NULL is returned
+
+if @sql is %NULL, then the returned #GdaBatch object will contain no statement.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaBatch object, or %NULL if an error occurred</doc>
+ <type name="Batch" c:type="GdaBatch*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the file to parse</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_string"
+ c:identifier="gda_sql_parser_parse_string"
+ throws="1">
+ <doc xml:whitespace="preserve">Parses @sql and creates a #GdaStatement statement from the first SQL statement contained in @sql: if @sql
+contains more than one statement, then the remaining part of the string is not parsed at all, and @remain (if
+not %NULL) will point at the first non parsed character.
+
+To include variables in the @sql string, see the
+<link linkend="GdaSqlParser.description">GdaSqlParser's object description</link>.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaStatement object, or %NULL if an error occurred</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sql" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the SQL string to parse</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="remain"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">location to store a pointer to remaining part of @sql in case @sql has multiple statement, or %NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_string_as_batch"
+ c:identifier="gda_sql_parser_parse_string_as_batch"
+ throws="1">
+ <doc xml:whitespace="preserve">Parse @sql and creates a #GdaBatch object which contains all the #GdaStatement objects created while parsing (one object
+per SQL statement). Empty statements (composed of spaces only) do not appear in the resulting object.
+
+ sql is parsed and #GdaStatement objects are created as long as no error is found in @sql. If an error is found
+at some point, then the parsing stops and @remain may contain a non %NULL pointer, @error may be set, and %NULL
+is returned.
+
+if @sql is %NULL, then the returned #GdaBatch object will contain no statement.
+
+To include variables in the @sql string, see the
+<link linkend="GdaSqlParser.description">GdaSqlParser's object description</link>.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaBatch object, or %NULL if an error occurred</doc>
+ <type name="Batch" c:type="GdaBatch*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sql" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the SQL string to parse</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="remain"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">location to store a pointer to remaining part of @sql in case an error occurred while parsing @sql, or %NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_overflow_error"
+ c:identifier="gda_sql_parser_set_overflow_error">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="set_syntax_error"
+ c:identifier="gda_sql_parser_set_syntax_error">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <property name="column-error" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="line-error" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="mode" writable="1" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="tokenizer-flavour"
+ writable="1"
+ transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="SqlParserPrivate" c:type="GdaSqlParserPrivate*"/>
+ </field>
+ </class>
+ <record name="SqlParserClass"
+ c:type="GdaSqlParserClass"
+ glib:is-gtype-struct-for="SqlParser">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="delim_alloc" introspectable="0">
+ <callback name="delim_alloc" introspectable="0">
+ <return-value>
+ <type name="gpointer" c:type="void*"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delim_free">
+ <callback name="delim_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delim_trace">
+ <callback name="delim_trace">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delim_parse" introspectable="0">
+ <callback name="delim_parse" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type c:type="GdaSqlParserIface*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delim_tokens_trans">
+ <type name="gint" c:type="gint*"/>
+ </field>
+ <field name="parser_alloc" introspectable="0">
+ <callback name="parser_alloc" introspectable="0">
+ <return-value>
+ <type name="gpointer" c:type="void*"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="parser_free">
+ <callback name="parser_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="parser_trace">
+ <callback name="parser_trace">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="parser_parse" introspectable="0">
+ <callback name="parser_parse" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <type c:type="GdaSqlParserIface*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="parser_tokens_trans">
+ <type name="gint" c:type="gint*"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="SqlParserError" c:type="GdaSqlParserError">
+ <member name="syntax_error"
+ value="0"
+ c:identifier="GDA_SQL_PARSER_SYNTAX_ERROR"/>
+ <member name="overflow_error"
+ value="1"
+ c:identifier="GDA_SQL_PARSER_OVERFLOW_ERROR"/>
+ <member name="empty_sql_error"
+ value="2"
+ c:identifier="GDA_SQL_PARSER_EMPTY_SQL_ERROR"/>
+ </enumeration>
+ <enumeration name="SqlParserFlavour" c:type="GdaSqlParserFlavour">
+ <member name="standard"
+ value="0"
+ c:identifier="GDA_SQL_PARSER_FLAVOUR_STANDARD"/>
+ <member name="sqlite"
+ value="1"
+ c:identifier="GDA_SQL_PARSER_FLAVOUR_SQLITE"/>
+ <member name="mysql"
+ value="2"
+ c:identifier="GDA_SQL_PARSER_FLAVOUR_MYSQL"/>
+ <member name="oracle"
+ value="3"
+ c:identifier="GDA_SQL_PARSER_FLAVOUR_ORACLE"/>
+ <member name="postgresql"
+ value="4"
+ c:identifier="GDA_SQL_PARSER_FLAVOUR_POSTGRESQL"/>
+ </enumeration>
+ <enumeration name="SqlParserMode" c:type="GdaSqlParserMode">
+ <member name="parse" value="0" c:identifier="GDA_SQL_PARSER_MODE_PARSE"/>
+ <member name="delimit"
+ value="1"
+ c:identifier="GDA_SQL_PARSER_MODE_DELIMIT"/>
+ </enumeration>
+ <record name="SqlParserPrivate" c:type="GdaSqlParserPrivate" disguised="1">
+ </record>
+ <record name="SqlRenderingContext" c:type="GdaSqlRenderingContext">
+ <field name="flags" writable="1">
+ <type name="StatementSqlFlag" c:type="GdaStatementSqlFlag"/>
+ </field>
+ <field name="params" writable="1">
+ <type name="Set" c:type="GdaSet*"/>
+ </field>
+ <field name="params_used" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="provider" writable="1">
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </field>
+ <field name="cnc" writable="1">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </field>
+ <field name="render_value" writable="1">
+ <type name="SqlRenderingValue" c:type="GdaSqlRenderingValue"/>
+ </field>
+ <field name="render_param_spec" introspectable="0" writable="1">
+ <type name="SqlRenderingPSpecFunc" c:type="GdaSqlRenderingPSpecFunc"/>
+ </field>
+ <field name="render_expr" introspectable="0" writable="1">
+ <type name="SqlRenderingExpr" c:type="GdaSqlRenderingExpr"/>
+ </field>
+ <field name="render_unknown" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_begin" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_rollback" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_commit" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_savepoint" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_rollback_savepoint" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_delete_savepoint" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_select" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_insert" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_delete" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_update" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_compound" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_field" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_table" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_function" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_operation" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_case" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_select_field" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_select_target" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_select_join" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_select_from" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_select_order" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="render_distinct" introspectable="0" writable="1">
+ <type name="SqlRenderingFunc" c:type="GdaSqlRenderingFunc"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved5" introspectable="0">
+ <callback name="_gda_reserved5">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved6" introspectable="0">
+ <callback name="_gda_reserved6">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved7" introspectable="0">
+ <callback name="_gda_reserved7">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <callback name="SqlRenderingExpr"
+ c:type="GdaSqlRenderingExpr"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Rendering function type to render a #GdaSqlExpr</doc>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="expr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GdaSqlExpr to render</doc>
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the rendering context</doc>
+ <type name="SqlRenderingContext" c:type="GdaSqlRenderingContext*"/>
+ </parameter>
+ <parameter name="is_default" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a #gboolean which is set to TRUE if value should be considered as a default value</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="is_null" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a #gboolean which is set to TRUE if value should be considered as NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="SqlRenderingFunc"
+ c:type="GdaSqlRenderingFunc"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Function to render any #GdaSqlAnyPart.</doc>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSqlAnyPart pointer, to be cast to the correct type depending on which part the function has to render</doc>
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the rendering context</doc>
+ <type name="SqlRenderingContext" c:type="GdaSqlRenderingContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="SqlRenderingPSpecFunc"
+ c:type="GdaSqlRenderingPSpecFunc"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Rendering function type to render a #GdaSqlParamSpec</doc>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GdaSqlParamSpec to render</doc>
+ <type c:type="GdaSqlParamSpec*"/>
+ </parameter>
+ <parameter name="expr" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">#GdaSqlExpr which may hold the default value for the parameter, or %NULL</doc>
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the rendering context</doc>
+ <type name="SqlRenderingContext" c:type="GdaSqlRenderingContext*"/>
+ </parameter>
+ <parameter name="is_default" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a #gboolean which is set to TRUE if value should be considered as a default value</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="is_null" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a #gboolean which is set to TRUE if value should be considered as NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="SqlRenderingValue"
+ c:type="GdaSqlRenderingValue"
+ throws="1">
+ <doc xml:whitespace="preserve">Rendering function type to render a #GValue</doc>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GValue to render</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the rendering context</doc>
+ <type name="SqlRenderingContext" c:type="GdaSqlRenderingContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="SqlReservedKeywordsFunc"
+ c:type="GdaSqlReservedKeywordsFunc">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="word" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="SqlSelectField"
+ c:type="GdaSqlSelectField"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This structure represents a selected item in a SELECT statement (when executed, the returned data set
+will have one column per selected item). Note that the @table_name and
+ field_name field parts <emphasis>will be</emphasis> overwritten by &LIBGDA;,
+set the value of @expr->value instead.</doc>
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="expr" writable="1">
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </field>
+ <field name="field_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="table_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="as" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="validity_meta_object" writable="1">
+ <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
+ </field>
+ <field name="validity_meta_table_column" writable="1">
+ <type name="MetaTableColumn" c:type="GdaMetaTableColumn*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="copy"
+ c:identifier="gda_sql_select_field_copy"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectField" c:type="GdaSqlSelectField*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_sql_select_field_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="serialize" c:identifier="gda_sql_select_field_serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="take_alias" c:identifier="gda_sql_select_field_take_alias">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="alias" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_expr"
+ c:identifier="gda_sql_select_field_take_expr"
+ introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="expr" transfer-ownership="none">
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_star_value"
+ c:identifier="gda_sql_select_field_take_star_value">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gda_sql_select_field_new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectField" c:type="GdaSqlSelectField*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="SqlSelectFrom" c:type="GdaSqlSelectFrom" introspectable="0">
+ <doc xml:whitespace="preserve">This structure represents the FROM clause of a SELECT statement, it lists targets and joins</doc>
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="targets" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="SqlSelectTarget"/>
+ </type>
+ </field>
+ <field name="joins" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="SqlSelectJoin"/>
+ </type>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="copy"
+ c:identifier="gda_sql_select_from_copy"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectFrom" c:type="GdaSqlSelectFrom*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_sql_select_from_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="serialize" c:identifier="gda_sql_select_from_serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="take_new_join"
+ c:identifier="gda_sql_select_from_take_new_join"
+ introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="join" transfer-ownership="none">
+ <type name="SqlSelectJoin" c:type="GdaSqlSelectJoin*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_new_target"
+ c:identifier="gda_sql_select_from_take_new_target"
+ introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="target" transfer-ownership="none">
+ <type name="SqlSelectTarget" c:type="GdaSqlSelectTarget*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gda_sql_select_from_new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectFrom" c:type="GdaSqlSelectFrom*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="SqlSelectJoin" c:type="GdaSqlSelectJoin" introspectable="0">
+ <doc xml:whitespace="preserve">This structure represents a join between two targets in a SELECT statement.</doc>
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="type" writable="1">
+ <type name="SqlSelectJoinType" c:type="GdaSqlSelectJoinType"/>
+ </field>
+ <field name="position" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="expr" writable="1">
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </field>
+ <field name="use" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="copy"
+ c:identifier="gda_sql_select_join_copy"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectJoin" c:type="GdaSqlSelectJoin*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_sql_select_join_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="serialize" c:identifier="gda_sql_select_join_serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <function name="new"
+ c:identifier="gda_sql_select_join_new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectJoin" c:type="GdaSqlSelectJoin*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_to_string"
+ c:identifier="gda_sql_select_join_type_to_string">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <type name="SqlSelectJoinType" c:type="GdaSqlSelectJoinType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="SqlSelectJoinType" c:type="GdaSqlSelectJoinType">
+ <member name="cross" value="0" c:identifier="GDA_SQL_SELECT_JOIN_CROSS"/>
+ <member name="natural"
+ value="1"
+ c:identifier="GDA_SQL_SELECT_JOIN_NATURAL"/>
+ <member name="inner" value="2" c:identifier="GDA_SQL_SELECT_JOIN_INNER"/>
+ <member name="left" value="3" c:identifier="GDA_SQL_SELECT_JOIN_LEFT"/>
+ <member name="right" value="4" c:identifier="GDA_SQL_SELECT_JOIN_RIGHT"/>
+ <member name="full" value="5" c:identifier="GDA_SQL_SELECT_JOIN_FULL"/>
+ </enumeration>
+ <record name="SqlSelectOrder"
+ c:type="GdaSqlSelectOrder"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This structure represents the ordering of a SELECT statement.</doc>
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="expr" writable="1">
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </field>
+ <field name="asc" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="collation_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="copy"
+ c:identifier="gda_sql_select_order_copy"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectOrder" c:type="GdaSqlSelectOrder*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_sql_select_order_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="serialize" c:identifier="gda_sql_select_order_serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <function name="new"
+ c:identifier="gda_sql_select_order_new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectOrder" c:type="GdaSqlSelectOrder*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="SqlSelectTarget"
+ c:type="GdaSqlSelectTarget"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This structure represents a target used to fetch data from in a SELECT statement; it can represent a table or
+a sub select. Note that the @table_name
+part <emphasis>will be</emphasis> overwritten by &LIBGDA;,
+set the value of @expr->value instead.</doc>
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="expr" writable="1">
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </field>
+ <field name="table_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="as" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="validity_meta_object" writable="1">
+ <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="copy"
+ c:identifier="gda_sql_select_target_copy"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectTarget" c:type="GdaSqlSelectTarget*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_sql_select_target_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="serialize" c:identifier="gda_sql_select_target_serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="take_alias"
+ c:identifier="gda_sql_select_target_take_alias">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="alias" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_select"
+ c:identifier="gda_sql_select_target_take_select">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_table_name"
+ c:identifier="gda_sql_select_target_take_table_name">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gda_sql_select_target_new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectTarget" c:type="GdaSqlSelectTarget*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="SqlStatement" c:type="GdaSqlStatement" disguised="1">
+ <doc xml:whitespace="preserve">This structure is the top level structure encapsulating several type of statements.</doc>
+ <method name="compound_set_type"
+ c:identifier="gda_sql_statement_compound_set_type">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <type name="SqlStatementCompoundType"
+ c:type="GdaSqlStatementCompoundType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="compound_take_stmt"
+ c:identifier="gda_sql_statement_compound_take_stmt">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="s" transfer-ownership="none">
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="SqlStatementCheckValidityData"
+ c:type="GdaSqlStatementCheckValidityData"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Validation against a dictionary</doc>
+ <field name="cnc" writable="1">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </field>
+ <field name="store" writable="1">
+ <type name="MetaStore" c:type="GdaMetaStore*"/>
+ </field>
+ <field name="mstruct" writable="1">
+ <type name="MetaStruct" c:type="GdaMetaStruct*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <record name="SqlStatementCompound"
+ c:type="GdaSqlStatementCompound"
+ introspectable="0">
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="compound_type" writable="1">
+ <type name="SqlStatementCompoundType"
+ c:type="GdaSqlStatementCompoundType"/>
+ </field>
+ <field name="stmt_list" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <enumeration name="SqlStatementCompoundType"
+ c:type="GdaSqlStatementCompoundType">
+ <member name="union"
+ value="0"
+ c:identifier="GDA_SQL_STATEMENT_COMPOUND_UNION"/>
+ <member name="union_all"
+ value="1"
+ c:identifier="GDA_SQL_STATEMENT_COMPOUND_UNION_ALL"/>
+ <member name="intersect"
+ value="2"
+ c:identifier="GDA_SQL_STATEMENT_COMPOUND_INTERSECT"/>
+ <member name="intersect_all"
+ value="3"
+ c:identifier="GDA_SQL_STATEMENT_COMPOUND_INTERSECT_ALL"/>
+ <member name="except"
+ value="4"
+ c:identifier="GDA_SQL_STATEMENT_COMPOUND_EXCEPT"/>
+ <member name="except_all"
+ value="5"
+ c:identifier="GDA_SQL_STATEMENT_COMPOUND_EXCEPT_ALL"/>
+ </enumeration>
+ <record name="SqlStatementContentsInfo"
+ c:type="GdaSqlStatementContentsInfo"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Contents' infos</doc>
+ <field name="type" writable="1">
+ <type name="SqlStatementType" c:type="GdaSqlStatementType"/>
+ </field>
+ <field name="name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="construct">
+ <callback name="construct">
+ <return-value>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="free">
+ <callback name="free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="copy">
+ <callback name="copy">
+ <return-value>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="serialize">
+ <callback name="serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="check_structure_func" writable="1">
+ <type name="SqlForeachFunc" c:type="GdaSqlForeachFunc"/>
+ </field>
+ <field name="check_validity_func" writable="1">
+ <type name="SqlForeachFunc" c:type="GdaSqlForeachFunc"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved3" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved4" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <record name="SqlStatementDelete"
+ c:type="GdaSqlStatementDelete"
+ disguised="1">
+ </record>
+ <record name="SqlStatementInsert"
+ c:type="GdaSqlStatementInsert"
+ disguised="1">
+ <doc xml:whitespace="preserve">The statement is an INSERT statement, any kind of INSERT statement can be represented using this structure
+(if this is not the case
+then report a bug).
+<mediaobject>
+<imageobject role="html">
+<imagedata fileref="stmt-insert1.png" format="PNG"/>
+</imageobject>
+<caption>
+<para>
+Example of a #GdaSqlStatement having a #GdaSqlStatementInsert as its contents with 2 lists of values
+to insert.
+</para>
+</caption>
+</mediaobject>
+<mediaobject>
+<imageobject role="html">
+<imagedata fileref="stmt-insert2.png" format="PNG"/>
+</imageobject>
+<caption>
+<para>
+Another example of a #GdaSqlStatement having a #GdaSqlStatementInsert as its contents, using a SELECT
+to express the values to insert.
+</para>
+</caption>
+</mediaobject></doc>
+ </record>
+ <record name="SqlStatementSelect"
+ c:type="GdaSqlStatementSelect"
+ disguised="1">
+ </record>
+ <record name="SqlStatementTransaction"
+ c:type="GdaSqlStatementTransaction"
+ disguised="1">
+ <doc xml:whitespace="preserve">The statement is a transaction management related statement (BEGIN, ROLLBACK, etc). The #GdaSqlStatementTransaction structure
+does not hold enough information to reconstruct the complete SQL statement (some information may be missing) - the aim of this
+structure is to identify a minimum set of information in the transaction statement. Note that the complete SQL which created the
+statement should be available in the #GdaSqlStatement structure which encapsulates this structure.</doc>
+ </record>
+ <enumeration name="SqlStatementType" c:type="GdaSqlStatementType">
+ <doc xml:whitespace="preserve">Known types of statements</doc>
+ <member name="select" value="0" c:identifier="GDA_SQL_STATEMENT_SELECT"/>
+ <member name="insert" value="1" c:identifier="GDA_SQL_STATEMENT_INSERT"/>
+ <member name="update" value="2" c:identifier="GDA_SQL_STATEMENT_UPDATE"/>
+ <member name="delete" value="3" c:identifier="GDA_SQL_STATEMENT_DELETE"/>
+ <member name="compound"
+ value="4"
+ c:identifier="GDA_SQL_STATEMENT_COMPOUND"/>
+ <member name="begin" value="5" c:identifier="GDA_SQL_STATEMENT_BEGIN"/>
+ <member name="rollback"
+ value="6"
+ c:identifier="GDA_SQL_STATEMENT_ROLLBACK"/>
+ <member name="commit" value="7" c:identifier="GDA_SQL_STATEMENT_COMMIT"/>
+ <member name="savepoint"
+ value="8"
+ c:identifier="GDA_SQL_STATEMENT_SAVEPOINT"/>
+ <member name="rollback_savepoint"
+ value="9"
+ c:identifier="GDA_SQL_STATEMENT_ROLLBACK_SAVEPOINT"/>
+ <member name="delete_savepoint"
+ value="10"
+ c:identifier="GDA_SQL_STATEMENT_DELETE_SAVEPOINT"/>
+ <member name="unknown"
+ value="11"
+ c:identifier="GDA_SQL_STATEMENT_UNKNOWN"/>
+ <member name="none" value="12" c:identifier="GDA_SQL_STATEMENT_NONE"/>
+ </enumeration>
+ <record name="SqlStatementUnknown"
+ c:type="GdaSqlStatementUnknown"
+ disguised="1">
+ <doc xml:whitespace="preserve">Represents any statement which type is not identified (any DDL statement or database specific dialect)</doc>
+ </record>
+ <record name="SqlStatementUpdate"
+ c:type="GdaSqlStatementUpdate"
+ disguised="1">
+ </record>
+ <record name="SqlTable" c:type="GdaSqlTable" introspectable="0">
+ <doc xml:whitespace="preserve">This structure represents the name of a table.</doc>
+ <field name="any" writable="1">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart"/>
+ </field>
+ <field name="table_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="validity_meta_object" writable="1">
+ <type name="MetaDbObject" c:type="GdaMetaDbObject*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="copy" c:identifier="gda_sql_table_copy" introspectable="0">
+ <return-value>
+ <type name="SqlTable" c:type="GdaSqlTable*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gda_sql_table_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="serialize" c:identifier="gda_sql_table_serialize">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="take_name" c:identifier="gda_sql_table_take_name">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new" c:identifier="gda_sql_table_new" introspectable="0">
+ <return-value>
+ <type name="SqlTable" c:type="GdaSqlTable*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <class name="Statement"
+ c:symbol-prefix="statement"
+ c:type="GdaStatement"
+ parent="GObject.Object"
+ glib:type-name="GdaStatement"
+ glib:get-type="gda_statement_get_type"
+ glib:type-struct="StatementClass">
+ <constructor name="new" c:identifier="gda_statement_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaStatement object</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new object</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </return-value>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_statement_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <virtual-method name="checked">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="checked" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="reset">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <method name="check_structure"
+ c:identifier="gda_statement_check_structure"
+ throws="1">
+ <doc xml:whitespace="preserve">Checks that @stmt's structure is correct.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @stmt's structure is correct</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="check_validity"
+ c:identifier="gda_statement_check_validity"
+ throws="1">
+ <doc xml:whitespace="preserve">If @cnc is not %NULL then checks that every object (table, field, function) used in @stmt
+actually exists in @cnc's database
+
+If @cnc is %NULL, then cleans anything related to @cnc in @stmt.
+
+See gda_sql_statement_check_validity() for more information.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if every object actually exists in @cnc's database</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gda_statement_copy">
+ <doc xml:whitespace="preserve">Copy constructor</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a the new copy of @orig</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </return-value>
+ </method>
+ <method name="get_parameters"
+ c:identifier="gda_statement_get_parameters"
+ throws="1">
+ <doc xml:whitespace="preserve">Get a new #GdaSet object which groups all the execution parameters
+which @stmt needs. This new object is returned though @out_params.
+
+Note that if @stmt does not need any parameter, then @out_params is set to %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="out_params"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a place to store a new #GdaSet object, or %NULL</doc>
+ <type name="Set" c:type="GdaSet**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_statement_type"
+ c:identifier="gda_statement_get_statement_type">
+ <doc xml:whitespace="preserve">Get the type of statement held by @stmt. It returns GDA_SQL_STATEMENT_NONE if
+ stmt does not hold any statement</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the statement type</doc>
+ <type name="SqlStatementType" c:type="GdaSqlStatementType"/>
+ </return-value>
+ </method>
+ <method name="is_useless" c:identifier="gda_statement_is_useless">
+ <doc xml:whitespace="preserve">Tells if @stmt is composed only of spaces (that is it has no real SQL code), and is completely
+useless as such.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if executing @stmt does nothing</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="normalize"
+ c:identifier="gda_statement_normalize"
+ throws="1">
+ <doc xml:whitespace="preserve">"Normalizes" some parts of @stmt, see gda_sql_statement_normalize() for more
+information.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="rewrite_for_default_values"
+ c:identifier="gda_statement_rewrite_for_default_values"
+ version="4.2"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Rewrites @stmt and creates a new #GdaSqlStatement where all the variables which are to a DEFAULT value
+(as returned by gda_holder_value_is_default()) are either removed from the statement (if @remove
+is %TRUE) or replaced by the "DEFAULT" keyword (if @remove is %FALSE).
+
+This function is only useful for database providers' implementations which have to deal with default
+values when executing statements, and is only relevant in the case of INSERT or UPDATE statements
+(in the latter case an error is returned if @remove is %TRUE).
+
+For example the <programlisting><![CDATA[INSERT INTO mytable (id, name) VALUES (23, ##name::string)]]></programlisting>
+is re-written into <programlisting><![CDATA[INSERT INTO mytable (id, name) VALUES (23, DEFAULT)]]></programlisting>
+if @remove is %FALSE and into <programlisting><![CDATA[INSERT INTO mytable (id) VALUES (23)]]></programlisting>
+if @remove is %TRUE.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a new #GdaSqlStatement, or %NULL if an error occurred</doc>
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="params" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSet containing the variable's values to be bound when executing @stmt</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="remove" transfer-ownership="none">
+ <doc xml:whitespace="preserve">set to %TRUE if DEFAULT fields are removed, of %FALSE if the "DEFAULT" keyword is used</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="serialize" c:identifier="gda_statement_serialize">
+ <doc xml:whitespace="preserve">Creates a string representing the contents of @stmt.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a string containing the serialized version of @stmt</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="to_sql_extended"
+ c:identifier="gda_statement_to_sql_extended"
+ throws="1">
+ <doc xml:whitespace="preserve">Renders @stmt as an SQL statement, with some control on how it is rendered.
+
+If @cnc is not %NULL, then the rendered SQL will better be suited to be used by @cnc (in particular
+it may include some SQL tweaks and/or proprietary extensions specific to the database engine used by @cnc):
+in this case the result is similar to calling gda_connection_statement_to_sql().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string if no error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">parameters contained in a single #GdaSet object, or %NULL</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a set of flags to control the rendering</doc>
+ <type name="StatementSqlFlag" c:type="GdaStatementSqlFlag"/>
+ </parameter>
+ <parameter name="params_used"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="container"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a place to store the list of actual #GdaHolder objects in @params used to do the rendering, or %NULL</doc>
+ <type name="GLib.SList" c:type="GSList**">
+ <type name="Holder"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_sql_real"
+ c:identifier="gda_statement_to_sql_real"
+ throws="1">
+ <doc xml:whitespace="preserve">Renders @stmt to its SQL representation, using @context to specify how each part of @stmt must
+be rendered. This function is mainly used by database provider's implementations which require
+to specialize some aspects of SQL rendering to be adapted to the database,'s own SQL dialect
+(for example SQLite rewrites the 'FALSE' and 'TRUE' literals as '0' and 'NOT 0').</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSqlRenderingContext context</doc>
+ <type name="SqlRenderingContext" c:type="GdaSqlRenderingContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="structure" writable="1" transfer-ownership="none">
+ <type name="gpointer"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="StatementPrivate" c:type="GdaStatementPrivate*"/>
+ </field>
+ <glib:signal name="checked" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever the structure and contents
+of @stmt have been verified (emitted after gda_statement_check_validity()).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Connection"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <type name="gboolean"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="reset" when="first">
+ <doc xml:whitespace="preserve">Gets emitted whenever the @stmt has changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ </class>
+ <record name="StatementClass"
+ c:type="GdaStatementClass"
+ glib:is-gtype-struct-for="Statement">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="checked">
+ <callback name="checked">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none">
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="checked" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reset">
+ <callback name="reset">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="StatementError" c:type="GdaStatementError">
+ <member name="parse_error"
+ value="0"
+ c:identifier="GDA_STATEMENT_PARSE_ERROR"/>
+ <member name="syntax_error"
+ value="1"
+ c:identifier="GDA_STATEMENT_SYNTAX_ERROR"/>
+ <member name="no_cnc_error"
+ value="2"
+ c:identifier="GDA_STATEMENT_NO_CNC_ERROR"/>
+ <member name="cnc_closed_error"
+ value="3"
+ c:identifier="GDA_STATEMENT_CNC_CLOSED_ERROR"/>
+ <member name="exec_error"
+ value="4"
+ c:identifier="GDA_STATEMENT_EXEC_ERROR"/>
+ <member name="param_type_error"
+ value="5"
+ c:identifier="GDA_STATEMENT_PARAM_TYPE_ERROR"/>
+ <member name="param_error"
+ value="6"
+ c:identifier="GDA_STATEMENT_PARAM_ERROR"/>
+ </enumeration>
+ <bitfield name="StatementModelUsage" c:type="GdaStatementModelUsage">
+ <doc xml:whitespace="preserve">These flags specify how the #GdaDataModel returned when executing a #GdaStatement will be used</doc>
+ <member name="random_access"
+ value="1"
+ c:identifier="GDA_STATEMENT_MODEL_RANDOM_ACCESS"/>
+ <member name="cursor_forward"
+ value="2"
+ c:identifier="GDA_STATEMENT_MODEL_CURSOR_FORWARD"/>
+ <member name="cursor_backward"
+ value="4"
+ c:identifier="GDA_STATEMENT_MODEL_CURSOR_BACKWARD"/>
+ <member name="cursor"
+ value="6"
+ c:identifier="GDA_STATEMENT_MODEL_CURSOR"/>
+ <member name="allow_noparam"
+ value="8"
+ c:identifier="GDA_STATEMENT_MODEL_ALLOW_NOPARAM"/>
+ </bitfield>
+ <record name="StatementPrivate" c:type="GdaStatementPrivate" disguised="1">
+ </record>
+ <bitfield name="StatementSqlFlag" c:type="GdaStatementSqlFlag">
+ <doc xml:whitespace="preserve">Specifies rendering options</doc>
+ <member name="params_as_values"
+ value="0"
+ c:identifier="GDA_STATEMENT_SQL_PARAMS_AS_VALUES"/>
+ <member name="pretty" value="1" c:identifier="GDA_STATEMENT_SQL_PRETTY"/>
+ <member name="params_long"
+ value="2"
+ c:identifier="GDA_STATEMENT_SQL_PARAMS_LONG"/>
+ <member name="params_short"
+ value="4"
+ c:identifier="GDA_STATEMENT_SQL_PARAMS_SHORT"/>
+ <member name="params_as_colon"
+ value="8"
+ c:identifier="GDA_STATEMENT_SQL_PARAMS_AS_COLON"/>
+ <member name="params_as_dollar"
+ value="16"
+ c:identifier="GDA_STATEMENT_SQL_PARAMS_AS_DOLLAR"/>
+ <member name="params_as_qmark"
+ value="32"
+ c:identifier="GDA_STATEMENT_SQL_PARAMS_AS_QMARK"/>
+ <member name="params_as_uqmark"
+ value="64"
+ c:identifier="GDA_STATEMENT_SQL_PARAMS_AS_UQMARK"/>
+ </bitfield>
+ <constant name="TIMEZONE_INVALID"
+ value="86400"
+ c:type="GDA_TIMEZONE_INVALID">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <record name="ThreadNotification" c:type="GdaThreadNotification">
+ <doc xml:whitespace="preserve">A notification to be read through the #GIOChannel which is returned by gda_thread_wrapper_get_io_channel(),
+for example:
+<programlisting><![CDATA[
+gboolean
+wrapper_ioc_cb (GIOChannel *source, GIOCondition condition, gpointer data)
+{
+GIOStatus status;
+gsize nread;
+GdaThreadNotification notif;
+if (condition & G_IO_IN) {
+status = g_io_channel_read_chars (source, (gchar*) &notif, sizeof (notif), &nread, NULL);
+if ((status != G_IO_STATUS_NORMAL) || (nread != sizeof (notif)))
+goto onerror;
+switch (notif.type) {
+case GDA_THREAD_NOTIFICATION_JOB:
+check_for_wrapper_result (bcnc);
+break;
+case GDA_THREAD_NOTIFICATION_SIGNAL:
+gda_thread_wrapper_iterate (bcnc->priv->wrapper, FALSE);
+break;
+default:
+goto onerror;
+break;
+}
+}
+if (condition & (G_IO_ERR | G_IO_HUP | G_IO_NVAL))
+goto onerror;
+return TRUE; // keep callback
+
+onerror:
+g_io_channel_shutdown (bcnc->priv->ioc, FALSE, NULL);
+return FALSE; // removed callback
+}
+
+{
+[...]
+GIOChannel *ioc;
+ioc = gda_thread_wrapper_get_io_channel (wrapper);
+if (!ioc)
+[handle error]
+else {
+guint watch_id;
+watch_id = g_io_add_watch (ioc, G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
+(GIOFunc) wrapper_ioc_cb, NULL);
+}
+}
+]]></programlisting></doc>
+ <field name="type" writable="1">
+ <type name="ThreadNotificationType"
+ c:type="GdaThreadNotificationType"/>
+ </field>
+ <field name="job_id" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ </record>
+ <enumeration name="ThreadNotificationType"
+ c:type="GdaThreadNotificationType">
+ <doc xml:whitespace="preserve">Defines the kind of notification which can be obtained when reading from te #GIOChannel
+returned by gda_thread_wrapper_get_io_channel().</doc>
+ <member name="job" value="1" c:identifier="GDA_THREAD_NOTIFICATION_JOB"/>
+ <member name="signal"
+ value="2"
+ c:identifier="GDA_THREAD_NOTIFICATION_SIGNAL"/>
+ </enumeration>
+ <class name="ThreadWrapper"
+ c:symbol-prefix="thread_wrapper"
+ c:type="GdaThreadWrapper"
+ parent="GObject.Object"
+ glib:type-name="GdaThreadWrapper"
+ glib:get-type="gda_thread_wrapper_get_type"
+ glib:type-struct="ThreadWrapperClass">
+ <constructor name="new"
+ c:identifier="gda_thread_wrapper_new"
+ version="4.2">
+ <doc xml:whitespace="preserve">Creates a new #GdaThreadWrapper object</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaThreadWrapper object, or %NULL if threads are not supported/enabled</doc>
+ <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
+ </return-value>
+ </constructor>
+ <function name="error_quark"
+ c:identifier="gda_thread_wrapper_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <method name="cancel"
+ c:identifier="gda_thread_wrapper_cancel"
+ version="4.2">
+ <doc xml:whitespace="preserve">Cancels a job not yet executed. This may fail for the following reasons:
+<itemizedlist>
+<listitem><para>the job @id could not be found, either because it has already been treated or because
+it does not exist or because it was created in another thread</para></listitem>
+<listitem><para>the job @id is currently being treated by the worker thread</para></listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the job has been cancelled, or %FALSE in any other case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID of a job as returned by gda_thread_wrapper_execute() or gda_thread_wrapper_execute_void()</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="connect_raw"
+ c:identifier="gda_thread_wrapper_connect_raw"
+ version="4.2">
+ <doc xml:whitespace="preserve">Connects a callback function to a signal for a particular object. The difference with g_signal_connect() and
+similar functions are:
+<itemizedlist>
+<listitem><para>the @callback argument is not a #GCallback function, so the callback signature is not
+dependent on the signal itself</para></listitem>
+<listitem><para>the signal handler must not have to return any value</para></listitem>
+<listitem><para>the @callback function will be called asynchronously, the caller may need to use
+gda_thread_wrapper_iterate() to get the notification</para></listitem>
+<listitem><para>if @private_job and @private_thread control in which case the signal is propagated.</para></listitem>
+</itemizedlist>
+
+Also note that signal handling is done asynchronously: when emitted in the worker thread, it
+will be "queued" to be processed in the user thread when it has the chance (when gda_thread_wrapper_iterate()
+is called directly or indirectly). The side effect is that the callback function is usually
+called long after the object emitting the signal has finished emitting it.
+
+To disconnect a signal handler, don't use any of the g_signal_handler_*() functions but the
+gda_thread_wrapper_disconnect() method.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the handler ID</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <parameter name="instance" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the instance to connect to</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="sig_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string of the form "signal-name::detail"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="private_thread" transfer-ownership="none">
+ <doc xml:whitespace="preserve">set to %TRUE if @callback is to be invoked only if the signal has been emitted while in @wrapper's private sub thread (ie. used when @wrapper is executing some functions specified by gda_thread_wrapper_execute() or gda_thread_wrapper_execute_void()), and to %FALSE if the callback is to be invoked whenever the signal is emitted, independently of the thread in which the signal is emitted.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="private_job" transfer-ownership="none">
+ <doc xml:whitespace="preserve">set to %TRUE if @callback is to be invoked only if the signal has been emitted when a job created for the calling thread is being executed, and to %FALSE if @callback has to be called whenever the @sig_name signal is emitted by @instance. Note that this argument is not taken into account if @private_thread is set to %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="call"
+ closure="5">
+ <doc xml:whitespace="preserve">a #GdaThreadWrapperCallback function</doc>
+ <type name="ThreadWrapperCallback"
+ c:type="GdaThreadWrapperCallback"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data to pass to @callback's calls</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="disconnect"
+ c:identifier="gda_thread_wrapper_disconnect"
+ version="4.2">
+ <doc xml:whitespace="preserve">Disconnects the emission of a signal, does the opposite of gda_thread_wrapper_connect_raw().
+
+As soon as this method returns, the callback function set when gda_thread_wrapper_connect_raw()
+was called will not be called anymore (even if the object has emitted the signal in the worker
+thread and this signal has not been handled in the user thread).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a handler ID, as returned by gda_thread_wrapper_connect_raw()</doc>
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="execute"
+ c:identifier="gda_thread_wrapper_execute"
+ version="4.2"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Make @wrapper execute the @func function with the @arg argument (along with a #GError which is not @error)
+in the sub thread managed by @wrapper. To execute a function which does not return anything,
+use gda_thread_wrapper_execute_void().
+
+This method returns immediately, and the caller then needs to use gda_thread_wrapper_fetch_result() to
+check if the execution has finished and get the result.
+
+Once @func's execution is finished, if @arg is not %NULL, the @arg_destroy_func destruction function is called
+on @arg. This call occurs in the thread calling gda_thread_wrapper_fetch_result().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the job ID, or 0 if an error occurred</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ destroy="2">
+ <doc xml:whitespace="preserve">the function to execute, not %NULL</doc>
+ <type name="ThreadWrapperFunc" c:type="GdaThreadWrapperFunc"/>
+ </parameter>
+ <parameter name="arg" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">argument to pass to @func, or %NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="arg_destroy_func"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="async">
+ <doc xml:whitespace="preserve">function to be called when the execution has finished, to destroy @arg, or %NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="execute_void"
+ c:identifier="gda_thread_wrapper_execute_void"
+ version="4.2"
+ throws="1">
+ <doc xml:whitespace="preserve">Make @wrapper execute the @func function with the @arg argument (along with a #GError which is not @error)
+in the sub thread managed by @wrapper. To execute a function which returns some pointer,
+use gda_thread_wrapper_execute().
+
+This method returns immediately. Calling gda_thread_wrapper_fetch_result() is not necessary as @func
+does not return any result. However, it may be necessary to call gda_thread_wrapper_iterate() to give @wrapper a
+chance to execute the @arg_destroy_func function if not %NULL (note that gda_thread_wrapper_iterate() is
+called by gda_thread_wrapper_fetch_result() itself).
+
+Once @func's execution is finished, if @arg is not %NULL, the @arg_destroy_func destruction function is called
+on @arg. This call occurs in the thread calling gda_thread_wrapper_fetch_result().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the job ID, or 0 if an error occurred</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ destroy="2">
+ <doc xml:whitespace="preserve">the function to execute, not %NULL</doc>
+ <type name="ThreadWrapperVoidFunc"
+ c:type="GdaThreadWrapperVoidFunc"/>
+ </parameter>
+ <parameter name="arg" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">argument to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="arg_destroy_func"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="async">
+ <doc xml:whitespace="preserve">function to be called when the execution has finished, to destroy @arg, or %NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fetch_result"
+ c:identifier="gda_thread_wrapper_fetch_result"
+ version="4.2"
+ throws="1">
+ <doc xml:whitespace="preserve">Use this method to check if the execution of a function is finished. The function's execution must have
+been requested using gda_thread_wrapper_execute().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pointer returned by the execution, or %NULL if no result is available</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="may_lock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if this funct must lock the caller untill a result is available</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="exp_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">ID of the job for which a result is expected</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_io_channel"
+ c:identifier="gda_thread_wrapper_get_io_channel"
+ version="4.2.9">
+ <doc xml:whitespace="preserve">Allow @wrapper to notify when an execution job is finished, by making its exec ID
+readable through a new #GIOChannel. This function is useful when the notification needs
+to be included into a main loop. This also notifies that signals (emitted by objects in
+ wrapper's internal thread) are available.
+
+The returned #GIOChannel will have something to read everytime an execution job is finished
+for an execution job submitted from the calling thread. The user whould read #GdaThreadNotification
+structures from the channel and analyse its contents to call gda_thread_wrapper_iterate()
+or gda_thread_wrapper_fetch_result().
+
+Note1: the new communication channel will only be operational for jobs submitted after this
+function returns, and for signals which have been connected after this function returns. A safe
+practice is to call this function before the @wrapper object has been used.
+
+Note2: this function will return the same #GIOChannel everytime it's called from the same thread.
+
+Note3: if the usage of the returned #GIOChannel reveals an error, then g_io_channel_shutdown() and
+g_io_channel_unref() should be called on the #GIOChannel to let @wrapper know it should not use
+that object anymore.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a new #GIOChannel, or %NULL if it could not be created</doc>
+ <type name="GLib.IOChannel" c:type="GIOChannel*"/>
+ </return-value>
+ </method>
+ <method name="get_waiting_size"
+ c:identifier="gda_thread_wrapper_get_waiting_size"
+ version="4.2">
+ <doc xml:whitespace="preserve">Use this method to query the number of functions which have been queued to be executed
+but which have not yet been executed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of jobs not yet executed</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="iterate"
+ c:identifier="gda_thread_wrapper_iterate"
+ version="4.2">
+ <doc xml:whitespace="preserve">This method gives @wrapper a chance to check if some functions to be executed have finished
+<emphasis>for the calling thread</emphasis>. In this case it handles the execution result and
+makes it ready to be processed using gda_thread_wrapper_fetch_result().
+
+This method also allows @wrapper to handle signals which may have been emitted by objects
+while in the worker thread, and call the callback function specified when gda_thread_wrapper_connect_raw()
+was used.
+
+If @may_block is %TRUE, then it will block untill there is one finished execution
+(functions returning void and signals are ignored regarding this argument).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="may_block" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether the call may block</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="steal_signal"
+ c:identifier="gda_thread_wrapper_steal_signal"
+ version="4.2">
+ <doc xml:whitespace="preserve">Requests that the signal which ID is @id (which has been obtained using gda_thread_wrapper_connect_raw())
+be treated by the calling thread instead of by the thread in which gda_thread_wrapper_connect_raw()
+was called.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a signal ID</doc>
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unset_io_channel"
+ c:identifier="gda_thread_wrapper_unset_io_channel"
+ version="4.2.9">
+ <doc xml:whitespace="preserve">Does the opposite of gda_thread_wrapper_get_io_channel()</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="ThreadWrapperPrivate" c:type="GdaThreadWrapperPrivate*"/>
+ </field>
+ </class>
+ <callback name="ThreadWrapperCallback" c:type="GdaThreadWrapperCallback">
+ <doc xml:whitespace="preserve">Specifies the type of function to be passed to gda_thread_wrapper_connect_raw()</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="wrapper" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaThreadWrapper</doc>
+ <type name="ThreadWrapper" c:type="GdaThreadWrapper*"/>
+ </parameter>
+ <parameter name="instance" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the instance which emitted the signal</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="signame" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the signal being emitted</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="n_param_values" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of GValue in @param_values</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="param_values" transfer-ownership="none">
+ <doc xml:whitespace="preserve">array of @n_param_values GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="gda_reserved" transfer-ownership="none">
+ <doc xml:whitespace="preserve">reserved</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the data (which is the @data argument passed to gda_thread_wrapper_connect_raw())</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ThreadWrapperClass"
+ c:type="GdaThreadWrapperClass"
+ glib:is-gtype-struct-for="ThreadWrapper">
+ <field name="object_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="ThreadWrapperError" c:type="GdaThreadWrapperError">
+ <member name="thread_wrapper_unknown_error"
+ value="0"
+ c:identifier="GDA_THREAD_WRAPPER_UNKNOWN_ERROR"/>
+ </enumeration>
+ <callback name="ThreadWrapperFunc"
+ c:type="GdaThreadWrapperFunc"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Specifies the type of function to be passed to gda_thread_wrapper_execute().</doc>
+ <return-value>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="arg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to the data (which is the @arg argument passed to gda_thread_wrapper_execute_void())</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ThreadWrapperPrivate"
+ c:type="GdaThreadWrapperPrivate"
+ disguised="1">
+ </record>
+ <callback name="ThreadWrapperVoidFunc"
+ c:type="GdaThreadWrapperVoidFunc"
+ throws="1">
+ <doc xml:whitespace="preserve">Specifies the type of function to be passed to gda_thread_wrapper_execute_void().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="arg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the data (which is the @arg argument passed to gda_thread_wrapper_execute_void())</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="Time"
+ c:type="GdaTime"
+ glib:type-name="GdaTime"
+ glib:get-type="gda_time_get_type"
+ c:symbol-prefix="time">
+ <field name="hour" writable="1">
+ <type name="gushort" c:type="gushort"/>
+ </field>
+ <field name="minute" writable="1">
+ <type name="gushort" c:type="gushort"/>
+ </field>
+ <field name="second" writable="1">
+ <type name="gushort" c:type="gushort"/>
+ </field>
+ <field name="fraction" writable="1">
+ <type name="gulong" c:type="gulong"/>
+ </field>
+ <field name="timezone" writable="1">
+ <type name="glong" c:type="glong"/>
+ </field>
+ <method name="valid" c:identifier="gda_time_valid" version="4.2">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if #GdaTime is valid; %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <function name="copy" c:identifier="gda_time_copy">
+ <return-value transfer-ownership="full">
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="free" c:identifier="gda_time_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="Timestamp"
+ c:type="GdaTimestamp"
+ glib:type-name="GdaTimestamp"
+ glib:get-type="gda_timestamp_get_type"
+ c:symbol-prefix="timestamp">
+ <field name="year" writable="1">
+ <type name="gshort" c:type="gshort"/>
+ </field>
+ <field name="month" writable="1">
+ <type name="gushort" c:type="gushort"/>
+ </field>
+ <field name="day" writable="1">
+ <type name="gushort" c:type="gushort"/>
+ </field>
+ <field name="hour" writable="1">
+ <type name="gushort" c:type="gushort"/>
+ </field>
+ <field name="minute" writable="1">
+ <type name="gushort" c:type="gushort"/>
+ </field>
+ <field name="second" writable="1">
+ <type name="gushort" c:type="gushort"/>
+ </field>
+ <field name="fraction" writable="1">
+ <type name="gulong" c:type="gulong"/>
+ </field>
+ <field name="timezone" writable="1">
+ <type name="glong" c:type="glong"/>
+ </field>
+ <method name="valid" c:identifier="gda_timestamp_valid" version="4.2">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if #GdaTimestamp is valid; %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <function name="copy" c:identifier="gda_timestamp_copy">
+ <return-value transfer-ownership="full">
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="free" c:identifier="gda_timestamp_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="TransactionIsolation" c:type="GdaTransactionIsolation">
+ <member name="unknown"
+ value="0"
+ c:identifier="GDA_TRANSACTION_ISOLATION_UNKNOWN"/>
+ <member name="read_committed"
+ value="1"
+ c:identifier="GDA_TRANSACTION_ISOLATION_READ_COMMITTED"/>
+ <member name="read_uncommitted"
+ value="2"
+ c:identifier="GDA_TRANSACTION_ISOLATION_READ_UNCOMMITTED"/>
+ <member name="repeatable_read"
+ value="3"
+ c:identifier="GDA_TRANSACTION_ISOLATION_REPEATABLE_READ"/>
+ <member name="serializable"
+ value="4"
+ c:identifier="GDA_TRANSACTION_ISOLATION_SERIALIZABLE"/>
+ </enumeration>
+ <class name="TransactionStatus"
+ c:symbol-prefix="transaction_status"
+ c:type="GdaTransactionStatus"
+ parent="GObject.Object"
+ glib:type-name="GdaTransactionStatus"
+ glib:get-type="gda_transaction_status_get_type"
+ glib:type-struct="TransactionStatusClass">
+ <constructor name="new" c:identifier="gda_transaction_status_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaTransactionStatus object, which allows a fine-tune and
+full control of transactions to be used with providers.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created object.</doc>
+ <type name="TransactionStatus" c:type="GdaTransactionStatus*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name for the transaction</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add_event_sql"
+ c:identifier="gda_transaction_status_add_event_sql"
+ introspectable="0">
+ <return-value>
+ <type name="TransactionStatusEvent"
+ c:type="GdaTransactionStatusEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sql" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="conn_event" transfer-ownership="none">
+ <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_event_sub"
+ c:identifier="gda_transaction_status_add_event_sub"
+ introspectable="0">
+ <return-value>
+ <type name="TransactionStatusEvent"
+ c:type="GdaTransactionStatusEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sub_trans" transfer-ownership="none">
+ <type name="TransactionStatus" c:type="GdaTransactionStatus*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_event_svp"
+ c:identifier="gda_transaction_status_add_event_svp"
+ introspectable="0">
+ <return-value>
+ <type name="TransactionStatusEvent"
+ c:type="GdaTransactionStatusEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="svp_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find" c:identifier="gda_transaction_status_find">
+ <return-value transfer-ownership="full">
+ <type name="TransactionStatus" c:type="GdaTransactionStatus*"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="destev" transfer-ownership="none">
+ <type name="TransactionStatusEvent"
+ c:type="GdaTransactionStatusEvent**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_current"
+ c:identifier="gda_transaction_status_find_current">
+ <doc xml:whitespace="preserve">Find a pointer to the "current" _unnamed_ transaction, which is the last
+transaction if there are several nested transactions</doc>
+ <return-value transfer-ownership="full">
+ <type name="TransactionStatus" c:type="GdaTransactionStatus*"/>
+ </return-value>
+ <parameters>
+ <parameter name="destev" transfer-ownership="none">
+ <type name="TransactionStatusEvent"
+ c:type="GdaTransactionStatusEvent**"/>
+ </parameter>
+ <parameter name="unnamed_only" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free_events"
+ c:identifier="gda_transaction_status_free_events">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <type name="TransactionStatusEvent"
+ c:type="GdaTransactionStatusEvent*"/>
+ </parameter>
+ <parameter name="free_after" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="name">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="isolation_level">
+ <type name="TransactionIsolation" c:type="GdaTransactionIsolation"/>
+ </field>
+ <field name="state">
+ <type name="TransactionStatusState"
+ c:type="GdaTransactionStatusState"/>
+ </field>
+ <field name="events">
+ <type name="GLib.List" c:type="GList*">
+ <type name="TransactionStatusEvent"/>
+ </type>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </class>
+ <record name="TransactionStatusClass"
+ c:type="GdaTransactionStatusClass"
+ glib:is-gtype-struct-for="TransactionStatus">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <record name="TransactionStatusEvent" c:type="GdaTransactionStatusEvent">
+ <field name="trans" writable="1">
+ <type name="TransactionStatus" c:type="GdaTransactionStatus*"/>
+ </field>
+ <field name="type" writable="1">
+ <type name="TransactionStatusEventType"
+ c:type="GdaTransactionStatusEventType"/>
+ </field>
+ <union name="pl" c:type="pl">
+ <field name="svp_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="sql" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="sub_trans" writable="1">
+ <type name="TransactionStatus" c:type="GdaTransactionStatus*"/>
+ </field>
+ </union>
+ <field name="conn_event" writable="1">
+ <type name="ConnectionEvent" c:type="GdaConnectionEvent*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <enumeration name="TransactionStatusEventType"
+ c:type="GdaTransactionStatusEventType">
+ <member name="savepoint"
+ value="0"
+ c:identifier="GDA_TRANSACTION_STATUS_EVENT_SAVEPOINT"/>
+ <member name="sql"
+ value="1"
+ c:identifier="GDA_TRANSACTION_STATUS_EVENT_SQL"/>
+ <member name="sub_transaction"
+ value="2"
+ c:identifier="GDA_TRANSACTION_STATUS_EVENT_SUB_TRANSACTION"/>
+ </enumeration>
+ <enumeration name="TransactionStatusState"
+ c:type="GdaTransactionStatusState">
+ <member name="ok"
+ value="0"
+ c:identifier="GDA_TRANSACTION_STATUS_STATE_OK"/>
+ <member name="failed"
+ value="1"
+ c:identifier="GDA_TRANSACTION_STATUS_STATE_FAILED"/>
+ </enumeration>
+ <class name="Tree"
+ c:symbol-prefix="tree"
+ c:type="GdaTree"
+ parent="GObject.Object"
+ glib:type-name="GdaTree"
+ glib:get-type="gda_tree_get_type"
+ glib:type-struct="TreeClass">
+ <constructor name="new" c:identifier="gda_tree_new" version="4.2">
+ <doc xml:whitespace="preserve">Creates a new #GdaTree object</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaTree object</doc>
+ <type name="Tree" c:type="GdaTree*"/>
+ </return-value>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_tree_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <virtual-method name="node_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="node_deleted">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="node_path" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="node_has_child_toggled">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="node_inserted">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_manager"
+ c:identifier="gda_tree_add_manager"
+ version="4.2">
+ <doc xml:whitespace="preserve">Sets @manager as a top #GdaTreeManager object, which will be responsible for creating top level nodes in @tree.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="manager" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaTreeManager object</doc>
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clean" c:identifier="gda_tree_clean" version="4.2">
+ <doc xml:whitespace="preserve">Removes any node in @tree</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="dump" c:identifier="gda_tree_dump" version="4.2">
+ <doc xml:whitespace="preserve">Dumps the contents of @tree to @stream, using a hierarchical view.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaTreeNode to start the dump from, or %NULL for a full dump</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ <parameter name="stream" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a stream to send the dump to, or %NULL for STDOUT</doc>
+ <type name="gpointer" c:type="FILE*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_node" c:identifier="gda_tree_get_node" version="4.2">
+ <doc xml:whitespace="preserve">Locates a #GdaTreeNode using the @tree_path path.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested #GdaTreeNode pointer, or %NULL if not found</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tree_path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">full path to the required nodes (if @use_names is %TRUE, then it must start with '/')</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="use_names" transfer-ownership="none">
+ <doc xml:whitespace="preserve">if %TRUE, then @tree_path will be interpreted as a unix style path, and if %FALSE, then @tree_path will be interpreted similarly to the #GtkTreePath's string representation.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_node_manager"
+ c:identifier="gda_tree_get_node_manager"
+ version="4.2">
+ <doc xml:whitespace="preserve">Get the #GdaTreeManager which created @node in @tree</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaTreeManager, or %NULL if @node is not present in @tree</doc>
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaTreeNode present in @tree</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_node_path"
+ c:identifier="gda_tree_get_node_path"
+ version="4.2">
+ <doc xml:whitespace="preserve">Get the path associated to @node in @tree.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, or %NULL if @node is not in @tree</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaTreeNode node in @tree</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_nodes_in_path"
+ c:identifier="gda_tree_get_nodes_in_path"
+ version="4.2">
+ <doc xml:whitespace="preserve">The returned list is a list of all the #GdaTreeNode nodes <emphasis>below</emphasis> the node
+at the specified path.
+
+As a corner case if @tree_path is %NULL, then the returned list contains all the top level nodes.</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:whitespace="preserve">a new list of #GdaTreeNode pointers, free it with g_slist_free()</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="TreeNode"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="tree_path" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">full path to the required nodes (if @use_names is %TRUE, then it must start with '/'), or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="use_names" transfer-ownership="none">
+ <doc xml:whitespace="preserve">if %TRUE, then @tree_path will be interpreted as a unix style path, and if %FALSE, then @tree_path will be interpreted similarly to the #GtkTreePath's string representation.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_attribute"
+ c:identifier="gda_tree_set_attribute"
+ version="4.2">
+ <doc xml:whitespace="preserve">Sets an attribute to @tree, which will be accessible to any node in it.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="attribute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" scope="async">
+ <doc xml:whitespace="preserve">a function to be called when @attribute is not needed anymore, or %NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="update_all"
+ c:identifier="gda_tree_update_all"
+ version="4.2"
+ throws="1">
+ <doc xml:whitespace="preserve">Requests that @tree be populated with nodes. If an error occurs, then @tree's contents is left
+unchanged, and otherwise @tree's previous contents is completely replaced by the new one.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="update_children"
+ c:identifier="gda_tree_update_children"
+ version="4.2.8"
+ throws="1">
+ <doc xml:whitespace="preserve">Update the children of @node in @tree (not recursively, to update recursively, use
+gda_tree_update_part()). If @node is %NULL then the top level nodes are updated.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaTreeNode node in @tree, or %NULL</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="update_part"
+ c:identifier="gda_tree_update_part"
+ version="4.2"
+ throws="1">
+ <doc xml:whitespace="preserve">Requests that @tree be populated with nodes, starting from @node</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaTreeNode node in @tree</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="is-list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Tells if the GdaTree is a list or a tree.</doc>
+ <type name="gboolean"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="TreePrivate" c:type="GdaTreePrivate*"/>
+ </field>
+ <glib:signal name="node-changed" when="last" version="4.2">
+ <doc xml:whitespace="preserve">Gets emitted when a @node has changed in @tree</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaTreeNode which has changed</doc>
+ <type name="TreeNode"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="node-deleted" when="last" version="4.2">
+ <doc xml:whitespace="preserve">Gets emitted when a @node has been removed from @tree</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="node_path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the position the node held in @tree as a tree path</doc>
+ <type name="utf8"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="node-has-child-toggled" when="last" version="4.2">
+ <doc xml:whitespace="preserve">Gets emitted when a @node has has a child when it did not have any or when it
+does not have a ny children anymore when it had some</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaTreeNode which changed from having children to being a leaf or the other way around</doc>
+ <type name="TreeNode"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="node-inserted" when="last" version="4.2">
+ <doc xml:whitespace="preserve">Gets emitted when a @node has been inserted in @tree</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaTreeNode which has inserted</doc>
+ <type name="TreeNode"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="TreeClass"
+ c:type="GdaTreeClass"
+ glib:is-gtype-struct-for="Tree">
+ <field name="object_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="node_changed">
+ <callback name="node_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tree" transfer-ownership="none">
+ <type name="Tree" c:type="GdaTree*"/>
+ </parameter>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="node_inserted">
+ <callback name="node_inserted">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tree" transfer-ownership="none">
+ <type name="Tree" c:type="GdaTree*"/>
+ </parameter>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="node_has_child_toggled">
+ <callback name="node_has_child_toggled">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tree" transfer-ownership="none">
+ <type name="Tree" c:type="GdaTree*"/>
+ </parameter>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="node_deleted">
+ <callback name="node_deleted">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tree" transfer-ownership="none">
+ <type name="Tree" c:type="GdaTree*"/>
+ </parameter>
+ <parameter name="node_path" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="TreeError" c:type="GdaTreeError">
+ <member name="tree_unknown_error"
+ value="0"
+ c:identifier="GDA_TREE_UNKNOWN_ERROR"/>
+ </enumeration>
+ <class name="TreeManager"
+ c:symbol-prefix="tree_manager"
+ c:type="GdaTreeManager"
+ parent="GObject.Object"
+ glib:type-name="GdaTreeManager"
+ glib:get-type="gda_tree_manager_get_type"
+ glib:type-struct="TreeManagerClass">
+ <constructor name="new_with_func"
+ c:identifier="gda_tree_manager_new_with_func"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Use this method to create a new #GdaTreeManager if it's more convenient than subclassing; all is needed
+is the @update_func function which is responsible for creating or updating the children nodes of a specified #GdaTreeNode.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaTreeManager</doc>
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </return-value>
+ <parameters>
+ <parameter name="update_func" transfer-ownership="none" scope="call">
+ <doc xml:whitespace="preserve">the function to call when the manager object is requested to create or update its list of #GdaTreeNode nodes</doc>
+ <type name="TreeManagerNodesFunc"
+ c:type="GdaTreeManagerNodesFunc"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_tree_manager_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <virtual-method name="update_children" introspectable="0" throws="1">
+ <return-value>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ <parameter name="children_nodes" transfer-ownership="none">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ <parameter name="out_error" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_manager"
+ c:identifier="gda_tree_manager_add_manager"
+ version="4.2">
+ <doc xml:whitespace="preserve">Adds a sub manager to @manager. Use this method to create the skeleton structure
+of a #GdaTree. Note that a single #GdaTreeManager can be used by several #GdaTree objects
+or several times in the same #GdaTree's structure.
+
+Please note that it's possible for @mgr and @sub to be the same object, but beware of the possible
+infinite recursive behaviour in this case when creating children nodes
+(depending on the actual implementation of the #GdaTreeManager).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sub" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaTreeManager object to add</doc>
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_new_node_attribute"
+ c:identifier="gda_tree_manager_add_new_node_attribute"
+ version="4.2">
+ <doc xml:whitespace="preserve">Requests that for any new node managed (eg. created) by @manager, a new attribute will be set. This allows
+one to customize the attributes of new nodes created by an existing #GdaTreeManager.
+
+As a side effect, if @value is %NULL, then the corresponding attribute, if it was set, is unset.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="attribute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an attribute name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the attribute's value, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_node"
+ c:identifier="gda_tree_manager_create_node"
+ version="4.2">
+ <doc xml:whitespace="preserve">Requests that @manager creates a new #GdaTreeNode. The new node is not in any
+way linked to @manager yet, consider this method as a #GdaTreeNode factory.
+
+This method is usually used when implementing a #GdaTreeManagerNodesFunc function (to create nodes),
+or when subclassing the #GdaTreeManager.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaTreeNode</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the parent the new node may have, or %NULL</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">name given to the new node, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_managers"
+ c:identifier="gda_tree_manager_get_managers"
+ version="4.2">
+ <doc xml:whitespace="preserve">Get the list of sub managers which have already been added using gda_tree_manager_add_manager()</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of #GdaTreeMenager which should not be modified.</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="TreeManager"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_node_create_func"
+ c:identifier="gda_tree_manager_get_node_create_func"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get the function used by @manager when creating new #GdaTreeNode nodes</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the #GdaTreeManagerNodeFunc function, or %NULL if the default function is used</doc>
+ <type name="TreeManagerNodeFunc" c:type="GdaTreeManagerNodeFunc"/>
+ </return-value>
+ </method>
+ <method name="set_node_create_func"
+ c:identifier="gda_tree_manager_set_node_create_func"
+ version="4.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the function to be called when a new node is being created by @manager. If @func is %NULL
+then each created node will be a #GdaTreeNode object.
+
+Specifying a custom #GdaTreeManagerNodeFunc function for example allows one to use
+specialized sub-classed #GdaTreeNode objects.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="call">
+ <doc xml:whitespace="preserve">a #GdaTreeManagerNodeFunc function pointer, or %NULL</doc>
+ <type name="TreeManagerNodeFunc" c:type="GdaTreeManagerNodeFunc"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="func"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">This property specifies the function which needs to be called when the list of #GdaTreeNode nodes
+managed has to be updated</doc>
+ <type name="gpointer"/>
+ </property>
+ <property name="recursive"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">This property specifies if, when initially creating nodes or updating the list of nodes,
+the tree manager shoud also request that each node it has created or updated also
+initially create or update their children.
+
+This property can typically set to FALSE if the process of creating children nodes is lenghty
+and needs to be postponed while an event occurs.</doc>
+ <type name="gboolean"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="TreeManagerPrivate" c:type="GdaTreeManagerPrivate*"/>
+ </field>
+ </class>
+ <record name="TreeManagerClass"
+ c:type="GdaTreeManagerClass"
+ glib:is-gtype-struct-for="TreeManager">
+ <field name="object_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="update_children" introspectable="0">
+ <callback name="update_children" introspectable="0" throws="1">
+ <return-value>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="manager" transfer-ownership="none">
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </parameter>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ <parameter name="children_nodes" transfer-ownership="none">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ <parameter name="out_error" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="TreeManagerError" c:type="GdaTreeManagerError">
+ <member name="tree_manager_unknown_error"
+ value="0"
+ c:identifier="GDA_TREE_MANAGER_UNKNOWN_ERROR"/>
+ </enumeration>
+ <callback name="TreeManagerNodeFunc"
+ c:type="GdaTreeManagerNodeFunc"
+ introspectable="0">
+ <return-value>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="manager" transfer-ownership="none">
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="TreeManagerNodesFunc"
+ c:type="GdaTreeManagerNodesFunc"
+ introspectable="0"
+ throws="1">
+ <return-value>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="manager" transfer-ownership="none">
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </parameter>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ <parameter name="children_nodes" transfer-ownership="none">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ <parameter name="out_error" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="TreeManagerPrivate"
+ c:type="GdaTreeManagerPrivate"
+ disguised="1">
+ </record>
+ <class name="TreeMgrColumns"
+ c:symbol-prefix="tree_mgr_columns"
+ c:type="GdaTreeMgrColumns"
+ parent="TreeManager"
+ glib:type-name="GdaTreeMgrColumns"
+ glib:get-type="gda_tree_mgr_columns_get_type"
+ glib:type-struct="TreeMgrColumnsClass">
+ <constructor name="new"
+ c:identifier="gda_tree_mgr_columns_new"
+ version="4.2">
+ <doc xml:whitespace="preserve">Creates a new #GdaTreeManager object which will add one tree node for each
+column in the table named @table_name in the @schema schema.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaTreeManager object</doc>
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="schema" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a schema name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="table_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the table</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="connection"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Defines the #GdaConnection to display information for. Necessary upon construction unless
+the #GdaTreeMgrColumns:meta-store property is specified instead.</doc>
+ <type name="Connection"/>
+ </property>
+ <property name="meta-store"
+ version="4.2.4"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Defines the #GdaMetaStore to extract information from. Necessary upon construction unless
+the #GdaTreeMgrColumns:connection property is specified instead. This property has
+priority over the GdaTreeMgrColumns:connection property.</doc>
+ <type name="MetaStore"/>
+ </property>
+ <property name="schema"
+ readable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">If no set, then the table name will be fetched from the parent node using the "schema" attribute</doc>
+ <type name="utf8"/>
+ </property>
+ <property name="table-name"
+ readable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">If no set, then the table name will be fetched from the parent node using the "table_name" attribute</doc>
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="TreeManager" c:type="GdaTreeManager"/>
+ </field>
+ <field name="priv">
+ <type name="TreeMgrColumnsPriv" c:type="GdaTreeMgrColumnsPriv*"/>
+ </field>
+ </class>
+ <record name="TreeMgrColumnsClass"
+ c:type="GdaTreeMgrColumnsClass"
+ glib:is-gtype-struct-for="TreeMgrColumns">
+ <field name="object_class">
+ <type name="TreeManagerClass" c:type="GdaTreeManagerClass"/>
+ </field>
+ </record>
+ <record name="TreeMgrColumnsPriv"
+ c:type="GdaTreeMgrColumnsPriv"
+ disguised="1">
+ </record>
+ <class name="TreeMgrLabel"
+ c:symbol-prefix="tree_mgr_label"
+ c:type="GdaTreeMgrLabel"
+ parent="TreeManager"
+ glib:type-name="GdaTreeMgrLabel"
+ glib:get-type="gda_tree_mgr_label_get_type"
+ glib:type-struct="TreeMgrLabelClass">
+ <constructor name="new"
+ c:identifier="gda_tree_mgr_label_new"
+ version="4.2">
+ <doc xml:whitespace="preserve">Creates a new #GdaTreeManager object which will add one tree node labelled @label</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaTreeManager object</doc>
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </return-value>
+ <parameters>
+ <parameter name="label" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a label string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="label"
+ readable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="TreeManager" c:type="GdaTreeManager"/>
+ </field>
+ <field name="priv">
+ <type name="TreeMgrLabelPriv" c:type="GdaTreeMgrLabelPriv*"/>
+ </field>
+ </class>
+ <record name="TreeMgrLabelClass"
+ c:type="GdaTreeMgrLabelClass"
+ glib:is-gtype-struct-for="TreeMgrLabel">
+ <field name="object_class">
+ <type name="TreeManagerClass" c:type="GdaTreeManagerClass"/>
+ </field>
+ </record>
+ <record name="TreeMgrLabelPriv" c:type="GdaTreeMgrLabelPriv" disguised="1">
+ </record>
+ <class name="TreeMgrSchemas"
+ c:symbol-prefix="tree_mgr_schemas"
+ c:type="GdaTreeMgrSchemas"
+ parent="TreeManager"
+ glib:type-name="GdaTreeMgrSchemas"
+ glib:get-type="gda_tree_mgr_schemas_get_type"
+ glib:type-struct="TreeMgrSchemasClass">
+ <constructor name="new"
+ c:identifier="gda_tree_mgr_schemas_new"
+ version="4.2">
+ <doc xml:whitespace="preserve">Creates a new #GdaTreeManager object which will add one tree node for each database schema found
+in @cnc.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaTreeManager object</doc>
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="connection"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Defines the #GdaConnection to display information for. Necessary upon construction unless
+the #GdaTreeMgrSchema:meta-store property is specified instead.</doc>
+ <type name="Connection"/>
+ </property>
+ <property name="meta-store"
+ version="4.2.4"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Defines the #GdaMetaStore to extract information from. Necessary upon construction unless
+the #GdaTreeMgrSchema:connection property is specified instead. This property has
+priority over the GdaTreeMgrSchema:connection property.</doc>
+ <type name="MetaStore"/>
+ </property>
+ <field name="object">
+ <type name="TreeManager" c:type="GdaTreeManager"/>
+ </field>
+ <field name="priv">
+ <type name="TreeMgrSchemasPriv" c:type="GdaTreeMgrSchemasPriv*"/>
+ </field>
+ </class>
+ <record name="TreeMgrSchemasClass"
+ c:type="GdaTreeMgrSchemasClass"
+ glib:is-gtype-struct-for="TreeMgrSchemas">
+ <field name="object_class">
+ <type name="TreeManagerClass" c:type="GdaTreeManagerClass"/>
+ </field>
+ </record>
+ <record name="TreeMgrSchemasPriv"
+ c:type="GdaTreeMgrSchemasPriv"
+ disguised="1">
+ </record>
+ <class name="TreeMgrSelect"
+ c:symbol-prefix="tree_mgr_select"
+ c:type="GdaTreeMgrSelect"
+ parent="TreeManager"
+ glib:type-name="GdaTreeMgrSelect"
+ glib:get-type="gda_tree_mgr_select_get_type"
+ glib:type-struct="TreeMgrSelectClass">
+ <constructor name="new"
+ c:identifier="gda_tree_mgr_select_new"
+ version="4.2">
+ <doc xml:whitespace="preserve">Creates a new #GdaTreeMgrSelect object which will add one tree node for each row in
+the #GdaDataModel resulting from the execution of @stmt.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaTreeManager object</doc>
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement object representing a SELECT statement</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSet object representing fixed parameters which are to be used when executing @stmt</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="connection"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Connection"/>
+ </property>
+ <property name="params"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Set"/>
+ </property>
+ <property name="statement"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Statement"/>
+ </property>
+ <field name="object">
+ <type name="TreeManager" c:type="GdaTreeManager"/>
+ </field>
+ <field name="priv">
+ <type name="TreeMgrSelectPriv" c:type="GdaTreeMgrSelectPriv*"/>
+ </field>
+ </class>
+ <record name="TreeMgrSelectClass"
+ c:type="GdaTreeMgrSelectClass"
+ glib:is-gtype-struct-for="TreeMgrSelect">
+ <field name="object_class">
+ <type name="TreeManagerClass" c:type="GdaTreeManagerClass"/>
+ </field>
+ </record>
+ <record name="TreeMgrSelectPriv"
+ c:type="GdaTreeMgrSelectPriv"
+ disguised="1">
+ </record>
+ <class name="TreeMgrTables"
+ c:symbol-prefix="tree_mgr_tables"
+ c:type="GdaTreeMgrTables"
+ parent="TreeManager"
+ glib:type-name="GdaTreeMgrTables"
+ glib:get-type="gda_tree_mgr_tables_get_type"
+ glib:type-struct="TreeMgrTablesClass">
+ <constructor name="new"
+ c:identifier="gda_tree_mgr_tables_new"
+ version="4.2">
+ <doc xml:whitespace="preserve">Creates a new #GdaTreeManager object which will add one tree node for each table found in the
+ schema if it is not %NULL, or for each table visible by default in @cnc.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaTreeManager object</doc>
+ <type name="TreeManager" c:type="GdaTreeManager*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="schema" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a schema name or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="connection"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Defines the #GdaConnection to display information for. Necessary upon construction unless
+the #GdaTreeMgrTables:meta-store property is specified instead.</doc>
+ <type name="Connection"/>
+ </property>
+ <property name="meta-store"
+ version="4.2.4"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Defines the #GdaMetaStore to extract information from. Necessary upon construction unless
+the #GdaTreeMgrTables:connection property is specified instead. This property has
+priority over the GdaTreeMgrTables:connection property.</doc>
+ <type name="MetaStore"/>
+ </property>
+ <property name="schema"
+ readable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">If no set, then the table name will be fetched from the parent node using the "schema" attribute. If not
+found that way, then the list of visible tables (tables which can be identified without having to specify
+a schema) will be used</doc>
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="TreeManager" c:type="GdaTreeManager"/>
+ </field>
+ <field name="priv">
+ <type name="TreeMgrTablesPriv" c:type="GdaTreeMgrTablesPriv*"/>
+ </field>
+ </class>
+ <record name="TreeMgrTablesClass"
+ c:type="GdaTreeMgrTablesClass"
+ glib:is-gtype-struct-for="TreeMgrTables">
+ <field name="object_class">
+ <type name="TreeManagerClass" c:type="GdaTreeManagerClass"/>
+ </field>
+ </record>
+ <record name="TreeMgrTablesPriv"
+ c:type="GdaTreeMgrTablesPriv"
+ disguised="1">
+ </record>
+ <class name="TreeNode"
+ c:symbol-prefix="tree_node"
+ c:type="GdaTreeNode"
+ parent="GObject.Object"
+ glib:type-name="GdaTreeNode"
+ glib:get-type="gda_tree_node_get_type"
+ glib:type-struct="TreeNodeClass">
+ <constructor name="new" c:identifier="gda_tree_node_new" version="4.2">
+ <doc xml:whitespace="preserve">Creates a new #GdaTreeNode object</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaTreeNode</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a name, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="error_quark" c:identifier="gda_tree_node_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <virtual-method name="dump_children">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="prefix" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="in_string" transfer-ownership="none">
+ <type name="GLib.String" c:type="GString*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="dump_header">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="node_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="node_deleted">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="relative_path" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="node_has_child_toggled">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="node_inserted">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="fetch_attribute"
+ c:identifier="gda_tree_node_fetch_attribute"
+ version="4.2">
+ <doc xml:whitespace="preserve">Get the value associated to the attribute named @attribute for @node. If the attribute is not set,
+then @node's parents is queries (recursively up to the top level node).
+
+Attributes can have any name, but Libgda proposes some default names,
+see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has been set for @node</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="attribute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute name as a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_index"
+ c:identifier="gda_tree_node_get_child_index"
+ version="4.2">
+ <doc xml:whitespace="preserve">Get the #GdaTreeNode child of @node at position @index (starting at 0).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaTreeNode, or %NULL if not found</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_name"
+ c:identifier="gda_tree_node_get_child_name"
+ version="4.2">
+ <doc xml:whitespace="preserve">Get the #GdaTreeNode child of @node which has the #GDA_ATTRIBUTE_NAME set to @name</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaTreeNode, or %NULL if not found</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">requested node's name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_children"
+ c:identifier="gda_tree_node_get_children"
+ version="4.2">
+ <doc xml:whitespace="preserve">Get a list of all @node's children, free it with g_slist_free() after usage</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:whitespace="preserve">a new #GSList of #GdaTreeNode objects, or %NULL if @node does not have any child</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="TreeNode"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_node_attribute"
+ c:identifier="gda_tree_node_get_node_attribute"
+ version="4.2">
+ <doc xml:whitespace="preserve">Get the value associated to the attribute named @attribute for @node. The difference with gda_tree_node_fetch_attribute()
+is that gda_tree_node_fetch_attribute() will also query @node's parents (recursively up to the top level node) if
+the attribute is not set for @node.
+
+Attributes can have any name, but Libgda proposes some default names,
+see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a read-only #GValue, or %NULL if not attribute named @attribute has been set for @node</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="attribute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute name as a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_parent"
+ c:identifier="gda_tree_node_get_parent"
+ version="4.2">
+ <doc xml:whitespace="preserve">Get the #GdaTreeNode parent of @node in the #GdaTree node belongs to. If @node is at the top level,
+then this method return %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the parent #GdaTreeNode</doc>
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </return-value>
+ </method>
+ <method name="set_node_attribute"
+ c:identifier="gda_tree_node_set_node_attribute"
+ version="4.2">
+ <doc xml:whitespace="preserve">Set the value associated to a named attribute. The @attribute string is used AS IT IS by this method (eg.
+no copy of it is made), and
+the memory it uses will be freed using the @destroy function when no longer needed (if @destroy is %NULL,
+then the string will not be freed at all).
+
+Attributes can have any name, but Libgda proposes some default names,
+see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>.
+
+For example one would use it as:
+
+<code>
+gda_tree_node_set_node_attribute (node, g_strdup (my_attribute), my_value, g_free);
+gda_tree_node_set_node_attribute (node, GDA_ATTRIBUTE_NAME, my_value, NULL);
+</code>
+
+If there is already an attribute named @attribute set, then its value is replaced with the new value (@value is
+copied), except if @value is %NULL, in which case the attribute is removed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="attribute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">attribute name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" scope="async">
+ <doc xml:whitespace="preserve">a function to be called when @attribute is not needed anymore, or %NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="name" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="TreeNodePrivate" c:type="GdaTreeNodePrivate*"/>
+ </field>
+ <glib:signal name="node-changed" when="last" version="4.2">
+ <doc xml:whitespace="preserve">Gets emitted when a @node has changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaTreeNode which has changed</doc>
+ <type name="TreeNode"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="node-deleted" when="last" version="4.2">
+ <doc xml:whitespace="preserve">Gets emitted when a @node has been removed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="relative_path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the path the node held, relative to @reporting</doc>
+ <type name="utf8"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="node-has-child-toggled" when="last" version="4.2">
+ <doc xml:whitespace="preserve">Gets emitted when a @node has has a child when it did not have any or when it
+does not have a ny children anymore when it had some</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaTreeNode which changed from having children to being a leaf or the other way around</doc>
+ <type name="TreeNode"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="node-inserted" when="last" version="4.2">
+ <doc xml:whitespace="preserve">Gets emitted when a @node has been inserted</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GdaTreeNode which has been inserted</doc>
+ <type name="TreeNode"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="TreeNodeClass"
+ c:type="GdaTreeNodeClass"
+ glib:is-gtype-struct-for="TreeNode">
+ <field name="object_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="node_changed">
+ <callback name="node_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="reporting" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="node_inserted">
+ <callback name="node_inserted">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="reporting" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="node_has_child_toggled">
+ <callback name="node_has_child_toggled">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="reporting" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="node_deleted">
+ <callback name="node_deleted">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="reporting" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ <parameter name="relative_path" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="dump_header">
+ <callback name="dump_header">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="dump_children">
+ <callback name="dump_children">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <type name="TreeNode" c:type="GdaTreeNode*"/>
+ </parameter>
+ <parameter name="prefix" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="in_string" transfer-ownership="none">
+ <type name="GLib.String" c:type="GString*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="TreeNodeError" c:type="GdaTreeNodeError">
+ <member name="tree_node_unknown_error"
+ value="0"
+ c:identifier="GDA_TREE_NODE_UNKNOWN_ERROR"/>
+ </enumeration>
+ <record name="TreeNodePrivate" c:type="GdaTreeNodePrivate" disguised="1">
+ </record>
+ <record name="TreePrivate" c:type="GdaTreePrivate" disguised="1">
+ </record>
+ <class name="UShort"
+ c:symbol-prefix="ushort"
+ glib:type-name="GdaUShort"
+ glib:get-type="gda_ushort_get_type"
+ glib:fundamental="1">
+ </class>
+ <bitfield name="ValueAttribute" c:type="GdaValueAttribute">
+ <member name="none" value="0" c:identifier="GDA_VALUE_ATTR_NONE"/>
+ <member name="is_null" value="1" c:identifier="GDA_VALUE_ATTR_IS_NULL"/>
+ <member name="can_be_null"
+ value="2"
+ c:identifier="GDA_VALUE_ATTR_CAN_BE_NULL"/>
+ <member name="is_default"
+ value="4"
+ c:identifier="GDA_VALUE_ATTR_IS_DEFAULT"/>
+ <member name="can_be_default"
+ value="8"
+ c:identifier="GDA_VALUE_ATTR_CAN_BE_DEFAULT"/>
+ <member name="is_unchanged"
+ value="16"
+ c:identifier="GDA_VALUE_ATTR_IS_UNCHANGED"/>
+ <member name="actions_shown"
+ value="32"
+ c:identifier="GDA_VALUE_ATTR_ACTIONS_SHOWN"/>
+ <member name="data_non_valid"
+ value="64"
+ c:identifier="GDA_VALUE_ATTR_DATA_NON_VALID"/>
+ <member name="has_value_orig"
+ value="128"
+ c:identifier="GDA_VALUE_ATTR_HAS_VALUE_ORIG"/>
+ <member name="no_modif"
+ value="256"
+ c:identifier="GDA_VALUE_ATTR_NO_MODIF"/>
+ <member name="unused" value="512" c:identifier="GDA_VALUE_ATTR_UNUSED"/>
+ </bitfield>
+ <class name="XaTransaction"
+ c:symbol-prefix="xa_transaction"
+ c:type="GdaXaTransaction"
+ parent="GObject.Object"
+ glib:type-name="GdaXaTransaction"
+ glib:get-type="gda_xa_transaction_get_type"
+ glib:type-struct="XaTransactionClass">
+ <constructor name="new" c:identifier="gda_xa_transaction_new">
+ <doc xml:whitespace="preserve">Creates a new #GdaXaTransaction object, which will control the process of
+performing a distributed transaction across several connections.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created object.</doc>
+ <type name="XaTransaction" c:type="GdaXaTransaction*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a format ID</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="global_transaction_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the global transaction ID</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="error_quark"
+ c:identifier="gda_xa_transaction_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="string_to_id"
+ c:identifier="gda_xa_transaction_string_to_id"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GdaXaTransactionId structure from its string representation, it's the opposite
+of gda_xa_transaction_id_to_string().
+
+
+Free-function: g_free</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a new #GdaXaTransactionId structure, or %NULL in @str has a wrong format</doc>
+ <type name="XaTransactionId" c:type="GdaXaTransactionId*"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string representation of a #GdaXaTransactionId, in the "gtrid,bqual,formatID" format</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="begin" c:identifier="gda_xa_transaction_begin" throws="1">
+ <doc xml:whitespace="preserve">Begins a distributed transaction (managed by @xa_trans). Please note that this phase may fail
+for some connections if a (normal) transaction is already started (this depends on the database
+provider being used), so it's better to avoid starting any (normal) transaction on any of the
+connections registered with @xa_trans.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="commit"
+ c:identifier="gda_xa_transaction_commit"
+ throws="1">
+ <doc xml:whitespace="preserve">Commits a distributed transaction (managed by @xa_trans). The commit is composed of two phases:
+<itemizedlist>
+<listitem><para>a PREPARE phase where all the connections are required to store their transaction data to a
+permanent place (to be able to complete the commit should a problem occur afterwards)</para></listitem>
+<listitem><para>a COMMIT phase where the transaction data is actually written to the database</para></listitem>
+</itemizedlist>
+
+If the PREPARE phase fails for any of the connection registered with @xa_trans, then the distributed commit
+fails and FALSE is returned. During the COMMIT phase, some commit may actually fail but the transaction can
+still be completed because the PREPARE phase succeeded (through the recover method).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred (there may be some connections to recover, though)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc_to_recover"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a place to store the list of connections for which the commit phase failed, or %NULL</doc>
+ <type name="GLib.SList" c:type="GSList**">
+ <type name="Connection"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="commit_recovered"
+ c:identifier="gda_xa_transaction_commit_recovered"
+ throws="1">
+ <doc xml:whitespace="preserve">Tries to commit the data prepared but which failed to commit (see gda_xa_transaction_commit()). This
+method allows one to terminate a distributed transaction which succeeded but for which some
+connections needed to be recovered.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if all the data which was still uncommitted has been committed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc_to_recover"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a place to store the list of connections for which the there were data to recover and which failed to be actually committed, or %NULL</doc>
+ <type name="GLib.SList" c:type="GSList**">
+ <type name="Connection"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_connection"
+ c:identifier="gda_xa_transaction_register_connection"
+ throws="1">
+ <doc xml:whitespace="preserve">Registers @cnc to be used by @xa_trans to create a distributed transaction.
+
+Note: any #GdaConnection object can only be registered with at most one #GdaXaTransaction object; also
+some connections may not be registered at all with a #GdaXaTransaction object because the database
+provider being used does not support it.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the connection to add to @xa_trans</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="branch" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the branch qualifier</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="rollback"
+ c:identifier="gda_xa_transaction_rollback"
+ throws="1">
+ <doc xml:whitespace="preserve">Cancels a distributed transaction (managed by @xa_trans).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="unregister_connection"
+ c:identifier="gda_xa_transaction_unregister_connection">
+ <doc xml:whitespace="preserve">Unregisters @cnc to be used by @xa_trans to create a distributed transaction. This is
+the opposite of gda_xa_transaction_register_connection().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the connection to add to @xa_trans</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="format-id"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="transaction-id"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="XaTransactionPrivate" c:type="GdaXaTransactionPrivate*"/>
+ </field>
+ </class>
+ <record name="XaTransactionClass"
+ c:type="GdaXaTransactionClass"
+ glib:is-gtype-struct-for="XaTransaction">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gda_reserved1" introspectable="0">
+ <callback name="_gda_reserved1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved2" introspectable="0">
+ <callback name="_gda_reserved2">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved3" introspectable="0">
+ <callback name="_gda_reserved3">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="_gda_reserved4" introspectable="0">
+ <callback name="_gda_reserved4">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="XaTransactionError" c:type="GdaXaTransactionError">
+ <member name="already_registered_error"
+ value="0"
+ c:identifier="GDA_XA_TRANSACTION_ALREADY_REGISTERED_ERROR"/>
+ <member name="dtp_not_supported_error"
+ value="1"
+ c:identifier="GDA_XA_TRANSACTION_DTP_NOT_SUPPORTED_ERROR"/>
+ <member name="connection_branch_length_error"
+ value="2"
+ c:identifier="GDA_XA_TRANSACTION_CONNECTION_BRANCH_LENGTH_ERROR"/>
+ </enumeration>
+ <record name="XaTransactionId" c:type="GdaXaTransactionId">
+ <field name="format" writable="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="gtrid_length" writable="1">
+ <type name="gushort" c:type="gushort"/>
+ </field>
+ <field name="bqual_length" writable="1">
+ <type name="gushort" c:type="gushort"/>
+ </field>
+ <field name="data" writable="1">
+ <array zero-terminated="0" c:type="gchar" fixed-size="128">
+ <type name="gchar" c:type="char"/>
+ </array>
+ </field>
+ <method name="to_string" c:identifier="gda_xa_transaction_id_to_string">
+ <doc xml:whitespace="preserve">Creates a string representation of @xid, in the format &lt;gtrid&gt;,&lt;bqual&gt;,&lt;formatID&gt; the
+&lt;gtrid&gt; and &lt;bqual&gt; strings contain alphanumeric characters, and non alphanumeric characters
+are converted to "%ab" where ab is the hexadecimal representation of the character.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string representation of @xid</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="XaTransactionPrivate"
+ c:type="GdaXaTransactionPrivate"
+ disguised="1">
+ </record>
+ <record name="_ServerOperationNode" c:type="_GdaServerOperationNode">
+ <field name="type" writable="1">
+ <type name="ServerOperationNodeType"
+ c:type="GdaServerOperationNodeType"/>
+ </field>
+ <field name="status" writable="1">
+ <type name="ServerOperationNodeStatus"
+ c:type="GdaServerOperationNodeStatus"/>
+ </field>
+ <field name="plist" writable="1">
+ <type name="Set" c:type="GdaSet*"/>
+ </field>
+ <field name="model" writable="1">
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </field>
+ <field name="column" writable="1">
+ <type name="Column" c:type="GdaColumn*"/>
+ </field>
+ <field name="param" writable="1">
+ <type name="Holder" c:type="GdaHolder*"/>
+ </field>
+ <field name="priv" writable="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <record name="_SqlParserIface" c:type="_GdaSqlParserIface">
+ <field name="parser" writable="1">
+ <type name="SqlParser" c:type="GdaSqlParser*"/>
+ </field>
+ <field name="parsed_statement" writable="1">
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </field>
+ <field name="_gda_reserved1" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gda_reserved2" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <function name="alphanum_to_text" c:identifier="gda_alphanum_to_text">
+ <doc xml:whitespace="preserve">Does the opposite of gda_text_to_alphanum(), in the same string</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">@text if conversion succeeded or %NULL if an error occurred</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="text" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="binary_copy"
+ c:identifier="gda_binary_copy"
+ moved-to="Binary.copy">
+ <doc xml:whitespace="preserve">Creates a new #GdaBinary structure from an existing one.
+
+Free-function: gda_binary_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GdaBinary which contains a copy of information in @boxed.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <doc xml:whitespace="preserve">source to get a copy from.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="binary_free"
+ c:identifier="gda_binary_free"
+ moved-to="Binary.free">
+ <doc xml:whitespace="preserve">Deallocates all memory associated to the given #GdaBinary.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="full">
+ <doc xml:whitespace="preserve">#GdaBinary to free.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="blob_copy"
+ c:identifier="gda_blob_copy"
+ moved-to="Blob.copy">
+ <doc xml:whitespace="preserve">Creates a new #GdaBlob structure from an existing one.
+
+Free-function: gda_blob_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GdaBlob which contains a copy of information in @boxed.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <doc xml:whitespace="preserve">source to get a copy from.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="blob_free"
+ c:identifier="gda_blob_free"
+ moved-to="Blob.free">
+ <doc xml:whitespace="preserve">Deallocates all memory associated to the given #GdaBlob.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="full">
+ <doc xml:whitespace="preserve">#GdaBlob to free.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="completion_list_get"
+ c:identifier="gda_completion_list_get">
+ <doc xml:whitespace="preserve">Creates an array of strings (terminated by a %NULL) corresponding to possible completions.
+If no completion is available, then the returned array contains just one NULL entry, and
+if it was not possible to try to compute a completions list, then %NULL is returned.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new array of strings, or %NULL (use g_strfreev() to free the returned array)</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection object</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="sql" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a partial SQL statement which is the context of the completion proposal</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">starting position within @sql of the "token" to complete (starts at 0)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:whitespace="preserve">ending position within @sql of the "token" to complete</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="compute_dml_statements"
+ c:identifier="gda_compute_dml_statements"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates an INSERT, an UPDATE and a DELETE statement from a SELECT statement
+using the database metadata available in @cnc's meta store. Each statements are computed only if
+the corresponding place to store the created statement is not %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaConnection</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="select_stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a SELECT #GdaStatement (compound statements not handled)</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="require_pk" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the created statement have to use a primary key</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="insert_stmt" transfer-ownership="full" allow-none="1">
+ <doc xml:whitespace="preserve">a place to store the created INSERT statement, or %NULL</doc>
+ <type name="Statement" c:type="GdaStatement**"/>
+ </parameter>
+ <parameter name="update_stmt" transfer-ownership="full" allow-none="1">
+ <doc xml:whitespace="preserve">a place to store the created UPDATE statement, or %NULL</doc>
+ <type name="Statement" c:type="GdaStatement**"/>
+ </parameter>
+ <parameter name="delete_stmt" transfer-ownership="full" allow-none="1">
+ <doc xml:whitespace="preserve">a place to store the created DELETE statement, or %NULL</doc>
+ <type name="Statement" c:type="GdaStatement**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="compute_select_statement_from_update"
+ c:identifier="gda_compute_select_statement_from_update"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Computes a SELECT statement which selects all the rows the @update_stmt would update. Beware
+however that this #GdaSqlStatement does not select anything (ie it would be rendered as "SELECT FROM ... WHERE ...")
+and before being usable, one needs to add some fields to actually select.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a new #GdaStatement if no error occurred, or %NULL otherwise</doc>
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="update_stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an UPDATE statement</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="compute_unique_table_row_condition"
+ c:identifier="gda_compute_unique_table_row_condition"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Computes a #GdaSqlExpr expression which can be used in the WHERE clause of an UPDATE
+or DELETE statement when a row from the result of the @stsel statement has to be modified.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaSqlExpr, or %NULL if an error occurred.</doc>
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stsel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSqlSelectStatement</doc>
+ <type name="SqlStatementSelect" c:type="GdaSqlStatementSelect*"/>
+ </parameter>
+ <parameter name="mtable" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaMetaTable</doc>
+ <type name="MetaTable" c:type="GdaMetaTable*"/>
+ </parameter>
+ <parameter name="require_pk" transfer-ownership="none">
+ <doc xml:whitespace="preserve">set to TRUE if a primary key ir required</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="compute_unique_table_row_condition_with_cnc"
+ c:identifier="gda_compute_unique_table_row_condition_with_cnc"
+ version="4.0.3"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Computes a #GdaSqlExpr expression which can be used in the WHERE clause of an UPDATE
+or DELETE statement when a row from the result of the @stsel statement has to be modified.
+
+If @require_pk is %TRUE then this function will return a non %NULL #GdaSqlExpr only if it can
+use a primary key of @mtable. If @require_pk is %FALSE, then it will try to use a primary key of @mtable,
+and if none is available, it will use all the columns of @mtable to compute a condition statement.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaSqlExpr, or %NULL if an error occurred.</doc>
+ <type name="SqlExpr" c:type="GdaSqlExpr*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="stsel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSqlSelectStatement</doc>
+ <type name="SqlStatementSelect" c:type="GdaSqlStatementSelect*"/>
+ </parameter>
+ <parameter name="mtable" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaMetaTable</doc>
+ <type name="MetaTable" c:type="GdaMetaTable*"/>
+ </parameter>
+ <parameter name="require_pk" transfer-ownership="none">
+ <doc xml:whitespace="preserve">set to %TRUE if a primary key is required</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="data_handler_get_default"
+ c:identifier="gda_data_handler_get_default"
+ moved-to="DataHandler.get_default"
+ version="4.2.3">
+ <doc xml:whitespace="preserve">Obtain a pointer to a #GdaDataHandler which can manage #GValue values of type @for_type. The returned
+data handler will be adapted to use the current locale information (for example dates will be formatted
+taking into account the locale).
+
+The returned pointer is %NULL if there is no default data handler available for the @for_type data type</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataHandler which must not be modified or destroyed.</doc>
+ <type name="DataHandler" c:type="GdaDataHandler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="for_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType type</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="data_model_error_quark"
+ c:identifier="gda_data_model_error_quark"
+ moved-to="DataModel.error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="default_escape_string"
+ c:identifier="gda_default_escape_string"
+ moved-to="Default.escape_string">
+ <doc xml:whitespace="preserve">Escapes @string to make it understandable by a DBMS. The escape method is very common and replaces any
+occurrence of "'" with "''" and "\" with "\\"</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">string to escape</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="default_unescape_string"
+ c:identifier="gda_default_unescape_string"
+ moved-to="Default.unescape_string">
+ <doc xml:whitespace="preserve">Do the reverse of gda_default_escape_string(): transforms any "''" into "'", any
+"\\" into "\" and any "\'" into "'".</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new unescaped string, or %NULL in an error was found in @string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">string to unescape</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="dsn_split" c:identifier="gda_dsn_split">
+ <doc xml:whitespace="preserve">Extract the DSN, username and password from @string. in @string, the various parts are strings
+which are expected to be encoded using an RFC 1738 compliant encoding. If they are specified,
+the returned username and password strings are correctly decoded.
+
+ out_username and @out_password may be set to %NULL depending on @string's format.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string in the "[&lt;username&gt;[:&lt;password&gt;] ]&lt;DSN&gt;" form</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="out_dsn" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store the new string containing the &lt;DSN&gt; part</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="out_username" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store the new string containing the &lt;username&gt; part</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="out_password" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a place to store the new string containing the &lt;password&gt; part</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="g_type_from_string" c:identifier="gda_g_type_from_string">
+ <doc xml:whitespace="preserve">Converts a named type to ts GType type (also see the gda_g_type_to_string() function).
+
+This function is a wrapper around the g_type_from_name() function, but also recognizes
+some type synonyms such as:
+<itemizedlist>
+<listitem><para>"int" for G_TYPE_INT</para></listitem>
+<listitem><para>"uint" for G_TYPE_UINT</para></listitem>
+<listitem><para>"int64" for G_TYPE_INT64</para></listitem>
+<listitem><para>"uint64" for G_TYPE_UINT64</para></listitem>
+<listitem><para>"char" for G_TYPE_CHAR</para></listitem>
+<listitem><para>"uchar" for G_TYPE_UCHAR</para></listitem>
+<listitem><para>"short" for GDA_TYPE_SHORT</para></listitem>
+<listitem><para>"ushort" for GDA_TYPE_USHORT</para></listitem>
+<listitem><para>"string" for G_TYPE_STRING</para></listitem>
+<listitem><para>"date" for G_TYPE_DATE</para></listitem>
+<listitem><para>"time" for GDA_TYPE_TIME</para></listitem>
+<listitem><para>"timestamp" for GDA_TYPE_TIMESTAMP</para></listitem>
+<listitem><para>"boolean" for G_TYPE_BOOLEAN</para></listitem>
+<listitem><para>"blob" for GDA_TYPE_BLOB</para></listitem>
+<listitem><para>"binary" for GDA_TYPE_BINARY</para></listitem>
+<listitem><para>"null" for GDA_TYPE_NULL</para></listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GType represented by the given @str, or #G_TYPE_INVALID if not found</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a #GType, as returned by gda_g_type_to_string().</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="g_type_to_string" c:identifier="gda_g_type_to_string">
+ <doc xml:whitespace="preserve">Converts a GType to its string representation (use gda_g_type_from_string() for the
+operation in the other direction).
+
+This function wraps g_type_name() but for common types it provides an easier to
+understand and remember name. For Example the G_TYPE_STRING is converted to "string"
+whereas g_type_name() converts it to "gchararray".
+
+returned by #g_type_name.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GDA's string representing the given #GType or the name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Type to convert from.</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="geometricpoint_copy"
+ c:identifier="gda_geometricpoint_copy"
+ moved-to="GeometricPoint.copy">
+ <return-value transfer-ownership="full">
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="geometricpoint_free"
+ c:identifier="gda_geometricpoint_free"
+ moved-to="GeometricPoint.free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="identifier_equal" c:identifier="gda_identifier_equal">
+ <doc xml:whitespace="preserve">Does the same as strcmp(@id1, @id2), but handles the case where id1 and/or id2 are enclosed in double quotes.
+can also be used in hash tables as a #GEqualFunc.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @id1 and @id2 are equal.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="id1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an identifier string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="id2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an identifier string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="identifier_hash" c:identifier="gda_identifier_hash">
+ <doc xml:whitespace="preserve">computes a hash string from @id, to be used in hash tables as a #GHashFunc</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a new hash</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an identifier string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="log_disable" c:identifier="gda_log_disable">
+ <doc xml:whitespace="preserve">Disables GDA logs.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="log_enable" c:identifier="gda_log_enable">
+ <doc xml:whitespace="preserve">Enables GDA logs.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="log_error" c:identifier="gda_log_error" introspectable="0">
+ <doc xml:whitespace="preserve">Logs the given error in the GDA log file.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">format string (see the printf(3) documentation).</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="log_is_enabled" c:identifier="gda_log_is_enabled">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether GDA logs are enabled (%TRUE or %FALSE).</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="log_message"
+ c:identifier="gda_log_message"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Logs the given message in the GDA log file.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">format string (see the printf(3) documentation).</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="mutex_new"
+ c:identifier="gda_mutex_new"
+ moved-to="Mutex.new"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GdaMutex.
+
+Note: Unlike g_mutex_new(), this function will return %NULL if g_thread_init() has not been called yet.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaMutex</doc>
+ <type name="Mutex" c:type="GdaMutex*"/>
+ </return-value>
+ </function>
+ <function name="parse_iso8601_date" c:identifier="gda_parse_iso8601_date">
+ <doc xml:whitespace="preserve">Extracts date parts from @value, and sets @gdate's contents
+
+Accepted date format is "YYYY-MM-DD" (more or less than 4 digits for years and
+less than 2 digits for month and day are accepted). Years must be in the 1-65535 range,
+a limitation imposed by #GDate.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="gdate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a #GDate structure which will be filled</doc>
+ <type name="GLib.Date" c:type="GDate*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_iso8601_time" c:identifier="gda_parse_iso8601_time">
+ <doc xml:whitespace="preserve">Extracts time parts from @value, and sets @timegda's contents
+
+Accepted date format is "HH:MM:SS[.ms][TZ]" where TZ is +hour or -hour</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="timegda" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a #GdaTime structure which will be filled</doc>
+ <type name="Time" c:type="GdaTime*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_iso8601_timestamp"
+ c:identifier="gda_parse_iso8601_timestamp">
+ <doc xml:whitespace="preserve">Extracts date and time parts from @value, and sets @timestamp's contents
+
+Accepted date format is "YYYY-MM-DD HH:MM:SS[.ms][TZ]" where TZ is +hour or -hour</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a #GdaTimeStamp structure which will be filled</doc>
+ <type name="Timestamp" c:type="GdaTimestamp*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rewrite_sql_statement_for_null_parameters"
+ c:identifier="gda_rewrite_sql_statement_for_null_parameters"
+ version="4.2.9"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Modifies @sqlst to take into account any parameter which might be %NULL: if @sqlst contains the
+equivalent of "xxx = &lt;parameter definition&gt;" and if that parameter is in @params and
+its value is of type GDA_TYPE_NUL, then that part is replaced with "xxx IS NULL". It also
+handles the "xxx IS NOT NULL" transformation.
+
+If @out_modified is not %NULL, then it will be set to %TRUE if @sqlst has been modified
+by this function, and to %FALSE otherwise.
+
+This function is used by provider's implementations to make sure one can use parameters with
+NULL values in statements without having to rewrite statements, as database usually don't
+consider that "xxx = NULL" is the same as "xxx IS NULL" when using parameters.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the modified @sqlst statement, or %NULL if an error occurred</doc>
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sqlst" transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaSqlStatement</doc>
+ <type name="SqlStatement" c:type="GdaSqlStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSet to be used as parameters when executing @stmt</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="out_modified"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a place to store the boolean which tells if @stmt has been modified or not, or %NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rewrite_statement_for_null_parameters"
+ c:identifier="gda_rewrite_statement_for_null_parameters"
+ version="4.2.9"
+ throws="1">
+ <doc xml:whitespace="preserve">Modifies @stmt to take into account any parameter which might be %NULL: if @stmt contains the
+equivalent of "xxx = &lt;parameter definition&gt;" and if that parameter is in @params and
+its value is of type GDA_TYPE_NUL, then that part is replaced with "xxx IS NULL". It also
+handles the "xxx IS NOT NULL" transformation.
+
+For example the following SELECT:
+<programlisting>SELECT * FROM data WHERE id = ##id::int::null AND name = ##name::string</programlisting>
+in case the "id" parameter is set to NULL, is converted to:
+<programlisting>SELECT * FROM data WHERE id IS NULL AND name = ##name::string</programlisting>
+
+if @out_stmt is not %NULL, then it will contain:
+<itemizedlist>
+<listitem><para>the modified statement if some modifications were required and no error occured (the function returns %TRUE)</para></listitem>
+<listitem><para>%NULL if no modification to @stmt were required and no erro occurred (the function returns %FALSE)</para></listitem>
+<listitem><para>%NULL if an error occured (the function returns %TRUE)</para></listitem>
+</itemizedlist>
+
+This function is used by provider's implementations to make sure one can use parameters with
+NULL values in statements without having to rewrite statements, as database usually don't
+consider that "xxx = NULL" is the same as "xxx IS NULL" when using parameters.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @stmt needs to be transformed to handle NULL parameters, and %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaStatement</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaSet to be used as parameters when executing @stmt</doc>
+ <type name="Set" c:type="GdaSet*"/>
+ </parameter>
+ <parameter name="out_stmt" transfer-ownership="full" allow-none="1">
+ <doc xml:whitespace="preserve">a place to store the new #GdaStatement, or %NULL</doc>
+ <type name="Statement" c:type="GdaStatement**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rfc1738_decode" c:identifier="gda_rfc1738_decode">
+ <doc xml:whitespace="preserve">Decodes @string using the RFC 1738 recommendations: the
+<constant>&lt;&gt;&quot;#%{}|\^~[]&apos;`;/?:@=&amp;</constant> and space characters are replaced by
+<constant>&quot;%%ab&quot;</constant> where
+<constant>ab</constant> is the hexadecimal number corresponding to the character.
+
+ string should respect the RFC 1738 encoding. If this is not the case (for example if there
+is a "%2z" because 2z is not an hexadecimal value), then the part with the problem
+is not decoded, and the function returns FALSE.
+
+ string is decoded in place, no new string gets created.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string to decode</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rfc1738_encode" c:identifier="gda_rfc1738_encode">
+ <doc xml:whitespace="preserve">Encodes @string using the RFC 1738 recommendations: the
+<constant>&lt;&gt;&quot;#%{}|\^~[]&apos;`;/?:@=&amp;</constant> and space characters are replaced by
+<constant>&quot;%%ab&quot;</constant> where
+<constant>ab</constant> is the hexadecimal number corresponding to the character.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string to encode</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="select_alter_select_for_empty"
+ c:identifier="gda_select_alter_select_for_empty"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GdaStatement, selecting the same data as @stmt, but which always returns an
+empty (no row) data model. This is use dy database providers' implementations.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaStatement</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a SELECT #GdaStatement</doc>
+ <type name="Statement" c:type="GdaStatement*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_case_new"
+ c:identifier="gda_sql_case_new"
+ moved-to="SqlCase.new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlCase" c:type="GdaSqlCase*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_error_quark" c:identifier="gda_sql_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="sql_field_new"
+ c:identifier="gda_sql_field_new"
+ moved-to="SqlField.new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlField" c:type="GdaSqlField*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_function_new"
+ c:identifier="gda_sql_function_new"
+ moved-to="SqlFunction.new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlFunction" c:type="GdaSqlFunction*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_identifier_quote"
+ c:identifier="gda_sql_identifier_quote"
+ version="4.0.3">
+ <doc xml:whitespace="preserve">Use this function for any SQL identifier to make sure that:
+<itemizedlist>
+<listitem>
+<para>it is correctly formatted
+to be used with @cnc (if @cnc is %NULL, then some default SQL quoting rules will be applied,
+similar to PostgreSQL's way) if @for_meta_store is %FALSE;
+</para>
+</listitem>
+<listitem>
+<para>it is correctly formatted to be used with the #GdaMetaStore's object associated to @cnc
+is @for_meta_store is %TRUE.
+</para>
+</listitem>
+</itemizedlist>
+
+The @force_quotes allow some control of how to interpret @id: if %FALSE, then @id will be left
+unchanged most of the time (except for example if it's a reserved keyword), otherwise
+if @force_quotes is %TRUE, then the returned string will most probably have quotes around it
+to request that the database keep the case sensitiveness (but again, this may vary depending
+on the database being accessed through @cnc).
+
+For example, the following table gives the result of this function depending on the arguments
+when @cnc is %NULL (and @prov is also %NULL):
+<table frame="all">
+<tgroup cols="6" colsep="1" rowsep="1" align="justify">
+<thead>
+<row>
+<entry>id</entry>
+<entry>for_meta_store=%FALSE, force_quotes=%FALSE</entry>
+<entry>for_meta_store=%TRUE, force_quotes=%FALSE</entry>
+<entry>for_meta_store=%FALSE, force_quotes=%TRUE</entry>
+<entry>for_meta_store=%TRUE, force_quotes=%TRUE</entry>
+<entry>remark</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>"double word"</entry>
+<entry>"double word"</entry>
+<entry>"double word"</entry>
+<entry>"double word"</entry>
+<entry>"double word"</entry>
+<entry>non allowed character in SQL identifier</entry>
+</row>
+<row>
+<entry>"CapitalTest"</entry>
+<entry>"CapitalTest"</entry>
+<entry>"CapitalTest"</entry>
+<entry>"CapitalTest"</entry>
+<entry>"CapitalTest"</entry>
+<entry>Mixed case SQL identifier, already quoted</entry>
+</row>
+<row>
+<entry>CapitalTest</entry>
+<entry>CapitalTest</entry>
+<entry>capitaltest</entry>
+<entry>"CapitalTest"</entry>
+<entry>"CapitalTest"</entry>
+<entry>Mixed case SQL identifier, non quoted</entry>
+</row>
+<row>
+<entry>"mytable"</entry>
+<entry>"mytable"</entry>
+<entry>mytable</entry>
+<entry>"mytable"</entry>
+<entry>mytable</entry>
+<entry>All lowser case, quoted</entry>
+</row>
+<row>
+<entry>mytable</entry>
+<entry>mytable</entry>
+<entry>mytable</entry>
+<entry>"mytable"</entry>
+<entry>mytable</entry>
+<entry>All lowser case</entry>
+</row>
+<row>
+<entry>MYTABLE</entry>
+<entry>MYTABLE</entry>
+<entry>mytable</entry>
+<entry>"MYTABLE"</entry>
+<entry>"MYTABLE"</entry>
+<entry>All upper case</entry>
+</row>
+<row>
+<entry>"MYTABLE"</entry>
+<entry>"MYTABLE"</entry>
+<entry>"MYTABLE"</entry>
+<entry>"MYTABLE"</entry>
+<entry>"MYTABLE"</entry>
+<entry>All upper case, quoted</entry>
+</row>
+<row>
+<entry>desc</entry>
+<entry>"desc"</entry>
+<entry>"desc"</entry>
+<entry>"desc"</entry>
+<entry>"desc"</entry>
+<entry>SQL reserved keyword</entry>
+</row>
+<row>
+<entry>5ive</entry>
+<entry>"5ive"</entry>
+<entry>"5ive"</entry>
+<entry>"5ive"</entry>
+<entry>"5ive"</entry>
+<entry>SQL identifier starting with a digit</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+
+Here are a few examples of when and how to use this function:
+<itemizedlist>
+<listitem>
+<para>
+When creating a table, the user has entered the table name, this function can be used to
+create a valid SQL identifier from the user provided table name:
+<programlisting>
+gchar *user_sqlid=...
+gchar *valid_sqlid = gda_sql_identifier_quote (user_sqlid, cnc, NULL, FALSE, FALSE);
+gchar *sql = g_strdup_printf ("CREATE TABLE %s ...", valid_sqlid);
+g_free (valid_sqlid);
+</programlisting>
+Note that this is an illustration and creating a table should be sone using a #GdaServerOperation
+object.
+</para>
+</listitem>
+<listitem>
+<para>
+When updating the meta data associated to a table which has been created with the code
+above:
+<programlisting>
+GValue table_name_value = { 0 };
+gchar* column_names[] = { (gchar*)"table_name" };
+GValue* column_values[] = { &table_name_value };
+GdaMetaContext mcontext = { (gchar*)"_tables", 1, column_names, column_values };
+g_value_init (&amp;table_name_value, G_TYPE_STRING);
+g_value_take_string (&amp;table_name_value, gda_sql_identifier_quote (user_sqlid, cnc, NULL, TRUE, FALSE);
+gda_connection_update_meta_store (cnc, &amp;mcontext, NULL);
+g_value_reset (&amp;table_name_value);
+</programlisting>
+</para>
+</listitem>
+<listitem>
+<para>
+When using a #GdaMetaStruct object to fetch information about a table (which has been created with
+the code above):
+<programlisting>
+GValue table_name_value = { 0 };
+g_value_init (&amp;table_name_value, G_TYPE_STRING);
+g_value_take_string (&amp;table_name_value, gda_sql_identifier_quote (user_sqlid, cnc, NULL, TRUE, FALSE);
+GdaMetaDbObject *dbo;
+dbo = gda_meta_struct_complement (mstruct, GDA_META_DB_TABLE, NULL, NULL, &amp;table_name_value, NULL);
+g_value_reset (&amp;table_name_value);
+</programlisting>
+</para>
+</listitem>
+</itemizedlist>
+
+
+Note that @id must not be a composed SQL identifier (such as "mytable.mycolumn" which should be
+treated as the "mytable" and "mycolumn" SQL identifiers). If unsure, use gda_sql_identifier_split().
+
+Also note that if @cnc is %NULL, then it's possible to pass an non %NULL @prov to have a result specific
+to @prov.
+
+For more information, see the <link linkend="gen:sql_identifiers">SQL identifiers and abstraction</link> and
+<link linkend="information_schema:sql_identifiers">SQL identifiers in meta data</link> sections.
+
+or %NULL if @id is in a wrong format</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the representation of @id ready to be used in SQL statement, as a new string,</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an SQL identifier</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="cnc" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaConnection object, or %NULL</doc>
+ <type name="Connection" c:type="GdaConnection*"/>
+ </parameter>
+ <parameter name="prov" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a #GdaServerProvider object, or %NULL</doc>
+ <type name="ServerProvider" c:type="GdaServerProvider*"/>
+ </parameter>
+ <parameter name="meta_store_convention" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="force_quotes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">set to %TRUE to force the returned string to be quoted</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_identifier_split"
+ c:identifier="gda_sql_identifier_split">
+ <doc xml:whitespace="preserve">Splits @id into an array of it sub parts. @id's format has to be "&lt;part&gt;[.&lt;part&gt;[...]]" where
+each part is either a text surrounded by double quotes which can contain upper and lower cases or
+an SQL identifier in lower case.
+
+For example the <![CDATA["test.\"ATable\""]]> string will result in the array: <![CDATA[{"test", "\"ATable\"", NULL}]]></doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new %NULL-terminated array of strings, or NULL (use g_strfreev() to free the returned array)</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an SQL identifier</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_operation_new"
+ c:identifier="gda_sql_operation_new"
+ moved-to="SqlOperation.new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlOperation" c:type="GdaSqlOperation*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_operation_operator_from_string"
+ c:identifier="gda_sql_operation_operator_from_string"
+ moved-to="SqlOperation.operator_from_string">
+ <return-value transfer-ownership="none">
+ <type name="SqlOperatorType" c:type="GdaSqlOperatorType"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_operation_operator_to_string"
+ c:identifier="gda_sql_operation_operator_to_string"
+ moved-to="SqlOperation.operator_to_string">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="op" transfer-ownership="none">
+ <type name="SqlOperatorType" c:type="GdaSqlOperatorType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_select_field_new"
+ c:identifier="gda_sql_select_field_new"
+ moved-to="SqlSelectField.new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectField" c:type="GdaSqlSelectField*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_select_from_new"
+ c:identifier="gda_sql_select_from_new"
+ moved-to="SqlSelectFrom.new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectFrom" c:type="GdaSqlSelectFrom*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_select_join_new"
+ c:identifier="gda_sql_select_join_new"
+ moved-to="SqlSelectJoin.new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectJoin" c:type="GdaSqlSelectJoin*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_select_join_type_to_string"
+ c:identifier="gda_sql_select_join_type_to_string"
+ moved-to="SqlSelectJoin.type_to_string">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <type name="SqlSelectJoinType" c:type="GdaSqlSelectJoinType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_select_order_new"
+ c:identifier="gda_sql_select_order_new"
+ moved-to="SqlSelectOrder.new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectOrder" c:type="GdaSqlSelectOrder*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_select_target_new"
+ c:identifier="gda_sql_select_target_new"
+ moved-to="SqlSelectTarget.new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlSelectTarget" c:type="GdaSqlSelectTarget*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sql_table_new"
+ c:identifier="gda_sql_table_new"
+ moved-to="SqlTable.new"
+ introspectable="0">
+ <return-value>
+ <type name="SqlTable" c:type="GdaSqlTable*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="SqlAnyPart" c:type="GdaSqlAnyPart*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="string_to_binary" c:identifier="gda_string_to_binary">
+ <doc xml:whitespace="preserve">Performs the reverse of gda_binary_to_string() (note that for any "\xyz" succession
+of 4 characters where "xyz" represents a valid octal value, the resulting read value will
+be modulo 256).
+
+I @str is %NULL, then an empty (i.e. where the @data part is %NULL) #GdaBinary is created and returned.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaBinary if no error were found in @str, or %NULL otherwise</doc>
+ <type name="Binary" c:type="GdaBinary*"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a string to convert, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="string_to_blob" c:identifier="gda_string_to_blob">
+ <doc xml:whitespace="preserve">Performs the reverse of gda_blob_to_string().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #gdaBlob if no error were found in @str, or NULL otherwise</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string to convert</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="text_to_alphanum" c:identifier="gda_text_to_alphanum">
+ <doc xml:whitespace="preserve">The "encoding" consists in replacing non
+alphanumeric character with the string "__gdaXX" where XX is the hex. representation
+of the non alphanumeric char.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="text" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the text to convert</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="time_copy"
+ c:identifier="gda_time_copy"
+ moved-to="Time.copy">
+ <return-value transfer-ownership="full">
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="time_free"
+ c:identifier="gda_time_free"
+ moved-to="Time.free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="timestamp_copy"
+ c:identifier="gda_timestamp_copy"
+ moved-to="Timestamp.copy">
+ <return-value transfer-ownership="full">
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="timestamp_free"
+ c:identifier="gda_timestamp_free"
+ moved-to="Timestamp.free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="boxed" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="utility_check_data_model"
+ c:identifier="gda_utility_check_data_model"
+ shadowed-by="utility_check_data_model_v"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Check the column types of a GdaDataModel.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the data model's columns match the provided data types and number</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModel object</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="nbcols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minimum requested number of columns</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="utility_check_data_model_v"
+ c:identifier="gda_utility_check_data_model_v"
+ shadows="utility_check_data_model"
+ version="4.2.6">
+ <doc xml:whitespace="preserve">Check the column types of a GdaDataModel.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the data model's columns match the provided data types and number</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModel object</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="nbcols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minimum requested number of columns</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="types" transfer-ownership="none">
+ <doc xml:whitespace="preserve">array with @nbcols length of type GType or null (if any data type is accepted)</doc>
+ <array length="1" zero-terminated="0" c:type="GType*">
+ <type name="GType" c:type="GType"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="utility_data_model_dump_data_to_xml"
+ c:identifier="gda_utility_data_model_dump_data_to_xml">
+ <doc xml:whitespace="preserve">Dump the data in a #GdaDataModel into a xmlNodePtr (as used in libxml).
+
+Warning: this function uses a #GdaDataModelIter iterator, and if @model does not offer a random access
+(check using gda_data_model_get_access_flags()), the iterator will be the same as normally used
+to access data in @model previously to calling this method, and this iterator will be moved (point to
+another row).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataModel</doc>
+ <type name="DataModel" c:type="GdaDataModel*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the parent XML node</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ <parameter name="cols" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an array containing which columns of @model will be exported, or %NULL for all columns</doc>
+ <array length="3" zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="nb_cols" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of columns in @cols</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="rows" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an array containing which rows of @model will be exported, or %NULL for all rows</doc>
+ <array length="5" zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="nb_rows" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of rows in @rows</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="use_col_ids" transfer-ownership="none">
+ <doc xml:whitespace="preserve">set to %TRUE to add column ID information</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="utility_data_model_find_column_description"
+ c:identifier="gda_utility_data_model_find_column_description">
+ <doc xml:whitespace="preserve">Finds the description of a field into Metadata from a #GdaDataModel.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The field's description, or NULL if description is not set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="model" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaDataSelect data model</doc>
+ <type name="DataSelect" c:type="GdaDataSelect*"/>
+ </parameter>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">field name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="utility_holder_load_attributes"
+ c:identifier="gda_utility_holder_load_attributes"
+ throws="1">
+ <doc xml:whitespace="preserve">Note: this method may set the "source" custom string property</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if no error occurred</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="holder" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaHolder</doc>
+ <type name="Holder" c:type="GdaHolder*"/>
+ </parameter>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an xmlNodePtr with a &lt;parameter&gt; tag</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ <parameter name="sources" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of #GdaDataModel</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="DataModel"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_compare" c:identifier="gda_value_compare">
+ <doc xml:whitespace="preserve">Compares two values of the same type, with the exception that a value of any type can be
+compared to a GDA_TYPE_NULL value, specifically:
+<itemizedlist>
+<listitem><para>if @value1 and @value2 are both GDA_TYPE_NULL values then the returned value is 0</para></listitem>
+<listitem><para>if @value1 is a GDA_TYPE_NULL value and @value2 is of another type then the returned value is -1</para></listitem>
+<listitem><para>if @value1 is of another type and @value2 is a GDA_TYPE_NULL value then the returned value is 1</para></listitem>
+<listitem><para>in all other cases, @value1 and @value2 must be of the same type and their values are compared</para></listitem>
+</itemizedlist>
+
+the same value, an integer less than 0 if @value1 is less than @value2 or
+an integer greater than 0 if @value1 is greater than @value2.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">if both values have the same type, returns 0 if both contain</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue to compare (not %NULL)</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the other #GValue to be compared to @value1 (not %NULL)</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_copy" c:identifier="gda_value_copy">
+ <doc xml:whitespace="preserve">Creates a new #GValue from an existing one.
+
+
+Free-function: gda_value_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GValue with a copy of the data in @value.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to get a copy from.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_differ" c:identifier="gda_value_differ">
+ <doc xml:whitespace="preserve">Tells if two values are equal or not, by comparing memory representations. Unlike gda_value_compare(),
+the returned value is boolean, and gives no idea about ordering.
+
+The two values must be of the same type, with the exception that a value of any type can be
+compared to a GDA_TYPE_NULL value, specifically:
+<itemizedlist>
+<listitem><para>if @value1 and @value2 are both GDA_TYPE_NULL values then the returned value is 0</para></listitem>
+<listitem><para>if @value1 is a GDA_TYPE_NULL value and @value2 is of another type then the returned value is 1</para></listitem>
+<listitem><para>if @value1 is of another type and @value2 is a GDA_TYPE_NULL value then the returned value is 1</para></listitem>
+<listitem><para>in all other cases, @value1 and @value2 must be of the same type and their values are compared</para></listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a non 0 value if @value1 and @value2 differ, and 0 if they are equal</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue to compare.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the other #GValue to be compared to @value1.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_free" c:identifier="gda_value_free">
+ <doc xml:whitespace="preserve">Deallocates all memory associated to a #GValue.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="full" allow-none="1">
+ <doc xml:whitespace="preserve">the resource to free (or %NULL)</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_binary" c:identifier="gda_value_get_binary">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value stored in @value.</doc>
+ <type name="Binary" c:type="GdaBinary*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_blob" c:identifier="gda_value_get_blob">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value stored in @value.</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_geometric_point"
+ c:identifier="gda_value_get_geometric_point">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value stored in @value.</doc>
+ <type name="GeometricPoint" c:type="GdaGeometricPoint*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_numeric" c:identifier="gda_value_get_numeric">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value stored in @value.</doc>
+ <type name="Numeric" c:type="GdaNumeric*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_short" c:identifier="gda_value_get_short">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value stored in @value.</doc>
+ <type name="gshort" c:type="gshort"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_time" c:identifier="gda_value_get_time">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value stored in @value.</doc>
+ <type name="Time" c:type="GdaTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_timestamp"
+ c:identifier="gda_value_get_timestamp">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value stored in @value.</doc>
+ <type name="Timestamp" c:type="GdaTimestamp*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_ushort" c:identifier="gda_value_get_ushort">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value stored in @value.</doc>
+ <type name="gushort" c:type="gushort"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue whose value we want to get.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_is_null" c:identifier="gda_value_is_null">
+ <doc xml:whitespace="preserve">Tests if a given @value is of type #GDA_TYPE_NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a boolean that says whether or not @value is of type #GDA_TYPE_NULL.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to test.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_is_number" c:identifier="gda_value_is_number">
+ <doc xml:whitespace="preserve">Gets whether the value stored in the given #GValue is of numeric type or not.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if a number, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_new" c:identifier="gda_value_new">
+ <doc xml:whitespace="preserve">Makes a new #GValue of type @type.
+
+
+Free-function: gda_value_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GValue with the specified @type. You need to set the value in the returned GValue.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new value type.</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_new_binary" c:identifier="gda_value_new_binary">
+ <doc xml:whitespace="preserve">Makes a new #GValue of type #GDA_TYPE_BINARY with value @val.
+
+
+Free-function: gda_value_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GValue.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to set for the new #GValue.</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the memory pool pointer to by @val.</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_new_blob" c:identifier="gda_value_new_blob">
+ <doc xml:whitespace="preserve">Makes a new #GValue of type #GDA_TYPE_BLOB with the data contained by @val.
+
+
+Free-function: gda_value_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GValue.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to set for the new #GValue.</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the memory pool pointer to by @val.</doc>
+ <type name="glong" c:type="glong"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_new_blob_from_file"
+ c:identifier="gda_value_new_blob_from_file">
+ <doc xml:whitespace="preserve">Makes a new #GValue of type #GDA_TYPE_BLOB interfacing with the contents of the file
+named @filename
+
+
+Free-function: gda_value_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GValue.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the file to manipulate</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_new_default"
+ c:identifier="gda_value_new_default"
+ version="4.2.9">
+ <doc xml:whitespace="preserve">Creates a new default value.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GValue of the type #GDA_TYPE_DEFAULT</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="default_val" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the default value as a string, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_new_from_string"
+ c:identifier="gda_value_new_from_string">
+ <doc xml:whitespace="preserve">Makes a new #GValue of type @type from its string representation.
+
+For more information
+about the string format, see the gda_value_set_from_string() function.
+This function is typically used when reading configuration files or other non-user input that should be locale
+independent.
+
+
+Free-function: gda_value_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GValue or %NULL if the string representation cannot be converted to the specified @type.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="as_string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">stringified representation of the value.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new value type.</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_new_from_xml" c:identifier="gda_value_new_from_xml">
+ <doc xml:whitespace="preserve">Creates a GValue from an XML representation of it. That XML
+node corresponds to the following string representation:
+&lt;value type="gdatype"&gt;value&lt;/value&gt;
+
+For more information
+about the string format, see the gda_value_set_from_string() function.
+This function is typically used when reading configuration files or other non-user input that should be locale
+independent.
+
+
+Free-function: gda_value_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GValue.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="node" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an XML node representing the value.</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_new_null" c:identifier="gda_value_new_null">
+ <doc xml:whitespace="preserve">Creates a new #GValue initiated to a #GdaNull structure with a #GDA_TYPE_NULL, to
+represent a NULL in the database.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GValue of the type #GDA_TYPE_NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ </function>
+ <function name="value_new_timestamp_from_timet"
+ c:identifier="gda_value_new_timestamp_from_timet">
+ <doc xml:whitespace="preserve">Makes a new #GValue of type #GDA_TYPE_TIMESTAMP with value @val
+(of type time_t).
+
+
+Free-function: gda_value_free</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GValue.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to set for the new #GValue.</doc>
+ <type name="glong" c:type="time_t"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_reset_with_type"
+ c:identifier="gda_value_reset_with_type">
+ <doc xml:whitespace="preserve">Resets the #GValue and set a new type to #GType.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GValue to be reseted</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GType to set to</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_binary" c:identifier="gda_value_set_binary">
+ <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="binary" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBinary structure with the data and its size to be stored in @value.</doc>
+ <type name="Binary" c:type="GdaBinary*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_blob" c:identifier="gda_value_set_blob">
+ <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="blob" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GdaBlob structure with the data and its size to be stored in @value.</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_from_string"
+ c:identifier="gda_value_set_from_string">
+ <doc xml:whitespace="preserve">Stores the value data from its string representation as @type.
+
+The accepted formats are:
+<itemizedlist>
+<listitem><para>G_TYPE_BOOLEAN: a caseless comparison is made with "true" or "false"</para></listitem>
+<listitem><para>numerical types: C locale format (dot as a fraction separator)</para></listitem>
+<listitem><para>G_TYPE_DATE: see <link linkend="gda-parse-iso8601-date">gda_parse_iso8601_date()</link></para></listitem>
+<listitem><para>GDA_TYPE_TIME: see <link linkend="gda-parse-iso8601-time">gda_parse_iso8601_time()</link></para></listitem>
+<listitem><para>GDA_TYPE_TIMESTAMP: see <link linkend="gda-parse-iso8601-timestamp">gda_parse_iso8601_timestamp()</link></para></listitem>
+</itemizedlist>
+
+This function is typically used when reading configuration files or other non-user input that should be locale
+independent.
+
+its string representation; it not means that the value is converted
+successfully, just that the transformation is available. %FALSE otherwise.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value has been converted to @type from</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="as_string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the stringified representation of the value.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of the value</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_from_value"
+ c:identifier="gda_value_set_from_value">
+ <doc xml:whitespace="preserve">Sets the value of a #GValue from another #GValue. This
+is different from #gda_value_copy, which creates a new #GValue.
+#gda_value_set_from_value, on the other hand, copies the contents
+of @copy into @value, which must already be allocated.
+
+If values are incompatible (see @g_value_type_compatible) then @value is set to a
+#GDA_TYPE_NULL, and %FALSE is returned.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to copy from.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_geometric_point"
+ c:identifier="gda_value_set_geometric_point">
+ <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+ <type name="GeometricPoint" c:type="GdaGeometricPoint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_null" c:identifier="gda_value_set_null">
+ <doc xml:whitespace="preserve">Sets the type of @value to #GDA_TYPE_NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store a value of type #GDA_TYPE_NULL.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_numeric" c:identifier="gda_value_set_numeric">
+ <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+ <type name="Numeric" c:type="GdaNumeric*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_short" c:identifier="gda_value_set_short">
+ <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+ <type name="gshort" c:type="gshort"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_time" c:identifier="gda_value_set_time">
+ <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+ <type name="Time" c:type="GdaTime*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_timestamp"
+ c:identifier="gda_value_set_timestamp">
+ <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+ <type name="Timestamp" c:type="GdaTimestamp*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_ushort" c:identifier="gda_value_set_ushort">
+ <doc xml:whitespace="preserve">Stores @val into @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to be stored in @value.</doc>
+ <type name="gushort" c:type="gushort"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_stringify" c:identifier="gda_value_stringify">
+ <doc xml:whitespace="preserve">Converts a GValue to its string representation which is a human readable value. Note that the
+returned string does not take into account the current locale of the user (on the contrary to the
+#GdaDataHandler objects). Using this function should be limited to debugging and values serialization
+purposes.
+
+Dates are converted in a YYYY-MM-DD format.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string, or %NULL if the conversion cannot be done. Free the value with a g_free() when you've finished using it.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_take_binary" c:identifier="gda_value_take_binary">
+ <doc xml:whitespace="preserve">Stores @val into @value, but on the contrary to gda_value_set_binary(), the @binary
+argument is not copied, but used as-is and it should be considered owned by @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="binary" transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaBinary structure with the data and its size to be stored in @value.</doc>
+ <type name="Binary" c:type="GdaBinary*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_take_blob" c:identifier="gda_value_take_blob">
+ <doc xml:whitespace="preserve">Stores @val into @value, but on the contrary to gda_value_set_blob(), the @blob
+argument is not copied, but used as-is and it should be considered owned by @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that will store @val.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="blob" transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GdaBlob structure with the data and its size to be stored in @value.</doc>
+ <type name="Blob" c:type="GdaBlob*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_to_xml"
+ c:identifier="gda_value_to_xml"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Serializes the given #GValue to an XML node string.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the XML node. Once not needed anymore, you should free it.</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
diff --git a/libgda/Makefile.am b/libgda/Makefile.am
index be7e636..9c99b8a 100644
--- a/libgda/Makefile.am
+++ b/libgda/Makefile.am
@@ -363,7 +363,7 @@ endif
gir_DATA = $(INTROSPECTION_GIRS)
typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
-CLEANFILES += $(INTROSPECTION_GIRS) $(typelibs_DATA)
+CLEANFILES += $(typelibs_DATA)
endif
if ENABLE_VALA
@@ -379,6 +379,4 @@ vapi_DATA=libgda-5.0.vapi
EXTRA_DIST += \
Gda-5.0.metadata \
$(vapi_DATA)
-
-CLEANFILES += libgda-5.0.vapi
endif
diff --git a/libgda/libgda-5.0.vapi b/libgda/libgda-5.0.vapi
new file mode 100644
index 0000000..27a8cae
--- /dev/null
+++ b/libgda/libgda-5.0.vapi
@@ -0,0 +1,2142 @@
+/* libgda-5.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gda", gir_namespace = "Gda", gir_version = "5.0", lower_case_cprefix = "gda_")]
+namespace Gda {
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class AttributesManager {
+ public void clear (void* ptr);
+ public void copy (void* from, Gda.AttributesManager to_mgr, void* to);
+ public void free ();
+ public GLib.Value @get (void* ptr, string att_name);
+ public void @set (void* ptr, string att_name, GLib.Value value);
+ public void set_full (void* ptr, string att_name, GLib.Value value, GLib.DestroyNotify destroy);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_batch_get_type ()")]
+ public class Batch : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public Batch ();
+ public void add_statement (Gda.Statement stmt);
+ public Gda.Batch copy ();
+ public static GLib.Quark error_quark ();
+ public bool get_parameters (out Gda.Set out_params) throws GLib.Error;
+ public unowned GLib.SList<Gda.Statement> get_statements ();
+ public void remove_statement (Gda.Statement stmt);
+ public string serialize ();
+ public virtual signal void changed (GLib.Object changed_stmt);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_binary_get_type ()")]
+ [Compact]
+ public class Binary {
+ public long binary_length;
+ public uint8 data;
+ public static void* copy (void* boxed);
+ public static void free (owned void* boxed);
+ public string to_string (uint maxlen);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_blob_get_type ()")]
+ [Compact]
+ public class Blob {
+ public weak Gda.Binary data;
+ public weak Gda.BlobOp op;
+ public static void* copy (void* boxed);
+ public static void free (owned void* boxed);
+ public void set_op (Gda.BlobOp? op);
+ public string to_string (uint maxlen);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_blob_op_get_type ()")]
+ public abstract class BlobOp : GLib.Object {
+ public void* _gda_reserved1;
+ [CCode (has_construct_function = false)]
+ protected BlobOp ();
+ public virtual long get_length ();
+ public virtual long read (Gda.Blob blob, long offset, long size);
+ public bool read_all (Gda.Blob blob);
+ public virtual long write (Gda.Blob blob, long offset);
+ public virtual bool write_all (Gda.Blob blob);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_column_get_type ()")]
+ public class Column : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public Column ();
+ public Gda.Column copy ();
+ public bool get_allow_null ();
+ public GLib.Value get_attribute (string attribute);
+ public bool get_auto_increment ();
+ public unowned string get_dbms_type ();
+ public GLib.Value get_default_value ();
+ public unowned string get_description ();
+ public GLib.Type get_g_type ();
+ public unowned string get_name ();
+ public int get_position ();
+ public void set_allow_null (bool allow);
+ public void set_attribute (string attribute, GLib.Value? value, GLib.DestroyNotify? destroy);
+ public void set_auto_increment (bool is_auto);
+ public void set_dbms_type (string dbms_type);
+ public void set_default_value (GLib.Value? default_value);
+ public void set_description (string title);
+ public void set_g_type (GLib.Type type);
+ public void set_name (string name);
+ public void set_position (int position);
+ [NoAccessorMethod]
+ public string id { owned get; set; }
+ public virtual signal void g_type_changed (GLib.Type old_type, GLib.Type new_type);
+ public virtual signal void name_changed (string old_name);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_config_get_type ()")]
+ public class Config : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Config ();
+ public static bool can_modify_system_config ();
+ public static bool define_dsn (Gda.DsnInfo info) throws GLib.Error;
+ public static bool dsn_needs_authentication (string dsn_name);
+ public static GLib.Quark error_quark ();
+ public static Gda.Config @get ();
+ public static Gda.DsnInfo get_dsn_info (string dsn_name);
+ public static Gda.DsnInfo get_dsn_info_at_index (int index);
+ public static int get_dsn_info_index (string dsn_name);
+ public static int get_nb_dsn ();
+ public static unowned Gda.ServerProvider get_provider (string provider_name) throws GLib.Error;
+ public static Gda.ProviderInfo get_provider_info (string provider_name);
+ public static Gda.DataModel list_dsn ();
+ public static Gda.DataModel list_providers ();
+ public static bool remove_dsn (string dsn_name) throws GLib.Error;
+ [NoAccessorMethod]
+ public string system_filename { owned get; set; }
+ [NoAccessorMethod]
+ public string user_filename { owned get; set; }
+ public virtual signal void dsn_added (void* new_dsn);
+ public virtual signal void dsn_changed (void* dsn);
+ public virtual signal void dsn_removed (void* old_dsn);
+ public virtual signal void dsn_to_be_removed (void* old_dsn);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_connection_get_type ()")]
+ public class Connection : GLib.Object, Gda.Lockable {
+ [CCode (has_construct_function = false)]
+ protected Connection ();
+ public void add_event (owned Gda.ConnectionEvent event);
+ public void add_prepared_statement (Gda.Statement gda_stmt, Gda.PStmt prepared_stmt);
+ public bool add_savepoint (string? name) throws GLib.Error;
+ public bool async_cancel (uint task_id) throws GLib.Error;
+ public GLib.Object async_fetch_result (uint task_id, out Gda.Set last_insert_row) throws GLib.Error;
+ public uint async_statement_execute (Gda.Statement stmt, Gda.Set? @params, Gda.StatementModelUsage model_usage, [CCode (array_length = false)] GLib.Type[]? col_types, bool need_last_insert_row) throws GLib.Error;
+ public GLib.SList<GLib.Object> batch_execute (Gda.Batch batch, Gda.Set? @params, Gda.StatementModelUsage model_usage) throws GLib.Error;
+ public bool begin_transaction (string? name, Gda.TransactionIsolation level) throws GLib.Error;
+ public void clear_events_list ();
+ public void close ();
+ public void close_no_warning ();
+ public bool commit_transaction (string? name) throws GLib.Error;
+ public Gda.ServerOperation create_operation (Gda.ServerOperationType type, Gda.Set? options) throws GLib.Error;
+ public Gda.SqlParser create_parser ();
+ public void del_prepared_statement (Gda.Statement gda_stmt);
+ public bool delete_row_from_table (string table, string condition_column_name, GLib.Value condition_value) throws GLib.Error;
+ public bool delete_savepoint (string? name) throws GLib.Error;
+ public static GLib.Quark error_quark ();
+ public int execute_non_select_command (string sql) throws GLib.Error;
+ public Gda.DataModel execute_select_command (string sql) throws GLib.Error;
+ [CCode (has_construct_function = false)]
+ public Connection.from_dsn (string dsn, string? auth_string, Gda.ConnectionOptions options) throws GLib.Error;
+ [CCode (has_construct_function = false)]
+ public Connection.from_string (string? provider_name, string cnc_string, string? auth_string, Gda.ConnectionOptions options) throws GLib.Error;
+ public unowned string get_authentication ();
+ public unowned string get_cnc_string ();
+ public unowned string get_dsn ();
+ public unowned GLib.List<Gda.ConnectionEvent> get_events ();
+ public Gda.MetaStore get_meta_store ();
+ public Gda.DataModel get_meta_store_data_v (Gda.ConnectionMetaType meta_type, GLib.List<Gda.Holder> filters) throws GLib.Error;
+ public Gda.ConnectionOptions get_options ();
+ public unowned Gda.PStmt get_prepared_statement (Gda.Statement gda_stmt);
+ public unowned Gda.ServerProvider get_provider ();
+ public unowned string get_provider_name ();
+ public unowned Gda.TransactionStatus get_transaction_status ();
+ public bool insert_row_into_table_v (string table, GLib.SList<string> col_names, GLib.SList<GLib.Value> values) throws GLib.Error;
+ public bool is_opened ();
+ public bool open () throws GLib.Error;
+ public static Gda.Connection open_from_dsn (string dsn, string? auth_string, Gda.ConnectionOptions options) throws GLib.Error;
+ public static Gda.Connection open_from_string (string? provider_name, string cnc_string, string? auth_string, Gda.ConnectionOptions options) throws GLib.Error;
+ public static Gda.Connection open_sqlite (string? directory, string filename, bool auto_unlink);
+ public Gda.Statement parse_sql_string (string sql, out Gda.Set @params) throws GLib.Error;
+ public bool perform_operation (Gda.ServerOperation op) throws GLib.Error;
+ public Gda.ConnectionEvent point_available_event (Gda.ConnectionEventType type);
+ public string quote_sql_identifier (string id);
+ public GLib.SList<GLib.Object> repetitive_statement_execute (Gda.RepetitiveStatement rstmt, Gda.StatementModelUsage model_usage, [CCode (array_length = false)] GLib.Type[]? col_types, bool stop_on_error) throws GLib.Error;
+ public bool rollback_savepoint (string? name) throws GLib.Error;
+ public bool rollback_transaction (string? name) throws GLib.Error;
+ public GLib.Object statement_execute (Gda.Statement stmt, Gda.Set? @params, Gda.StatementModelUsage model_usage, out Gda.Set last_insert_row) throws GLib.Error;
+ public int statement_execute_non_select (Gda.Statement stmt, Gda.Set? @params, out Gda.Set last_insert_row) throws GLib.Error;
+ public Gda.DataModel statement_execute_select (Gda.Statement stmt, Gda.Set? @params) throws GLib.Error;
+ public Gda.DataModel statement_execute_select_full (Gda.Statement stmt, Gda.Set? @params, Gda.StatementModelUsage model_usage, [CCode (array_length = false)] GLib.Type[]? col_types) throws GLib.Error;
+ public bool statement_prepare (Gda.Statement stmt) throws GLib.Error;
+ public string statement_to_sql (Gda.Statement stmt, Gda.Set? @params, Gda.StatementSqlFlag flags, out GLib.SList<weak Gda.Holder> params_used) throws GLib.Error;
+ public static void string_split (string string, string out_cnc_params, string out_provider, string out_username, string out_password);
+ public bool supports_feature (Gda.ConnectionFeature feature);
+ public bool update_meta_store (Gda.MetaContext? context) throws GLib.Error;
+ public bool update_row_in_table_v (string table, string condition_column_name, GLib.Value condition_value, GLib.SList<string> col_names, GLib.SList<GLib.Value> values) throws GLib.Error;
+ public string value_to_sql_string (GLib.Value from);
+ [NoAccessorMethod]
+ public string auth_string { owned get; set; }
+ [NoAccessorMethod]
+ public string cnc_string { owned get; set; }
+ [NoAccessorMethod]
+ public string dsn { owned get; set; }
+ [NoAccessorMethod]
+ public int events_history_size { get; set; }
+ [NoAccessorMethod]
+ public bool execution_timer { get; set; }
+ [NoAccessorMethod]
+ public bool is_wrapper { get; construct; }
+ [NoAccessorMethod]
+ public Gda.MetaStore meta_store { owned get; set; }
+ [NoAccessorMethod]
+ public bool monitor_wrapped_in_mainloop { get; set; }
+ [NoAccessorMethod]
+ public Gda.ServerProvider provider { owned get; set; }
+ [NoAccessorMethod]
+ public void* thread_owner { get; set; }
+ public virtual signal void conn_closed ();
+ public virtual signal void conn_opened ();
+ public virtual signal void conn_to_close ();
+ public virtual signal void dsn_changed ();
+ public virtual signal void error (Gda.ConnectionEvent error);
+ public virtual signal void transaction_status_changed ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_connection_event_get_type ()")]
+ public class ConnectionEvent : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected ConnectionEvent ();
+ public long get_code ();
+ public unowned string get_description ();
+ public Gda.ConnectionEventType get_event_type ();
+ public Gda.ConnectionEventCode get_gda_code ();
+ public unowned string get_source ();
+ public unowned string get_sqlstate ();
+ public void set_code (long code);
+ public void set_description (string description);
+ public void set_event_type (Gda.ConnectionEventType type);
+ public void set_gda_code (Gda.ConnectionEventCode code);
+ public void set_source (string source);
+ public void set_sqlstate (string sqlstate);
+ [NoAccessorMethod]
+ public int type { get; set; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_access_wrapper_get_type ()")]
+ public class DataAccessWrapper : GLib.Object, Gda.DataModel {
+ [CCode (has_construct_function = false)]
+ protected DataAccessWrapper ();
+ public static Gda.DataModel @new (Gda.DataModel model);
+ [NoAccessorMethod]
+ public Gda.DataModel model { owned get; construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_comparator_get_type ()")]
+ public class DataComparator : GLib.Object {
+ [CCode (has_construct_function = false, type = "GObject*")]
+ public DataComparator (Gda.DataModel old_model, Gda.DataModel new_model);
+ public bool compute_diff () throws GLib.Error;
+ public static GLib.Quark error_quark ();
+ public Gda.Diff get_diff (int pos);
+ public int get_n_diffs ();
+ public void set_key_columns ([CCode (array_length_cname = "nb_cols", array_length_pos = 1.1)] int[] col_numbers);
+ [NoAccessorMethod]
+ public Gda.DataModel new_model { owned get; set; }
+ [NoAccessorMethod]
+ public Gda.DataModel old_model { owned get; set; }
+ public virtual signal bool diff_computed (void* diff);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_array_get_type ()")]
+ public class DataModelArray : GLib.Object, Gda.DataModel {
+ [CCode (has_construct_function = false)]
+ protected DataModelArray ();
+ public void clear ();
+ public unowned Gda.Row get_row (int row) throws GLib.Error;
+ public static Gda.DataModel @new (int cols);
+ public static Gda.DataModel new_with_g_types_v (int cols, [CCode (array_length = false)] GLib.Type[] types);
+ public void set_n_columns (int cols);
+ [NoAccessorMethod]
+ public uint n_columns { get; set; }
+ [NoAccessorMethod]
+ public bool read_only { get; set; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_dir_get_type ()")]
+ public class DataModelDir : GLib.Object, Gda.DataModel {
+ [CCode (has_construct_function = false)]
+ protected DataModelDir ();
+ public void clean_errors ();
+ public static Gda.DataModel @new (string basedir);
+ [NoAccessorMethod]
+ public string basedir { owned get; construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_dsn_list_get_type ()")]
+ public class DataModelDsnList : GLib.Object, Gda.DataModel {
+ [CCode (has_construct_function = false)]
+ protected DataModelDsnList ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_import_get_type ()")]
+ public class DataModelImport : GLib.Object, Gda.DataModel {
+ [CCode (has_construct_function = false)]
+ protected DataModelImport ();
+ public void clean_errors ();
+ public static Gda.DataModel new_file (string filename, bool random_access, Gda.Set? options);
+ public static Gda.DataModel new_mem (string data, bool random_access, Gda.Set? options);
+ public static Gda.DataModel new_xml_node ([CCode (type = "xmlNodePtr")] Xml.Node* node);
+ [NoAccessorMethod]
+ public string data_string { owned get; construct; }
+ [NoAccessorMethod]
+ public string filename { owned get; construct; }
+ [NoAccessorMethod]
+ public Gda.Set options { owned get; construct; }
+ [NoAccessorMethod]
+ public bool random_access { get; construct; }
+ [NoAccessorMethod]
+ public bool strict { get; set construct; }
+ [NoAccessorMethod]
+ public void* xml_node { get; construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_iter_get_type ()")]
+ public class DataModelIter : Gda.Set {
+ [CCode (has_construct_function = false)]
+ protected DataModelIter ();
+ public static GLib.Quark error_quark ();
+ public unowned Gda.Holder get_holder_for_field (int col);
+ public int get_row ();
+ public unowned GLib.Value? get_value_at (int col);
+ public unowned GLib.Value? get_value_at_e (int col) throws GLib.Error;
+ public unowned GLib.Value? get_value_for_field (string field_name);
+ public void invalidate_contents ();
+ public bool is_valid ();
+ public bool move_next ();
+ public bool move_prev ();
+ public bool move_to_row (int row);
+ public bool set_value_at (int col, GLib.Value value) throws GLib.Error;
+ [NoAccessorMethod]
+ public int current_row { get; set; }
+ [NoAccessorMethod]
+ public Gda.DataModel data_model { owned get; construct; }
+ [NoAccessorMethod]
+ public Gda.DataModel forced_model { owned get; set; }
+ [NoAccessorMethod]
+ public bool update_model { get; set; }
+ public virtual signal void end_of_data ();
+ public virtual signal void row_changed (int row);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_pivot_get_type ()")]
+ public class DataPivot : GLib.Object, Gda.DataModel {
+ [CCode (has_construct_function = false)]
+ protected DataPivot ();
+ public bool add_data (Gda.DataPivotAggregate aggregate_type, string field, string? alias) throws GLib.Error;
+ public bool add_field (Gda.DataPivotFieldType field_type, string field, string? alias) throws GLib.Error;
+ public static GLib.Quark error_quark ();
+ public static Gda.DataModel @new (Gda.DataModel? model);
+ public bool populate () throws GLib.Error;
+ [NoAccessorMethod]
+ public Gda.DataModel model { owned get; set; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_proxy_get_type ()")]
+ public class DataProxy : GLib.Object, Gda.DataModel {
+ [CCode (has_construct_function = false)]
+ protected DataProxy ();
+ public void alter_value_attributes (int proxy_row, int col, Gda.ValueAttribute alter_flags);
+ public bool apply_all_changes () throws GLib.Error;
+ public bool apply_row_changes (int proxy_row) throws GLib.Error;
+ public bool cancel_all_changes ();
+ public void cancel_row_changes (int proxy_row, int col);
+ public void @delete (int proxy_row);
+ public static GLib.Quark error_quark ();
+ public unowned string get_filter_expr ();
+ public int get_filtered_n_rows ();
+ public int get_n_modified_rows ();
+ public int get_n_new_rows ();
+ public unowned Gda.DataModel get_proxied_model ();
+ public int get_proxied_model_n_cols ();
+ public int get_proxied_model_n_rows ();
+ public int get_proxied_model_row (int proxy_row);
+ public int get_sample_end ();
+ public int get_sample_size ();
+ public int get_sample_start ();
+ public Gda.ValueAttribute get_value_attributes (int proxy_row, int col);
+ public GLib.SList<weak GLib.Value> get_values (int proxy_row, [CCode (array_length = false)] int[] cols_index, int n_cols);
+ public bool has_changed ();
+ public bool is_read_only ();
+ public static GLib.Object @new (Gda.DataModel model);
+ public bool row_has_changed (int proxy_row);
+ public bool row_is_deleted (int proxy_row);
+ public bool row_is_inserted (int proxy_row);
+ public bool set_filter_expr (string? filter_expr) throws GLib.Error;
+ public bool set_ordering_column (int col) throws GLib.Error;
+ public void set_sample_size (int sample_size);
+ public void set_sample_start (int sample_start);
+ public void undelete (int proxy_row);
+ [NoAccessorMethod]
+ public bool defer_sync { get; set; }
+ [NoAccessorMethod]
+ public Gda.DataModel model { owned get; set construct; }
+ [NoAccessorMethod]
+ public bool prepend_null_entry { get; set; }
+ public int sample_size { get; set construct; }
+ public virtual signal void filter_changed ();
+ public virtual signal void row_changes_applied (int row, int proxied_row);
+ public virtual signal void row_delete_changed (int row, bool to_be_deleted);
+ public virtual signal void sample_changed (int sample_start, int sample_end);
+ public virtual signal void sample_size_changed (int sample_size);
+ public virtual signal GLib.Error validate_row_changes (int row, int proxied_row);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_select_get_type ()")]
+ public abstract class DataSelect : GLib.Object, Gda.DataModel {
+ public int advertized_nrows;
+ public int nb_stored_rows;
+ public weak Gda.PStmt prep_stmt;
+ [CCode (has_construct_function = false)]
+ protected DataSelect ();
+ public bool compute_columns_attributes () throws GLib.Error;
+ public bool compute_modification_statements () throws GLib.Error;
+ public bool compute_modification_statements_ext (Gda.DataSelectConditionType cond_type) throws GLib.Error;
+ public bool compute_row_selection_condition () throws GLib.Error;
+ public static GLib.Quark error_quark ();
+ [NoWrapper]
+ public virtual bool fetch_at (Gda.Row prow, int rownum) throws GLib.Error;
+ [NoWrapper]
+ public virtual int fetch_nb_rows ();
+ [NoWrapper]
+ public virtual bool fetch_next (Gda.Row prow, int rownum) throws GLib.Error;
+ [NoWrapper]
+ public virtual bool fetch_prev (Gda.Row prow, int rownum) throws GLib.Error;
+ [NoWrapper]
+ public virtual bool fetch_random (Gda.Row prow, int rownum) throws GLib.Error;
+ public unowned Gda.Connection get_connection ();
+ public bool rerun () throws GLib.Error;
+ public bool set_modification_statement (Gda.Statement mod_stmt) throws GLib.Error;
+ public bool set_modification_statement_sql (string sql) throws GLib.Error;
+ public bool set_row_selection_condition_sql (string sql_where) throws GLib.Error;
+ [NoWrapper]
+ public virtual bool store_all () throws GLib.Error;
+ [NoAccessorMethod]
+ public bool auto_reset { get; set; }
+ public Gda.Connection connection { get; construct; }
+ [NoAccessorMethod]
+ public Gda.Statement delete_stmt { owned get; set; }
+ [NoAccessorMethod]
+ public Gda.Set exec_params { owned get; construct; }
+ [NoAccessorMethod]
+ public double execution_delay { get; set; }
+ [NoAccessorMethod]
+ public Gda.Statement insert_stmt { owned get; set; }
+ [NoAccessorMethod]
+ public uint model_usage { get; construct; }
+ [NoAccessorMethod]
+ public Gda.PStmt prepared_stmt { owned get; set; }
+ [NoAccessorMethod]
+ public Gda.Statement select_stmt { owned get; }
+ [NoAccessorMethod]
+ public bool store_all_rows { get; set; }
+ [NoAccessorMethod]
+ public Gda.Statement update_stmt { owned get; set; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_default_get_type ()")]
+ [Compact]
+ public class Default {
+ public static string escape_string (string string);
+ public static string unescape_string (string string);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_csuffix = "geometricpoint", type_id = "gda_geometricpoint_get_type ()")]
+ [Compact]
+ public class GeometricPoint {
+ public double x;
+ public double y;
+ public static void* copy (void* boxed);
+ public static void free (void* boxed);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_bin_get_type ()")]
+ public class HandlerBin : GLib.Object, Gda.DataHandler {
+ [CCode (has_construct_function = false)]
+ protected HandlerBin ();
+ public static Gda.DataHandler @new ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class HandlerBinPriv {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_boolean_get_type ()")]
+ public class HandlerBoolean : GLib.Object, Gda.DataHandler {
+ [CCode (has_construct_function = false)]
+ protected HandlerBoolean ();
+ public static Gda.DataHandler @new ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class HandlerBooleanPriv {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_numerical_get_type ()")]
+ public class HandlerNumerical : GLib.Object, Gda.DataHandler {
+ [CCode (has_construct_function = false)]
+ protected HandlerNumerical ();
+ public static Gda.DataHandler @new ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class HandlerNumericalPriv {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_string_get_type ()")]
+ public class HandlerString : GLib.Object, Gda.DataHandler {
+ [CCode (has_construct_function = false)]
+ protected HandlerString ();
+ public static Gda.DataHandler @new ();
+ public static Gda.DataHandler new_with_provider (Gda.ServerProvider prov, Gda.Connection? cnc);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class HandlerStringPriv {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_time_get_type ()")]
+ public class HandlerTime : GLib.Object, Gda.DataHandler {
+ [CCode (has_construct_function = false)]
+ protected HandlerTime ();
+ public string get_format (GLib.Type type);
+ public string get_no_locale_str_from_value (GLib.Value value);
+ public static Gda.DataHandler @new ();
+ public static Gda.DataHandler new_no_locale ();
+ public void set_sql_spec (GLib.DateDMY first, GLib.DateDMY sec, GLib.DateDMY third, char separator, bool twodigits_years);
+ public void set_str_spec (GLib.DateDMY first, GLib.DateDMY sec, GLib.DateDMY third, char separator, bool twodigits_years);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class HandlerTimePriv {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_handler_type_get_type ()")]
+ public class HandlerType : GLib.Object, Gda.DataHandler {
+ [CCode (has_construct_function = false)]
+ protected HandlerType ();
+ public static Gda.DataHandler @new ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class HandlerTypePriv {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_holder_get_type ()")]
+ public class Holder : GLib.Object, Gda.Lockable {
+ [CCode (has_construct_function = false)]
+ public Holder (GLib.Type type);
+ [NoWrapper]
+ public virtual void att_changed (string att_name, GLib.Value att_value);
+ public Gda.Holder copy ();
+ public static GLib.Quark error_quark ();
+ public void force_invalid ();
+ public void force_invalid_e (owned GLib.Error? error);
+ public GLib.Value get_attribute (string attribute);
+ public unowned Gda.Holder get_bind ();
+ public GLib.Value get_default_value ();
+ public GLib.Type get_g_type ();
+ public unowned string get_id ();
+ public bool get_not_null ();
+ public unowned Gda.DataModel get_source_model (int col);
+ public unowned GLib.Value? get_value ();
+ public string get_value_str (Gda.DataHandler? dh);
+ public bool is_valid ();
+ public bool is_valid_e () throws GLib.Error;
+ public void set_attribute (string attribute, GLib.Value value, GLib.DestroyNotify destroy);
+ public bool set_bind (Gda.Holder bind_to) throws GLib.Error;
+ public void set_default_value (GLib.Value value);
+ public void set_not_null (bool not_null);
+ public bool set_source_model (Gda.DataModel model, int col) throws GLib.Error;
+ public bool set_value (GLib.Value? value) throws GLib.Error;
+ public bool set_value_str (Gda.DataHandler dh, string value) throws GLib.Error;
+ public bool set_value_to_default ();
+ public GLib.Value take_static_value (GLib.Value value, bool value_changed) throws GLib.Error;
+ public bool take_value (owned GLib.Value value) throws GLib.Error;
+ public bool value_is_default ();
+ [NoAccessorMethod]
+ public string description { owned get; set; }
+ [NoAccessorMethod]
+ public Gda.Holder full_bind { owned get; set; }
+ [NoAccessorMethod]
+ public GLib.Type g_type { get; set construct; }
+ [NoAccessorMethod]
+ public string id { owned get; set; }
+ [NoAccessorMethod]
+ public string name { owned get; set; }
+ public bool not_null { get; set; }
+ [NoAccessorMethod]
+ public Gda.Holder simple_bind { owned get; set; }
+ [NoAccessorMethod]
+ public int source_column { get; set; }
+ [NoAccessorMethod]
+ public Gda.DataModel source_model { owned get; set; }
+ public signal void attribute_changed (string att_name, GLib.Value att_value);
+ public virtual signal void changed ();
+ public virtual signal void source_changed ();
+ public virtual signal GLib.Error validate_change (GLib.Value new_value);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_meta_store_get_type ()")]
+ public class MetaStore : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public MetaStore (string? cnc_string);
+ public Gda.DataModel create_modify_data_model (string table_name);
+ public bool declare_foreign_key (Gda.MetaStruct? mstruct, string fk_name, string? catalog, string? schema, string table, string? ref_catalog, string? ref_schema, string ref_table, [CCode (array_length_cname = "nb_cols", array_length_pos = 8.5, array_length_type = "guint")] string[] colnames, [CCode (array_length_cname = "nb_cols", array_length_pos = 8.5, array_length_type = "guint")] string[] ref_colnames) throws GLib.Error;
+ public static GLib.Quark error_quark ();
+ public Gda.DataModel extract_v (string select_sql, GLib.HashTable<char,GLib.Value>? vars) throws GLib.Error;
+ public bool get_attribute_value (string att_name, out string att_value) throws GLib.Error;
+ public unowned Gda.Connection get_internal_connection ();
+ public int get_version ();
+ public bool modify_v (string table_name, Gda.DataModel? new_data, string? condition, [CCode (array_length_cname = "nvalues", array_length_pos = 3.5)] string[] value_names, [CCode (array_length_cname = "nvalues", array_length_pos = 3.5)] GLib.Value[] values) throws GLib.Error;
+ public bool modify_with_context (Gda.MetaContext context, Gda.DataModel? new_data) throws GLib.Error;
+ public bool schema_add_custom_object (string xml_description) throws GLib.Error;
+ public GLib.SList<weak string> schema_get_all_tables ();
+ public GLib.SList<weak string> schema_get_depend_tables (string table_name);
+ public Gda.MetaStruct schema_get_structure () throws GLib.Error;
+ public bool schema_remove_custom_object (string obj_name) throws GLib.Error;
+ public bool set_attribute_value (string att_name, string? att_value) throws GLib.Error;
+ public void set_identifiers_style (Gda.SqlIdentifierStyle style);
+ public void set_reserved_keywords_func (Gda.SqlReservedKeywordsFunc? func);
+ public static string sql_identifier_quote (string id, Gda.Connection cnc);
+ [NoWrapper]
+ public virtual GLib.Error suggest_update (Gda.MetaContext suggest);
+ public bool undeclare_foreign_key (Gda.MetaStruct? mstruct, string fk_name, string? catalog, string? schema, string table, string? ref_catalog, string? ref_schema, string ref_table) throws GLib.Error;
+ [CCode (has_construct_function = false)]
+ public MetaStore.with_file (string file_name);
+ public string catalog { construct; }
+ [NoAccessorMethod]
+ public Gda.Connection cnc { owned get; construct; }
+ public string cnc_string { construct; }
+ public string schema { construct; }
+ public virtual signal void meta_reset ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_meta_struct_get_type ()")]
+ public class MetaStruct : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public MetaStruct (Gda.MetaStore store, Gda.MetaStructFeature features);
+ public Gda.MetaDbObject complement (Gda.MetaDbObjectType type, GLib.Value? catalog, GLib.Value? schema, GLib.Value name) throws GLib.Error;
+ public bool complement_all () throws GLib.Error;
+ public bool complement_default () throws GLib.Error;
+ public bool complement_depend (Gda.MetaDbObject dbo) throws GLib.Error;
+ public bool complement_schema (GLib.Value? catalog, GLib.Value? schema) throws GLib.Error;
+ public string dump_as_graph (Gda.MetaGraphInfo info) throws GLib.Error;
+ public static GLib.Quark error_quark ();
+ public Gda.MetaDbObject get_db_object (GLib.Value? catalog, GLib.Value? schema, GLib.Value name);
+ public bool sort_db_objects (Gda.MetaSortType sort_type) throws GLib.Error;
+ [NoAccessorMethod]
+ public uint features { get; construct; }
+ [NoAccessorMethod]
+ public Gda.MetaStore meta_store { owned get; construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class Mutex {
+ public void free ();
+ public void @lock ();
+ public bool trylock ();
+ public void unlock ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_null_get_type ()")]
+ [Compact]
+ public class Null {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_numeric_get_type ()")]
+ [Compact]
+ public class Numeric {
+ public weak string number;
+ public long precision;
+ public long width;
+ [CCode (has_construct_function = false)]
+ public Numeric ();
+ public Gda.Numeric copy ();
+ public void free ();
+ public double get_double ();
+ public long get_precision ();
+ public string? get_string ();
+ public long get_width ();
+ public void set_double (double number);
+ public void set_from_string (string str);
+ public void set_precision (long precision);
+ public void set_width (long width);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_pstmt_get_type ()")]
+ public abstract class PStmt : GLib.Object {
+ public int ncols;
+ public weak string sql;
+ public GLib.Type types;
+ [CCode (has_construct_function = false)]
+ protected PStmt ();
+ public void copy_contents (Gda.PStmt dest);
+ public unowned Gda.Statement get_gda_statement ();
+ public void set_gda_statement (Gda.Statement stmt);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_quark_list_get_type ()")]
+ [Compact]
+ public class QuarkList {
+ [CCode (has_construct_function = false)]
+ public QuarkList ();
+ public void add_from_string (string string, bool cleanup);
+ public void clear ();
+ public Gda.QuarkList copy ();
+ public unowned string find (string name);
+ public void @foreach (GLib.HFunc func);
+ public void free ();
+ [CCode (has_construct_function = false)]
+ public QuarkList.from_string (string string);
+ public void remove (string name);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_repetitive_statement_get_type ()")]
+ public class RepetitiveStatement : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public RepetitiveStatement (Gda.Statement stmt);
+ public bool append_set (Gda.Set values, bool make_copy);
+ public GLib.SList<weak Gda.Set> get_all_sets ();
+ public bool get_template_set (Gda.Set @set) throws GLib.Error;
+ [NoAccessorMethod]
+ public Gda.Statement statement { owned get; construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_row_get_type ()")]
+ public class Row : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public Row (int count);
+ public int get_length ();
+ public GLib.Value? get_value (int num);
+ public void invalidate_value (GLib.Value value);
+ public void invalidate_value_e (GLib.Value value, owned GLib.Error? error);
+ public bool value_is_valid (GLib.Value value);
+ public bool value_is_valid_e (GLib.Value value) throws GLib.Error;
+ [NoAccessorMethod]
+ public int nb_values { set; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_server_operation_get_type ()")]
+ public class ServerOperation : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public ServerOperation (Gda.ServerOperationType op_type, string xml_file);
+ public uint add_item_to_sequence (string seq_path);
+ public bool del_item_from_sequence (string item_path);
+ public static GLib.Quark error_quark ();
+ public string get_node_parent (string path);
+ public string get_node_path_portion (string path);
+ public Gda.ServerOperationNodeType get_node_type (string path, Gda.ServerOperationNodeStatus? status);
+ public Gda.ServerOperationType get_op_type ();
+ [CCode (array_length = false, array_null_terminated = true)]
+ public string[] get_root_nodes ();
+ [CCode (array_length = false, array_null_terminated = true)]
+ public string[] get_sequence_item_names (string path);
+ public uint get_sequence_max_size (string path);
+ public uint get_sequence_min_size (string path);
+ public unowned string get_sequence_name (string path);
+ public uint get_sequence_size (string path);
+ public string get_sql_identifier_at_path (Gda.Connection? cnc, Gda.ServerProvider? prov, string path);
+ public GLib.Value get_value_at_path (string path);
+ public bool is_valid (string? xml_file) throws GLib.Error;
+ public bool load_data_from_xml ([CCode (type = "xmlNodePtr")] Xml.Node* node) throws GLib.Error;
+ public static unowned string op_type_to_string (Gda.ServerOperationType type);
+ public bool perform_create_database (string? provider) throws GLib.Error;
+ public bool perform_create_table () throws GLib.Error;
+ public bool perform_drop_database (string? provider) throws GLib.Error;
+ public bool perform_drop_table () throws GLib.Error;
+ public static Gda.ServerOperation prepare_create_database (string provider, string? db_name) throws GLib.Error;
+ public static Gda.ServerOperation prepare_drop_database (string provider, string? db_name) throws GLib.Error;
+ public static Gda.ServerOperation prepare_drop_table (Gda.Connection cnc, string table_name) throws GLib.Error;
+ [NoWrapper]
+ public virtual void seq_item_added (string seq_path, int item_index);
+ [NoWrapper]
+ public virtual void seq_item_remove (string seq_path, int item_index);
+ public bool set_value_at_path (string? value, string path) throws GLib.Error;
+ public static Gda.ServerOperationType string_to_op_type (string str);
+ [NoAccessorMethod]
+ public Gda.Connection connection { owned get; construct; }
+ public int op_type { get; construct; }
+ [NoAccessorMethod]
+ public Gda.ServerProvider provider { owned get; construct; }
+ public string spec_filename { construct; }
+ public signal void sequence_item_added (string seq_path, int item_index);
+ public signal void sequence_item_remove (string seq_path, int item_index);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_server_provider_get_type ()")]
+ public abstract class ServerProvider : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected ServerProvider ();
+ [NoWrapper]
+ public virtual bool add_savepoint (Gda.Connection cnc, string name) throws GLib.Error;
+ [NoWrapper]
+ public virtual bool begin_transaction (Gda.Connection cnc, string name, Gda.TransactionIsolation level) throws GLib.Error;
+ [NoWrapper]
+ public virtual bool cancel (Gda.Connection cnc, uint task_id) throws GLib.Error;
+ [NoWrapper]
+ public virtual bool close_connection (Gda.Connection cnc);
+ [NoWrapper]
+ public virtual bool commit_transaction (Gda.Connection cnc, string name) throws GLib.Error;
+ public virtual Gda.ServerOperation create_operation (Gda.Connection? cnc, Gda.ServerOperationType type, Gda.Set options) throws GLib.Error;
+ public virtual Gda.SqlParser create_parser (Gda.Connection? cnc);
+ [NoWrapper]
+ public virtual bool delete_savepoint (Gda.Connection cnc, string name) throws GLib.Error;
+ public static GLib.Quark error_quark ();
+ public virtual string escape_string (Gda.Connection? cnc, string str);
+ public string find_file (string inst_dir, string filename);
+ public unowned Gda.DataHandler get_data_handler_dbms (Gda.Connection? cnc, string for_type);
+ public unowned Gda.DataHandler get_data_handler_default (Gda.Connection? cnc, GLib.Type type, string dbms_type);
+ public unowned Gda.DataHandler get_data_handler_g_type (Gda.Connection? cnc, GLib.Type for_type);
+ [NoWrapper]
+ public virtual unowned string get_database (Gda.Connection cnc);
+ [NoWrapper]
+ public virtual unowned string get_def_dbms_type (Gda.Connection cnc, GLib.Type g_type);
+ public unowned string get_default_dbms_type (Gda.Connection? cnc, GLib.Type type);
+ public virtual unowned string get_name ();
+ public virtual unowned string get_server_version (Gda.Connection cnc);
+ public virtual unowned string get_version ();
+ [NoWrapper]
+ public virtual bool handle_async (Gda.Connection cnc) throws GLib.Error;
+ public void handler_declare (Gda.DataHandler dh, Gda.Connection cnc, GLib.Type g_type, string dbms_type);
+ public unowned Gda.DataHandler handler_find (Gda.Connection cnc, GLib.Type g_type, string dbms_type);
+ [NoWrapper]
+ public virtual string identifier_quote (Gda.Connection cnc, string id, bool for_meta_store, bool force_quotes);
+ public unowned Gda.SqlParser internal_get_parser ();
+ [NoWrapper]
+ public virtual bool is_busy (Gda.Connection cnc) throws GLib.Error;
+ public static string load_file_contents (string inst_dir, string data_dir, string filename);
+ public bool perform_operation (Gda.Connection? cnc, Gda.ServerOperation op) throws GLib.Error;
+ public bool perform_operation_default (Gda.Connection? cnc, Gda.ServerOperation op) throws GLib.Error;
+ public virtual string render_operation (Gda.Connection? cnc, Gda.ServerOperation op) throws GLib.Error;
+ [NoWrapper]
+ public virtual bool rollback_savepoint (Gda.Connection cnc, string name) throws GLib.Error;
+ [NoWrapper]
+ public virtual bool rollback_transaction (Gda.Connection cnc, string name) throws GLib.Error;
+ [NoWrapper]
+ public virtual bool statement_prepare (Gda.Connection cnc, Gda.Statement stmt) throws GLib.Error;
+ public GLib.Value string_to_value (Gda.Connection? cnc, string string, GLib.Type preferred_type, string? dbms_type);
+ public virtual bool supports_feature (Gda.Connection? cnc, Gda.ConnectionFeature feature);
+ public virtual bool supports_operation (Gda.Connection? cnc, Gda.ServerOperationType type, Gda.Set? options);
+ public virtual string unescape_string (Gda.Connection? cnc, string str);
+ public string value_to_sql_string (Gda.Connection? cnc, GLib.Value from);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class ServerProviderInfo {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_set_get_type ()")]
+ public class Set : GLib.Object {
+ public GLib.List<Gda.SetGroup> groups_list;
+ public GLib.List<Gda.SetNode> nodes_list;
+ public GLib.List<Gda.SetSource> sources_list;
+ [CCode (has_construct_function = false)]
+ public Set (GLib.SList<Gda.Holder> holders);
+ public bool add_holder (Gda.Holder holder);
+ public Gda.Set copy ();
+ public static GLib.Quark error_quark ();
+ [CCode (has_construct_function = false)]
+ public Set.from_spec_node ([CCode (type = "xmlNodePtr")] Xml.Node* xml_spec) throws GLib.Error;
+ [CCode (has_construct_function = false)]
+ public Set.from_spec_string (string xml_spec) throws GLib.Error;
+ public Gda.SetGroup get_group (Gda.Holder holder);
+ public unowned Gda.Holder get_holder (string holder_id);
+ public GLib.Value get_holder_value (string holder_id);
+ public Gda.SetNode get_node (Gda.Holder holder);
+ public unowned Gda.Holder get_nth_holder (int pos);
+ public Gda.SetSource get_source (Gda.Holder holder);
+ public Gda.SetSource get_source_for_model (Gda.DataModel model);
+ public bool is_valid () throws GLib.Error;
+ public void merge_with_set (Gda.Set set_to_merge);
+ [CCode (has_construct_function = false)]
+ public Set.read_only (GLib.SList<Gda.Holder> holders);
+ public void remove_holder (Gda.Holder holder);
+ public void replace_source_model (Gda.SetSource source, Gda.DataModel model);
+ [NoAccessorMethod]
+ public string description { owned get; set; }
+ public void* holders { construct; }
+ [NoAccessorMethod]
+ public string id { owned get; set; }
+ [NoAccessorMethod]
+ public string name { owned get; set; }
+ public virtual signal void holder_attr_changed (Gda.Holder holder, string attr_name, GLib.Value attr_value);
+ public virtual signal void holder_changed (Gda.Holder holder);
+ public virtual signal void holder_type_set (Gda.Holder holder);
+ public virtual signal void public_data_changed ();
+ public virtual signal void source_model_changed (void* source);
+ public virtual signal GLib.Error validate_holder_change (Gda.Holder holder, GLib.Value new_value);
+ public virtual signal GLib.Error validate_set ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_short_get_type ()")]
+ public class Short {
+ [CCode (has_construct_function = false)]
+ protected Short ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_sql_builder_get_type ()")]
+ public class SqlBuilder : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public SqlBuilder (Gda.SqlStatementType stmt_type);
+ public Gda.SqlBuilderId add_case_v (Gda.SqlBuilderId test_expr, Gda.SqlBuilderId else_expr, [CCode (array_length_cname = "args_size", array_length_pos = 4.1)] Gda.SqlBuilderId[] when_array, [CCode (array_length_cname = "args_size", array_length_pos = 4.1)] Gda.SqlBuilderId[] then_array);
+ public Gda.SqlBuilderId add_cond (Gda.SqlOperatorType op, Gda.SqlBuilderId op1, Gda.SqlBuilderId op2, Gda.SqlBuilderId op3);
+ public Gda.SqlBuilderId add_expr_value (Gda.DataHandler? dh, GLib.Value? value);
+ public Gda.SqlBuilderId add_field_id (string field_name, string? table_name);
+ public void add_field_value_as_gvalue (string field_name, GLib.Value? value);
+ public void add_field_value_id (Gda.SqlBuilderId field_id, Gda.SqlBuilderId value_id);
+ public Gda.SqlBuilderId add_function_v (string func_name, [CCode (array_length_cname = "args_size", array_length_pos = 2.1)] Gda.SqlBuilderId[] args);
+ public Gda.SqlBuilderId add_id (string str);
+ public Gda.SqlBuilderId add_param (string param_name, GLib.Type type, bool nullok);
+ public void compound_add_sub_select_from_builder (Gda.SqlBuilder subselect);
+ public void compound_set_type (Gda.SqlStatementCompoundType compound_type);
+ public static GLib.Quark error_quark ();
+ public Gda.Statement get_statement () throws GLib.Error;
+ public Gda.SqlBuilderId import_expression_from_builder (Gda.SqlBuilder query, Gda.SqlBuilderId expr_id);
+ public void join_add_field (Gda.SqlBuilderId join_id, string field_name);
+ public Gda.SqlBuilderId select_add_field (string field_name, string? table_name, string? alias);
+ public Gda.SqlBuilderId select_add_target (string table_name, string? alias);
+ public Gda.SqlBuilderId select_add_target_id (Gda.SqlBuilderId table_id, string? alias);
+ public void select_group_by (Gda.SqlBuilderId expr_id);
+ public void select_order_by (Gda.SqlBuilderId expr_id, bool asc, string? collation_name);
+ public void select_set_distinct (bool distinct, Gda.SqlBuilderId expr_id);
+ public void select_set_having (Gda.SqlBuilderId cond_id);
+ public void select_set_limit (Gda.SqlBuilderId limit_count_expr_id, Gda.SqlBuilderId limit_offset_expr_id);
+ public void set_table (string table_name);
+ public void set_where (Gda.SqlBuilderId cond_id);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_sql_parser_get_type ()")]
+ public class SqlParser : GLib.Object, Gda.Lockable {
+ [CCode (has_construct_function = false)]
+ public SqlParser ();
+ public static GLib.Quark error_quark ();
+ public Gda.Batch parse_file_as_batch (string filename) throws GLib.Error;
+ public Gda.Statement parse_string (string sql, out string remain) throws GLib.Error;
+ public Gda.Batch parse_string_as_batch (string sql, out string remain) throws GLib.Error;
+ public void set_overflow_error ();
+ public void set_syntax_error ();
+ [NoAccessorMethod]
+ public int column_error { get; }
+ [NoAccessorMethod]
+ public int line_error { get; }
+ [NoAccessorMethod]
+ public int mode { get; set; }
+ [NoAccessorMethod]
+ public int tokenizer_flavour { get; set; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class SqlStatement {
+ public void compound_set_type (Gda.SqlStatementCompoundType type);
+ public void compound_take_stmt (Gda.SqlStatement s);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class SqlStatementDelete {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class SqlStatementInsert {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class SqlStatementSelect {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class SqlStatementTransaction {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class SqlStatementUnknown {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class SqlStatementUpdate {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_statement_get_type ()")]
+ public class Statement : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public Statement ();
+ public bool check_structure () throws GLib.Error;
+ public bool check_validity (Gda.Connection? cnc) throws GLib.Error;
+ public Gda.Statement copy ();
+ public static GLib.Quark error_quark ();
+ public bool get_parameters (out Gda.Set out_params) throws GLib.Error;
+ public Gda.SqlStatementType get_statement_type ();
+ public bool is_useless ();
+ public bool normalize (Gda.Connection cnc) throws GLib.Error;
+ public string serialize ();
+ public string to_sql_extended (Gda.Connection? cnc, Gda.Set? @params, Gda.StatementSqlFlag flags, out GLib.SList<weak Gda.Holder> params_used) throws GLib.Error;
+ public string to_sql_real (Gda.SqlRenderingContext context) throws GLib.Error;
+ [NoAccessorMethod]
+ public void* structure { get; set; }
+ public virtual signal void checked (Gda.Connection cnc, bool checked);
+ public virtual signal void reset ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_thread_wrapper_get_type ()")]
+ public class ThreadWrapper : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public ThreadWrapper ();
+ public bool cancel (uint id);
+ public ulong connect_raw (void* instance, string sig_name, bool private_thread, bool private_job, Gda.ThreadWrapperCallback callback);
+ public void disconnect (ulong id);
+ public static GLib.Quark error_quark ();
+ public uint execute_void ([CCode (destroy_notify_pos = 2.1)] owned Gda.ThreadWrapperVoidFunc func, void* arg) throws GLib.Error;
+ public void* fetch_result (bool may_lock, uint exp_id) throws GLib.Error;
+ public unowned GLib.IOChannel get_io_channel ();
+ public int get_waiting_size ();
+ public void iterate (bool may_block);
+ public void steal_signal (ulong id);
+ public void unset_io_channel ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_time_get_type ()")]
+ [Compact]
+ public class Time {
+ public ulong fraction;
+ public ushort hour;
+ public ushort minute;
+ public ushort second;
+ public long timezone;
+ public static void* copy (void* boxed);
+ public static void free (void* boxed);
+ public bool valid ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_timestamp_get_type ()")]
+ [Compact]
+ public class Timestamp {
+ public ushort day;
+ public ulong fraction;
+ public ushort hour;
+ public ushort minute;
+ public ushort month;
+ public ushort second;
+ public long timezone;
+ public short year;
+ public static void* copy (void* boxed);
+ public static void free (void* boxed);
+ public bool valid ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_transaction_status_get_type ()")]
+ public class TransactionStatus : GLib.Object {
+ public GLib.List<Gda.TransactionStatusEvent> events;
+ public Gda.TransactionIsolation isolation_level;
+ public weak string name;
+ public Gda.TransactionStatusState state;
+ [CCode (has_construct_function = false)]
+ public TransactionStatus (string name);
+ public Gda.TransactionStatus find (string str, Gda.TransactionStatusEvent destev);
+ public Gda.TransactionStatus find_current (Gda.TransactionStatusEvent destev, bool unnamed_only);
+ public void free_events (Gda.TransactionStatusEvent event, bool free_after);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_get_type ()")]
+ public class Tree : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public Tree ();
+ public void add_manager (Gda.TreeManager manager);
+ public void clean ();
+ public void dump (Gda.TreeNode? node, void* stream);
+ public static GLib.Quark error_quark ();
+ public unowned Gda.TreeNode get_node (string tree_path, bool use_names);
+ public unowned Gda.TreeManager get_node_manager (Gda.TreeNode node);
+ public string get_node_path (Gda.TreeNode node);
+ public GLib.SList<weak Gda.TreeNode> get_nodes_in_path (string? tree_path, bool use_names);
+ public void set_attribute (string attribute, GLib.Value value, GLib.DestroyNotify destroy);
+ public bool update_all () throws GLib.Error;
+ public bool update_children (Gda.TreeNode? node) throws GLib.Error;
+ public bool update_part (Gda.TreeNode node) throws GLib.Error;
+ [NoAccessorMethod]
+ public bool is_list { get; }
+ public virtual signal void node_changed (Gda.TreeNode node);
+ public virtual signal void node_deleted (string node_path);
+ public virtual signal void node_has_child_toggled (Gda.TreeNode node);
+ public virtual signal void node_inserted (Gda.TreeNode node);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_manager_get_type ()")]
+ public class TreeManager : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected TreeManager ();
+ public void add_manager (Gda.TreeManager sub);
+ public void add_new_node_attribute (string attribute, GLib.Value? value);
+ public Gda.TreeNode create_node (Gda.TreeNode? parent, string? name);
+ public static GLib.Quark error_quark ();
+ public unowned GLib.SList<Gda.TreeManager> get_managers ();
+ [NoAccessorMethod]
+ public void* func { get; set construct; }
+ [NoAccessorMethod]
+ public bool recursive { get; set construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_columns_get_type ()")]
+ public class TreeMgrColumns : Gda.TreeManager {
+ [CCode (has_construct_function = false, type = "GdaTreeManager*")]
+ public TreeMgrColumns (Gda.Connection cnc, string schema, string table_name);
+ [NoAccessorMethod]
+ public Gda.Connection connection { owned get; construct; }
+ [NoAccessorMethod]
+ public Gda.MetaStore meta_store { owned get; construct; }
+ public string schema { construct; }
+ public string table_name { construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class TreeMgrColumnsPriv {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_label_get_type ()")]
+ public class TreeMgrLabel : Gda.TreeManager {
+ [CCode (has_construct_function = false, type = "GdaTreeManager*")]
+ public TreeMgrLabel (string label);
+ public string label { construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class TreeMgrLabelPriv {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_schemas_get_type ()")]
+ public class TreeMgrSchemas : Gda.TreeManager {
+ [CCode (has_construct_function = false, type = "GdaTreeManager*")]
+ public TreeMgrSchemas (Gda.Connection cnc);
+ [NoAccessorMethod]
+ public Gda.Connection connection { owned get; construct; }
+ [NoAccessorMethod]
+ public Gda.MetaStore meta_store { owned get; construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class TreeMgrSchemasPriv {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_select_get_type ()")]
+ public class TreeMgrSelect : Gda.TreeManager {
+ [CCode (has_construct_function = false, type = "GdaTreeManager*")]
+ public TreeMgrSelect (Gda.Connection cnc, Gda.Statement stmt, Gda.Set @params);
+ [NoAccessorMethod]
+ public Gda.Connection connection { owned get; construct; }
+ [NoAccessorMethod]
+ public Gda.Set @params { owned get; construct; }
+ [NoAccessorMethod]
+ public Gda.Statement statement { owned get; construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class TreeMgrSelectPriv {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_mgr_tables_get_type ()")]
+ public class TreeMgrTables : Gda.TreeManager {
+ [CCode (has_construct_function = false, type = "GdaTreeManager*")]
+ public TreeMgrTables (Gda.Connection cnc, string? schema);
+ [NoAccessorMethod]
+ public Gda.Connection connection { owned get; construct; }
+ [NoAccessorMethod]
+ public Gda.MetaStore meta_store { owned get; construct; }
+ public string schema { construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [Compact]
+ public class TreeMgrTablesPriv {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_tree_node_get_type ()")]
+ public class TreeNode : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public TreeNode (string? name);
+ [NoWrapper]
+ public virtual void dump_children (string prefix, GLib.StringBuilder in_string);
+ [NoWrapper]
+ public virtual string dump_header ();
+ public static GLib.Quark error_quark ();
+ public GLib.Value fetch_attribute (string attribute);
+ public unowned Gda.TreeNode get_child_index (int index);
+ public unowned Gda.TreeNode get_child_name (string name);
+ public GLib.SList<weak Gda.TreeNode> get_children ();
+ public GLib.Value get_node_attribute (string attribute);
+ public unowned Gda.TreeNode get_parent ();
+ public void set_node_attribute (string attribute, GLib.Value? value, GLib.DestroyNotify destroy);
+ [NoAccessorMethod]
+ public string name { owned get; set; }
+ public virtual signal void node_changed (Gda.TreeNode node);
+ public virtual signal void node_deleted (string relative_path);
+ public virtual signal void node_has_child_toggled (Gda.TreeNode node);
+ public virtual signal void node_inserted (Gda.TreeNode node);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_ushort_get_type ()")]
+ public class UShort {
+ [CCode (has_construct_function = false)]
+ protected UShort ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_xa_transaction_get_type ()")]
+ public class XaTransaction : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public XaTransaction (uint32 format, string global_transaction_id);
+ public bool begin () throws GLib.Error;
+ public bool commit (out GLib.SList<Gda.Connection> cnc_to_recover) throws GLib.Error;
+ public bool commit_recovered (out GLib.SList<Gda.Connection> cnc_to_recover) throws GLib.Error;
+ public static GLib.Quark error_quark ();
+ public bool register_connection (Gda.Connection cnc, string branch) throws GLib.Error;
+ public bool rollback () throws GLib.Error;
+ public void unregister_connection (Gda.Connection cnc);
+ [NoAccessorMethod]
+ public uint format_id { get; construct; }
+ [NoAccessorMethod]
+ public string transaction_id { owned get; construct; }
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_handler_get_type ()")]
+ public interface DataHandler : GLib.Object {
+ public abstract bool accepts_g_type (GLib.Type type);
+ public static unowned Gda.DataHandler get_default (GLib.Type for_type);
+ public abstract unowned string get_descr ();
+ public abstract GLib.Value get_sane_init_value (GLib.Type type);
+ public abstract string get_sql_from_value (GLib.Value? value);
+ public abstract string get_str_from_value (GLib.Value? value);
+ public abstract GLib.Value get_value_from_sql (string? sql, GLib.Type type);
+ public abstract GLib.Value get_value_from_str (string? str, GLib.Type type);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_model_get_type ()")]
+ public interface DataModel : GLib.Object {
+ public bool add_data_from_xml_node ([CCode (type = "xmlNodePtr")] Xml.Node* node) throws GLib.Error;
+ [CCode (vfunc_name = "i_append_row")]
+ public abstract int append_row () throws GLib.Error;
+ public Gda.DataModelArray array_copy_model () throws GLib.Error;
+ [CCode (vfunc_name = "i_create_iter")]
+ public abstract Gda.DataModelIter create_iter ();
+ [CCode (vfunc_name = "i_describe_column")]
+ public abstract unowned Gda.Column describe_column (int col);
+ public void dump (void* to_stream);
+ public string dump_as_string ();
+ public static GLib.Quark error_quark ();
+ public bool export_to_file (Gda.DataModelIOFormat format, string file, [CCode (array_length_cname = "nb_cols", array_length_pos = 3.5)] int[]? cols, [CCode (array_length_cname = "nb_rows", array_length_pos = 4.5)] int[]? rows, Gda.Set options) throws GLib.Error;
+ public string export_to_string (Gda.DataModelIOFormat format, [CCode (array_length_cname = "nb_cols", array_length_pos = 2.5)] int[]? cols, [CCode (array_length_cname = "nb_rows", array_length_pos = 3.5)] int[]? rows, Gda.Set options);
+ public void freeze ();
+ [CCode (vfunc_name = "i_get_access_flags")]
+ public abstract Gda.DataModelAccessFlags get_access_flags ();
+ [CCode (vfunc_name = "i_get_attributes_at")]
+ public abstract Gda.ValueAttribute get_attributes_at (int col, int row);
+ public int get_column_index (string name);
+ public unowned string get_column_name (int col);
+ public unowned string get_column_title (int col);
+ [CCode (array_length = false, array_null_terminated = true, vfunc_name = "i_get_exceptions")]
+ public abstract unowned GLib.Error[] get_exceptions ();
+ [CCode (vfunc_name = "i_get_n_columns")]
+ public abstract int get_n_columns ();
+ [CCode (vfunc_name = "i_get_n_rows")]
+ public abstract int get_n_rows ();
+ [CCode (vfunc_name = "i_get_notify")]
+ public abstract bool get_notify ();
+ public unowned GLib.Value? get_typed_value_at (int col, int row, GLib.Type expected_type, bool nullok) throws GLib.Error;
+ [CCode (vfunc_name = "i_get_value_at")]
+ public abstract unowned GLib.Value? get_value_at (int col, int row) throws GLib.Error;
+ public bool import_from_file (string file, GLib.HashTable<int,int>? cols_trans, Gda.Set options) throws GLib.Error;
+ public bool import_from_model (Gda.DataModel from, bool overwrite, GLib.HashTable<int,int>? cols_trans) throws GLib.Error;
+ public bool import_from_string (string string, GLib.HashTable<int,int>? cols_trans, Gda.Set options) throws GLib.Error;
+ [CCode (vfunc_name = "i_iter_at_row")]
+ public abstract bool iter_at_row (Gda.DataModelIter iter, int row);
+ [CCode (vfunc_name = "i_iter_next")]
+ public abstract bool iter_next (Gda.DataModelIter iter);
+ [CCode (vfunc_name = "i_iter_prev")]
+ public abstract bool iter_prev (Gda.DataModelIter iter);
+ [CCode (vfunc_name = "i_iter_set_value")]
+ public abstract bool iter_set_value (Gda.DataModelIter iter, int col, GLib.Value value) throws GLib.Error;
+ [CCode (vfunc_name = "i_remove_row")]
+ public abstract bool remove_row (int row) throws GLib.Error;
+ [CCode (vfunc_name = "i_send_hint")]
+ public abstract void send_hint (Gda.DataModelHint hint, GLib.Value? hint_value);
+ public void set_column_name (int col, string name);
+ public void set_column_title (int col, string title);
+ [CCode (vfunc_name = "i_set_notify")]
+ public abstract void set_notify (bool do_notify_changes);
+ [CCode (vfunc_name = "i_set_value_at")]
+ public abstract bool set_value_at (int col, int row, GLib.Value value) throws GLib.Error;
+ public void thaw ();
+ public virtual signal void access_changed ();
+ public virtual signal void changed ();
+ [HasEmitter]
+ public virtual signal void reset ();
+ [HasEmitter]
+ public virtual signal void row_inserted (int row);
+ [HasEmitter]
+ public virtual signal void row_removed (int row);
+ [HasEmitter]
+ public virtual signal void row_updated (int row);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_lockable_get_type ()")]
+ public interface Lockable : GLib.Object {
+ [NoWrapper]
+ public abstract void i_lock ();
+ [NoWrapper]
+ public abstract bool i_trylock ();
+ [NoWrapper]
+ public abstract void i_unlock ();
+ public void @lock ();
+ public bool trylock ();
+ public void unlock ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct DataMetaWrapper {
+ public weak GLib.Object object;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct DataMetaWrapperClass {
+ public weak GLib.ObjectClass parent_class;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct Diff {
+ public Gda.DiffType type;
+ public int old_row;
+ public int new_row;
+ public weak GLib.HashTable<void*,void*> values;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct DsnInfo {
+ public weak string name;
+ public weak string provider;
+ public weak string description;
+ public weak string cnc_string;
+ public weak string auth_string;
+ public bool is_system;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct MetaContext {
+ public weak string table_name;
+ public int size;
+ public weak string column_names;
+ public GLib.Value column_values;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct MetaDbObject {
+ public Gda.MetaDbObjectType obj_type;
+ public bool outdated;
+ public weak string obj_catalog;
+ public weak string obj_schema;
+ public weak string obj_name;
+ public weak string obj_short_name;
+ public weak string obj_full_name;
+ public weak string obj_owner;
+ public GLib.List<Gda.MetaDbObject> depend_list;
+ [CCode (cname = "extra.meta_table")]
+ public Gda.MetaTable extra_meta_table;
+ [CCode (cname = "extra.meta_view")]
+ public Gda.MetaView extra_meta_view;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct MetaStoreChange {
+ public Gda.MetaStoreChangeType c_type;
+ public weak string table_name;
+ public weak GLib.HashTable<void*,void*> keys;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct MetaTable {
+ public GLib.List<Gda.MetaTableColumn> columns;
+ public int pk_cols_array;
+ public int pk_cols_nb;
+ public GLib.List<Gda.MetaTableForeignKey> reverse_fk_list;
+ public GLib.List<Gda.MetaTableForeignKey> fk_list;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct MetaTableColumn {
+ public weak string column_name;
+ public weak string column_type;
+ public GLib.Type gtype;
+ public bool pkey;
+ public bool nullok;
+ public weak string default_value;
+ public void foreach_attribute (Gda.AttributesManagerFunc func);
+ public GLib.Value get_attribute (string attribute);
+ public void set_attribute (string attribute, GLib.Value? value, GLib.DestroyNotify? destroy);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct MetaTableForeignKey {
+ public Gda.MetaDbObject meta_table;
+ public Gda.MetaDbObject depend_on;
+ public int cols_nb;
+ public int fk_cols_array;
+ public weak string fk_names_array;
+ public int ref_pk_cols_array;
+ public weak string ref_pk_names_array;
+ public weak string fk_name;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct MetaView {
+ public Gda.MetaTable table;
+ public weak string view_def;
+ public bool is_updatable;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct ProviderInfo {
+ public weak string id;
+ public weak string location;
+ public weak string description;
+ public weak Gda.Set dsn_params;
+ public weak Gda.Set auth_params;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct ServerProviderHandlerInfo {
+ public weak Gda.Connection cnc;
+ public GLib.Type g_type;
+ public weak string dbms_type;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct SetGroup {
+ public GLib.List<Gda.SetNode> nodes;
+ public Gda.SetSource nodes_source;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct SetNode {
+ public weak Gda.Holder holder;
+ public weak Gda.DataModel source_model;
+ public int source_column;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct SetSource {
+ public weak Gda.DataModel data_model;
+ public GLib.List<Gda.SetNode> nodes;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ [SimpleType]
+ public struct SqlBuilderId : uint {
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct SqlRenderingContext {
+ public Gda.StatementSqlFlag flags;
+ public weak Gda.Set @params;
+ public GLib.List<Gda.Holder> params_used;
+ public weak Gda.ServerProvider provider;
+ public weak Gda.Connection cnc;
+ public weak Gda.SqlRenderingValue render_value;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct ThreadNotification {
+ public Gda.ThreadNotificationType type;
+ public uint job_id;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct TransactionStatusEvent {
+ public weak Gda.TransactionStatus trans;
+ public Gda.TransactionStatusEventType type;
+ public weak Gda.ConnectionEvent conn_event;
+ [CCode (cname = "pl.svp_name")]
+ public weak string pl_svp_name;
+ [CCode (cname = "pl.sql")]
+ public weak string pl_sql;
+ [CCode (cname = "pl.sub_trans")]
+ public weak Gda.TransactionStatus pl_sub_trans;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public struct XaTransactionId {
+ public uint32 format;
+ public ushort gtrid_length;
+ public ushort bqual_length;
+ [CCode (array_length = false, array_null_terminated = true)]
+ public weak char[] data;
+ public string to_string ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "_GdaServerOperationNode")]
+ public struct _ServerOperationNode {
+ public Gda.ServerOperationNodeType type;
+ public Gda.ServerOperationNodeStatus status;
+ public weak Gda.Set plist;
+ public weak Gda.DataModel model;
+ public weak Gda.Column column;
+ public weak Gda.Holder param;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "_GdaSqlParserIface")]
+ public struct _SqlParserIface {
+ public weak Gda.SqlParser parser;
+ public weak Gda.SqlStatement parsed_statement;
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_BATCH_CONFLICTING_PARAMETER_")]
+ public enum BatchError {
+ [CCode (cname = "GDA_BATCH_CONFLICTING_PARAMETER_ERROR")]
+ BATCH_CONFLICTING_PARAMETER_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONFIG_")]
+ public enum ConfigError {
+ DSN_NOT_FOUND_ERROR,
+ PERMISSION_ERROR,
+ PROVIDER_NOT_FOUND_ERROR,
+ PROVIDER_CREATION_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_")]
+ public enum ConnectionError {
+ DSN_NOT_FOUND_ERROR,
+ PROVIDER_NOT_FOUND_ERROR,
+ PROVIDER_ERROR,
+ NO_CNC_SPEC_ERROR,
+ NO_PROVIDER_SPEC_ERROR,
+ OPEN_ERROR,
+ STATEMENT_TYPE_ERROR,
+ CANT_LOCK_ERROR,
+ TASK_NOT_FOUND_ERROR,
+ UNSUPPORTED_THREADS_ERROR,
+ CLOSED_ERROR,
+ META_DATA_CONTEXT_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_EVENT_CODE_")]
+ public enum ConnectionEventCode {
+ CONSTRAINT_VIOLATION,
+ RESTRICT_VIOLATION,
+ NOT_NULL_VIOLATION,
+ FOREIGN_KEY_VIOLATION,
+ UNIQUE_VIOLATION,
+ CHECK_VIOLATION,
+ INSUFFICIENT_PRIVILEGES,
+ UNDEFINED_COLUMN,
+ UNDEFINED_FUNCTION,
+ UNDEFINED_TABLE,
+ DUPLICATE_COLUMN,
+ DUPLICATE_DATABASE,
+ DUPLICATE_FUNCTION,
+ DUPLICATE_SCHEMA,
+ DUPLICATE_TABLE,
+ DUPLICATE_ALIAS,
+ DUPLICATE_OBJECT,
+ SYNTAX_ERROR,
+ UNKNOWN
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_EVENT_")]
+ public enum ConnectionEventType {
+ NOTICE,
+ WARNING,
+ ERROR,
+ COMMAND
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_FEATURE_")]
+ public enum ConnectionFeature {
+ AGGREGATES,
+ BLOBS,
+ INDEXES,
+ INHERITANCE,
+ NAMESPACES,
+ PROCEDURES,
+ SEQUENCES,
+ SQL,
+ TRANSACTIONS,
+ SAVEPOINTS,
+ SAVEPOINTS_REMOVE,
+ TRIGGERS,
+ UPDATABLE_CURSOR,
+ USERS,
+ VIEWS,
+ XA_TRANSACTIONS,
+ MULTI_THREADING,
+ LAST
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_META_")]
+ public enum ConnectionMetaType {
+ NAMESPACES,
+ TYPES,
+ TABLES,
+ VIEWS,
+ FIELDS,
+ INDEXES
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_CONNECTION_OPTIONS_")]
+ [Flags]
+ public enum ConnectionOptions {
+ NONE,
+ READ_ONLY,
+ SQL_IDENTIFIERS_CASE_SENSITIVE,
+ THREAD_SAFE,
+ THREAD_ISOLATED,
+ AUTO_META_DATA
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_COMPARATOR_")]
+ public enum DataComparatorError {
+ MISSING_DATA_MODEL_ERROR,
+ COLUMN_TYPES_MISMATCH_ERROR,
+ MODEL_ACCESS_ERROR,
+ USER_CANCELLED_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_META_WRAPPER_MODE_")]
+ public enum DataMetaWrapperMode {
+ LC,
+ UC
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_MODEL_ACCESS_")]
+ [Flags]
+ public enum DataModelAccessFlags {
+ RANDOM,
+ CURSOR_FORWARD,
+ CURSOR_BACKWARD,
+ CURSOR,
+ INSERT,
+ UPDATE,
+ DELETE,
+ WRITE
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_MODEL_HINT_")]
+ public enum DataModelHint {
+ START_BATCH_UPDATE,
+ END_BATCH_UPDATE,
+ REFRESH
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_MODEL_IO_")]
+ public enum DataModelIOFormat {
+ DATA_ARRAY_XML,
+ TEXT_SEPARATED
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_MODEL_ITER_COLUMN_OUT_OF_RANGE_")]
+ public enum DataModelIterError {
+ [CCode (cname = "GDA_DATA_MODEL_ITER_COLUMN_OUT_OF_RANGE_ERROR")]
+ DATA_MODEL_ITER_COLUMN_OUT_OF_RANGE_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_PIVOT_")]
+ public enum DataPivotAggregate {
+ AVG,
+ COUNT,
+ MAX,
+ MIN,
+ SUM
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_PIVOT_")]
+ public enum DataPivotError {
+ INTERNAL_ERROR,
+ SOURCE_MODEL_ERROR,
+ FIELD_FORMAT_ERROR,
+ USAGE_ERROR,
+ OVERFLOW_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_PIVOT_FIELD_")]
+ public enum DataPivotFieldType {
+ ROW,
+ COLUMN
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_PROXY_")]
+ public enum DataProxyError {
+ COMMIT_ERROR,
+ COMMIT_CANCELLED,
+ READ_ONLY_VALUE,
+ READ_ONLY_ROW,
+ FILTER_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_SELECT_COND_")]
+ public enum DataSelectConditionType {
+ PK,
+ ALL_COLUMNS
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_SELECT_")]
+ public enum DataSelectError {
+ MODIFICATION_STATEMENT_ERROR,
+ MISSING_MODIFICATION_STATEMENT_ERROR,
+ CONNECTION_ERROR,
+ ACCESS_ERROR,
+ SQL_ERROR,
+ SAFETY_LOCKED_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DIFF_")]
+ public enum DiffType {
+ ADD_ROW,
+ REMOVE_ROW,
+ MODIFY_ROW
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_HOLDER_")]
+ public enum HolderError {
+ STRING_CONVERSION_ERROR,
+ VALUE_TYPE_ERROR,
+ VALUE_NULL_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_DB_")]
+ public enum MetaDbObjectType {
+ UNKNOWN,
+ TABLE,
+ VIEW
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_FOREIGN_KEY_")]
+ public enum MetaForeignKeyPolicy {
+ UNKNOWN,
+ NONE,
+ NO_ACTION,
+ RESTRICT,
+ CASCADE,
+ SET_NULL,
+ SET_DEFAULT
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_GRAPH_")]
+ [Flags]
+ public enum MetaGraphInfo {
+ [CCode (cname = "GDA_META_GRAPH_COLUMNS")]
+ META_GRAPH_COLUMNS
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_SORT_")]
+ public enum MetaSortType {
+ ALHAPETICAL,
+ DEPENDENCIES
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_STORE_")]
+ public enum MetaStoreChangeType {
+ ADD,
+ REMOVE,
+ MODIFY
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_STORE_")]
+ public enum MetaStoreError {
+ INCORRECT_SCHEMA_ERROR,
+ UNSUPPORTED_PROVIDER_ERROR,
+ INTERNAL_ERROR,
+ META_CONTEXT_ERROR,
+ MODIFY_CONTENTS_ERROR,
+ EXTRACT_SQL_ERROR,
+ ATTRIBUTE_NOT_FOUND_ERROR,
+ ATTRIBUTE_ERROR,
+ SCHEMA_OBJECT_NOT_FOUND_ERROR,
+ SCHEMA_OBJECT_CONFLICT_ERROR,
+ SCHEMA_OBJECT_DESCR_ERROR,
+ TRANSACTION_ALREADY_STARTED_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_STRUCT_")]
+ public enum MetaStructError {
+ UNKNOWN_OBJECT_ERROR,
+ DUPLICATE_OBJECT_ERROR,
+ INCOHERENCE_ERROR,
+ XML_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_META_STRUCT_FEATURE_")]
+ [Flags]
+ public enum MetaStructFeature {
+ NONE,
+ FOREIGN_KEYS,
+ VIEW_DEPENDENCIES,
+ ALL
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_OPERATION_CREATE_TABLE_")]
+ [Flags]
+ public enum ServerOperationCreateTableFlag {
+ NOTHING_FLAG,
+ PKEY_FLAG,
+ NOT_NULL_FLAG,
+ UNIQUE_FLAG,
+ AUTOINC_FLAG,
+ FKEY_FLAG,
+ PKEY_AUTOINC_FLAG
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_OPERATION_")]
+ public enum ServerOperationError {
+ OBJECT_NAME_ERROR,
+ INCORRECT_VALUE_ERROR,
+ XML_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_OPERATION_STATUS_")]
+ public enum ServerOperationNodeStatus {
+ OPTIONAL,
+ REQUIRED,
+ UNKNOWN
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_OPERATION_NODE_")]
+ public enum ServerOperationNodeType {
+ PARAMLIST,
+ DATA_MODEL,
+ PARAM,
+ SEQUENCE,
+ SEQUENCE_ITEM,
+ DATA_MODEL_COLUMN,
+ UNKNOWN
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_OPERATION_")]
+ public enum ServerOperationType {
+ CREATE_DB,
+ DROP_DB,
+ CREATE_TABLE,
+ DROP_TABLE,
+ RENAME_TABLE,
+ ADD_COLUMN,
+ DROP_COLUMN,
+ CREATE_INDEX,
+ DROP_INDEX,
+ CREATE_VIEW,
+ DROP_VIEW,
+ COMMENT_TABLE,
+ COMMENT_COLUMN,
+ CREATE_USER,
+ ALTER_USER,
+ DROP_USER,
+ LAST
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SERVER_PROVIDER_")]
+ public enum ServerProviderError {
+ METHOD_NON_IMPLEMENTED_ERROR,
+ PREPARE_STMT_ERROR,
+ EMPTY_STMT_ERROR,
+ MISSING_PARAM_ERROR,
+ STATEMENT_EXEC_ERROR,
+ OPERATION_ERROR,
+ INTERNAL_ERROR,
+ BUSY_ERROR,
+ NON_SUPPORTED_ERROR,
+ SERVER_VERSION_ERROR,
+ DATA_ERROR,
+ DEFAULT_VALUE_HANDLING_ERROR,
+ MISUSE_ERROR,
+ FILE_NOT_FOUND_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SET_")]
+ public enum SetError {
+ XML_SPEC_ERROR,
+ HOLDER_NOT_FOUND_ERROR,
+ INVALID_ERROR,
+ READ_ONLY_ERROR,
+ IMPLEMENTATION_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_BUILDER_")]
+ public enum SqlBuilderError {
+ WRONG_TYPE_ERROR,
+ MISUSE_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_IDENTIFIERS_")]
+ [Flags]
+ public enum SqlIdentifierStyle {
+ LOWER_CASE,
+ UPPER_CASE
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_OPERATOR_TYPE_")]
+ public enum SqlOperatorType {
+ AND,
+ OR,
+ EQ,
+ IS,
+ LIKE,
+ BETWEEN,
+ GT,
+ LT,
+ GEQ,
+ LEQ,
+ DIFF,
+ REGEXP,
+ REGEXP_CI,
+ NOT_REGEXP,
+ NOT_REGEXP_CI,
+ SIMILAR,
+ ISNULL,
+ ISNOTNULL,
+ NOT,
+ IN,
+ NOTIN,
+ CONCAT,
+ PLUS,
+ MINUS,
+ STAR,
+ DIV,
+ REM,
+ BITAND,
+ BITOR,
+ BITNOT,
+ ILIKE
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_PARSER_")]
+ public enum SqlParserError {
+ SYNTAX_ERROR,
+ OVERFLOW_ERROR,
+ EMPTY_SQL_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_PARSER_FLAVOUR_")]
+ public enum SqlParserFlavour {
+ STANDARD,
+ SQLITE,
+ MYSQL,
+ ORACLE,
+ POSTGRESQL
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_PARSER_MODE_")]
+ public enum SqlParserMode {
+ PARSE,
+ DELIMIT
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_SELECT_JOIN_")]
+ public enum SqlSelectJoinType {
+ CROSS,
+ NATURAL,
+ INNER,
+ LEFT,
+ RIGHT,
+ FULL;
+ public static unowned string to_string (Gda.SqlSelectJoinType type);
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_STATEMENT_COMPOUND_")]
+ public enum SqlStatementCompoundType {
+ UNION,
+ UNION_ALL,
+ INTERSECT,
+ INTERSECT_ALL,
+ EXCEPT,
+ EXCEPT_ALL
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_STATEMENT_")]
+ public enum SqlStatementType {
+ SELECT,
+ INSERT,
+ UPDATE,
+ DELETE,
+ COMPOUND,
+ BEGIN,
+ ROLLBACK,
+ COMMIT,
+ SAVEPOINT,
+ ROLLBACK_SAVEPOINT,
+ DELETE_SAVEPOINT,
+ UNKNOWN,
+ NONE
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_STATEMENT_")]
+ public enum StatementError {
+ PARSE_ERROR,
+ SYNTAX_ERROR,
+ NO_CNC_ERROR,
+ CNC_CLOSED_ERROR,
+ EXEC_ERROR,
+ PARAM_TYPE_ERROR,
+ PARAM_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_STATEMENT_MODEL_")]
+ [Flags]
+ public enum StatementModelUsage {
+ RANDOM_ACCESS,
+ CURSOR_FORWARD,
+ CURSOR_BACKWARD,
+ CURSOR,
+ ALLOW_NOPARAM
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_STATEMENT_SQL_")]
+ [Flags]
+ public enum StatementSqlFlag {
+ PARAMS_AS_VALUES,
+ PRETTY,
+ PARAMS_LONG,
+ PARAMS_SHORT,
+ PARAMS_AS_COLON,
+ PARAMS_AS_DOLLAR,
+ PARAMS_AS_QMARK,
+ PARAMS_AS_UQMARK
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_THREAD_NOTIFICATION_")]
+ public enum ThreadNotificationType {
+ JOB,
+ SIGNAL
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_THREAD_WRAPPER_UNKNOWN_")]
+ public enum ThreadWrapperError {
+ [CCode (cname = "GDA_THREAD_WRAPPER_UNKNOWN_ERROR")]
+ THREAD_WRAPPER_UNKNOWN_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TRANSACTION_ISOLATION_")]
+ public enum TransactionIsolation {
+ UNKNOWN,
+ READ_COMMITTED,
+ READ_UNCOMMITTED,
+ REPEATABLE_READ,
+ SERIALIZABLE
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TRANSACTION_STATUS_EVENT_")]
+ public enum TransactionStatusEventType {
+ SAVEPOINT,
+ SQL,
+ SUB_TRANSACTION
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TRANSACTION_STATUS_STATE_")]
+ public enum TransactionStatusState {
+ OK,
+ FAILED
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TREE_UNKNOWN_")]
+ public enum TreeError {
+ [CCode (cname = "GDA_TREE_UNKNOWN_ERROR")]
+ TREE_UNKNOWN_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TREE_MANAGER_UNKNOWN_")]
+ public enum TreeManagerError {
+ [CCode (cname = "GDA_TREE_MANAGER_UNKNOWN_ERROR")]
+ TREE_MANAGER_UNKNOWN_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_TREE_NODE_UNKNOWN_")]
+ public enum TreeNodeError {
+ [CCode (cname = "GDA_TREE_NODE_UNKNOWN_ERROR")]
+ TREE_NODE_UNKNOWN_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_VALUE_ATTR_")]
+ [Flags]
+ public enum ValueAttribute {
+ NONE,
+ IS_NULL,
+ CAN_BE_NULL,
+ IS_DEFAULT,
+ CAN_BE_DEFAULT,
+ IS_UNCHANGED,
+ ACTIONS_SHOWN,
+ DATA_NON_VALID,
+ HAS_VALUE_ORIG,
+ NO_MODIF,
+ UNUSED
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_XA_TRANSACTION_")]
+ public enum XaTransactionError {
+ ALREADY_REGISTERED_ERROR,
+ DTP_NOT_SUPPORTED_ERROR,
+ CONNECTION_BRANCH_LENGTH_ERROR
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_DATA_MODEL_")]
+ public errordomain DataModelError {
+ ROW_OUT_OF_RANGE_ERROR,
+ COLUMN_OUT_OF_RANGE_ERROR,
+ VALUES_LIST_ERROR,
+ VALUE_TYPE_ERROR,
+ ROW_NOT_FOUND_ERROR,
+ ACCESS_ERROR,
+ FEATURE_NON_SUPPORTED_ERROR,
+ FILE_EXIST_ERROR,
+ XML_FORMAT_ERROR,
+ TRUNCATED_ERROR,
+ OTHER_ERROR;
+ public static GLib.Quark quark ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", cprefix = "GDA_SQL_")]
+ public errordomain SqlError {
+ STRUCTURE_CONTENTS_ERROR,
+ MALFORMED_IDENTIFIER_ERROR,
+ MISSING_IDENTIFIER_ERROR,
+ VALIDATION_ERROR;
+ public static GLib.Quark quark ();
+ }
+ [CCode (cheader_filename = "libgda/libgda.h", has_target = false)]
+ public delegate void AttributesManagerFunc (string att_name, GLib.Value value, void* data);
+ [CCode (cheader_filename = "libgda/libgda.h", has_target = false)]
+ public delegate void AttributesManagerSignal (GLib.Object obj, string att_name, GLib.Value value, void* data);
+ [CCode (cheader_filename = "libgda/libgda.h", has_target = false)]
+ public delegate void ServerProviderAsyncCallback (Gda.ServerProvider provider, Gda.Connection cnc, uint task_id, bool result_status, GLib.Error error, void* data);
+ [CCode (cheader_filename = "libgda/libgda.h", has_target = false)]
+ public delegate void ServerProviderExecCallback (Gda.ServerProvider provider, Gda.Connection cnc, uint task_id, GLib.Object result_obj, GLib.Error error, void* data);
+ [CCode (cheader_filename = "libgda/libgda.h", has_target = false)]
+ public delegate string SqlRenderingValue (GLib.Value value, Gda.SqlRenderingContext context) throws GLib.Error;
+ [CCode (cheader_filename = "libgda/libgda.h", has_target = false)]
+ public delegate bool SqlReservedKeywordsFunc (string word);
+ [CCode (cheader_filename = "libgda/libgda.h", has_target = false)]
+ public delegate void ThreadWrapperCallback (Gda.ThreadWrapper wrapper, void* instance, string signame, int n_param_values, GLib.Value param_values, void* gda_reserved, void* data);
+ [CCode (cheader_filename = "libgda/libgda.h", has_target = false)]
+ public delegate void ThreadWrapperVoidFunc (void* arg) throws GLib.Error;
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_AUTO_INCREMENT")]
+ public const string ATTRIBUTE_AUTO_INCREMENT;
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_DESCRIPTION")]
+ public const string ATTRIBUTE_DESCRIPTION;
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_IS_DEFAULT")]
+ public const string ATTRIBUTE_IS_DEFAULT;
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_NAME")]
+ public const string ATTRIBUTE_NAME;
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_NUMERIC_PRECISION")]
+ public const string ATTRIBUTE_NUMERIC_PRECISION;
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_NUMERIC_SCALE")]
+ public const string ATTRIBUTE_NUMERIC_SCALE;
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_ATTRIBUTE_TREE_NODE_UNKNOWN_CHILDREN")]
+ public const string ATTRIBUTE_TREE_NODE_UNKNOWN_CHILDREN;
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_EXTRA_AUTO_INCREMENT")]
+ public const string EXTRA_AUTO_INCREMENT;
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_SQLSTATE_GENERAL_ERROR")]
+ public const string SQLSTATE_GENERAL_ERROR;
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_SQLSTATE_NO_ERROR")]
+ public const string SQLSTATE_NO_ERROR;
+ [CCode (cheader_filename = "libgda/libgda.h", cname = "GDA_TIMEZONE_INVALID")]
+ public const int TIMEZONE_INVALID;
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static string alphanum_to_text (string text);
+ [CCode (array_length = false, array_null_terminated = true, cheader_filename = "libgda/libgda.h")]
+ public static string[] completion_list_get (Gda.Connection cnc, string sql, int start, int end);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool compute_dml_statements (Gda.Connection cnc, Gda.Statement select_stmt, bool require_pk, owned Gda.Statement? insert_stmt, owned Gda.Statement? update_stmt, owned Gda.Statement? delete_stmt) throws GLib.Error;
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static unowned Gda.DataHandler data_handler_get_default (GLib.Type for_type);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void dsn_split (string string, string out_dsn, string out_username, string out_password);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static GLib.Type g_type_from_string (string str);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static unowned string g_type_to_string (GLib.Type type);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool identifier_equal (string id1, string id2);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static uint identifier_hash (string id);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void log_disable ();
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void log_enable ();
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool log_is_enabled ();
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool parse_iso8601_date (GLib.Date gdate, string value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool parse_iso8601_time (Gda.Time timegda, string value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool parse_iso8601_timestamp (Gda.Timestamp timestamp, string value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool rewrite_statement_for_null_parameters (Gda.Statement stmt, Gda.Set @params, owned Gda.Statement? out_stmt) throws GLib.Error;
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool rfc1738_decode (string string);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static string rfc1738_encode (string string);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static Gda.Statement select_alter_select_for_empty (Gda.Statement stmt) throws GLib.Error;
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static string sql_identifier_quote (string id, Gda.Connection? cnc, Gda.ServerProvider? prov, bool meta_store_convention, bool force_quotes);
+ [CCode (array_length = false, array_null_terminated = true, cheader_filename = "libgda/libgda.h")]
+ public static string[] sql_identifier_split (string id);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static Gda.SqlOperatorType sql_operation_operator_from_string (string op);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static unowned string sql_operation_operator_to_string (Gda.SqlOperatorType op);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static Gda.Binary string_to_binary (string? str);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static Gda.Blob string_to_blob (string str);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static string text_to_alphanum (string text);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool utility_check_data_model_v (Gda.DataModel model, [CCode (array_length_cname = "nbcols", array_length_pos = 1.5)] GLib.Type[] types);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool utility_data_model_dump_data_to_xml (Gda.DataModel model, [CCode (type = "xmlNodePtr")] Xml.Node* parent, [CCode (array_length_cname = "nb_cols", array_length_pos = 3.5)] int[]? cols, [CCode (array_length_cname = "nb_rows", array_length_pos = 4.5)] int[]? rows, bool use_col_ids);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static unowned string utility_data_model_find_column_description (Gda.DataSelect model, string field_name);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool utility_holder_load_attributes (Gda.Holder holder, [CCode (type = "xmlNodePtr")] Xml.Node* node, GLib.SList<Gda.DataModel> sources) throws GLib.Error;
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static int value_compare (GLib.Value value1, GLib.Value value2);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static GLib.Value value_copy (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static int value_differ (GLib.Value value1, GLib.Value value2);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_free (owned GLib.Value? value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static unowned Gda.Binary value_get_binary (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static unowned Gda.Blob value_get_blob (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static unowned Gda.GeometricPoint value_get_geometric_point (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static unowned Gda.Numeric value_get_numeric (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static short value_get_short (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static unowned Gda.Time value_get_time (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static unowned Gda.Timestamp value_get_timestamp (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static ushort value_get_ushort (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool value_is_null (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool value_is_number (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static GLib.Value value_new (GLib.Type type);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static GLib.Value value_new_binary (uint8 val, long size);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static GLib.Value value_new_blob (uint8 val, long size);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static GLib.Value value_new_blob_from_file (string filename);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static GLib.Value value_new_default (string? default_val);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static GLib.Value value_new_from_string (string as_string, GLib.Type type);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static GLib.Value value_new_from_xml ([CCode (type = "xmlNodePtr")] Xml.Node* node);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static GLib.Value value_new_null ();
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static GLib.Value value_new_timestamp_from_timet (long val);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_reset_with_type (GLib.Value value, GLib.Type type);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_set_binary (GLib.Value value, Gda.Binary binary);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_set_blob (GLib.Value value, Gda.Blob blob);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool value_set_from_string (GLib.Value value, string as_string, GLib.Type type);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static bool value_set_from_value (GLib.Value value, GLib.Value from);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_set_geometric_point (GLib.Value value, Gda.GeometricPoint val);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_set_null (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_set_numeric (GLib.Value value, Gda.Numeric val);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_set_short (GLib.Value value, short val);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_set_time (GLib.Value value, Gda.Time val);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_set_timestamp (GLib.Value value, Gda.Timestamp val);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_set_ushort (GLib.Value value, ushort val);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static string value_stringify (GLib.Value value);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_take_binary (GLib.Value value, owned Gda.Binary binary);
+ [CCode (cheader_filename = "libgda/libgda.h")]
+ public static void value_take_blob (GLib.Value value, owned Gda.Blob blob);
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]