[libgda] Added new API to GdaMetaContext to convert it to an opaque struct.
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] Added new API to GdaMetaContext to convert it to an opaque struct.
- Date: Fri, 3 Feb 2012 21:16:42 +0000 (UTC)
commit ba3f677d5fe3445ea1bf9a04d50bc069545969a7
Author: Daniel Espinosa <despinosa src gnome org>
Date: Fri Feb 3 15:13:24 2012 -0600
Added new API to GdaMetaContext to convert it to an opaque struct.
* Added a new member to GdaMetaContext as GHashTable to hold column/value pairs, new
API use it to store/get column/value pair. Hope this changes don't modify interal use
of GdaMetaContext to allow slowly porting
* Some GI annotations fixes
libgda/Gda-5.0.gir | 104 ++++++++++++++++++++++++++++++-
libgda/gda-meta-store.c | 155 +++++++++++++++++++++++++++++++++++++++++++++--
libgda/gda-meta-store.h | 26 ++++++++
libgda/gda-types.c | 14 ----
libgda/gda-types.h | 5 --
libgda/libgda-5.0.vapi | 69 +++------------------
libgda/libgda.symbols | 6 ++
7 files changed, 291 insertions(+), 88 deletions(-)
---
diff --git a/libgda/Gda-5.0.gir b/libgda/Gda-5.0.gir
index d8eba24..8e6404c 100644
--- a/libgda/Gda-5.0.gir
+++ b/libgda/Gda-5.0.gir
@@ -10204,7 +10204,16 @@ This function can be used even if g_thread_init() has not yet been called, and,
<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>
+and the <emphasis>what</emphasis> when used with gda_connection_update_meta_store().
+
+To create a new #GdaMetaContext use #gda_meta_context_new.
+
+To add a new column/value pair use #gda_meta_context_add_column.
+
+To free a #GdaMetaContext, created by #gda_meta_context_new, use #gda_attributes_manager_free.
+
+Since 5.2, you must consider this struct as opaque. Any access to its internal must use public API.
+Don't try to use #gda_meta_context_free on a struct that was created manually.</doc>
<field name="table_name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
@@ -10217,6 +10226,93 @@ and the <emphasis>what</emphasis> when used with gda_connection_upda
<field name="column_values" writable="1">
<type name="GObject.Value" c:type="GValue**"/>
</field>
+ <field name="columns" introspectable="0" writable="1">
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="utf8"/>
+ <type name="GLib.GValue"/>
+ </type>
+ </field>
+ <method name="add_column" c:identifier="gda_meta_context_add_column">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="column" 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="free" c:identifier="gda_meta_context_free" version="5.2">
+ <doc xml:whitespace="preserve">Frees any resources taken by @ctx struct.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_table"
+ c:identifier="gda_meta_context_get_table"
+ version="5.2">
+ <doc xml:whitespace="preserve">Get table's name to used in the context.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A string with the table's name used in the context.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="set_columns"
+ c:identifier="gda_meta_context_set_columns"
+ version="5.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Set columns to use in the context. The #GHashTable use column's name as key and a #GValue as value,
+to represent its value.
+
+ columns incements its reference counting. Is recommended to use #gda_meta_context_free in order to free them.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="columns" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GHashTable with the table's columns' name and their values to use in context.</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="utf8"/>
+ <type name="GLib.Value"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_table"
+ c:identifier="gda_meta_context_set_table"
+ version="5.2">
+ <doc xml:whitespace="preserve">Set table's name to use in the context.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string with the table's name to use in context</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gda_meta_context_new"
+ version="5.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GdaMetaContext struct with a #GHashTable to store column/value pairs, using
+given @table in the context.
+
+store column name/value pairs.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GdaMetaContext struct with a copied table's name and a new created hash to</doc>
+ <type name="MetaContext" c:type="GdaMetaContext*"/>
+ </return-value>
+ <parameters>
+ <parameter name="table_name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
</record>
<record name="MetaDbObject" c:type="GdaMetaDbObject">
<doc xml:whitespace="preserve">Struture to hold information about each database object (tables, views, ...),
@@ -10956,7 +11052,7 @@ See gda_meta_store_declare_foreign_key() for more information anout the @catalog
<field name="priv">
<type name="MetaStorePrivate" c:type="GdaMetaStorePrivate*"/>
</field>
- <glib:signal name="meta-changed" when="first" introspectable="0">
+ <glib:signal name="meta-changed" when="first">
<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"/>
@@ -10964,7 +11060,9 @@ See gda_meta_store_declare_foreign_key() for more information anout the @catalog
<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/>
+ <type name="GLib.SList">
+ <type name="MetaStoreChange"/>
+ </type>
</parameter>
</parameters>
</glib:signal>
diff --git a/libgda/gda-meta-store.c b/libgda/gda-meta-store.c
index 0e4ca61..1f9828d 100644
--- a/libgda/gda-meta-store.c
+++ b/libgda/gda-meta-store.c
@@ -65,6 +65,151 @@
#include "gda-data-meta-wrapper.h"
/*
+ Register GdaMetaContext type
+*/
+GType
+_gda_meta_context_get_type (void)
+{
+ static GType type = 0;
+
+ if (G_UNLIKELY (type == 0)) {
+ static GStaticMutex registering = G_STATIC_MUTEX_INIT;
+ g_static_mutex_lock (®istering);
+ if (type == 0)
+ type = g_pointer_type_register_static ("GdaMetaContext");
+ g_static_mutex_unlock (®istering);
+ }
+
+ return type;
+}
+
+/*
+ IMPLEMENTATION NOTES:
+ In this implementation, for 5.2, the new API for GdaMetaContext struct doesn't touch size, column_names and
+ column_values members, but added a HashTable member in order to make more easy to access to column/value
+ elements.
+
+ Take care about to use gda_meta_context_free or g_free on this struct if you don't use the new API because
+ unexpected results.
+
+ Changes include: table string is copied and columns are stored in a GHashTable witch it's reference counting
+ is incremented. When is freed, table string is freed and hash ref is decremented.
+*/
+
+
+/**
+ * gda_meta_context_new:
+ * @ctx: a #GdaMetaContext struct to add column/value pais to
+ * @table: (transfer none): the column's value
+ *
+ * Creates a new #GdaMetaContext struct with a #GHashTable to store column/value pairs, using
+ * given @table in the context.
+ *
+ * Return: (transfer full): a new #GdaMetaContext struct with a copied table's name and a new created hash to
+ * store column name/value pairs.
+ *
+ * Since: 5.2
+ */
+GdaMetaContext*
+gda_meta_context_new (const gchar* table_name)
+{
+ g_return_if_fail (table_name);
+ GdaMetaContext *ctx = g_new0 (GdaMetaContext, 1);
+ ctx->table_name = g_strdup (table_name);
+ ctx->columns = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free,
+ (GDestroyNotify) gda_value_free);
+ return ctx;
+}
+/**
+ * gda_meta_context_set_table:
+ * @ctx: a #GdaMetaContext struct to set table to
+ * @table: a string with the table's name to use in context
+ *
+ * Set table's name to use in the context.
+ *
+ * Since: 5.2
+ */
+void
+gda_meta_context_set_table (GdaMetaContext *ctx, const gchar *table_name)
+{
+ g_return_if_fail (ctx && table_name);
+ ctx->table_name = g_strdup (table_name);
+}
+
+/**
+ * gda_meta_context_get_table:
+ * @ctx: a #GdaMetaContext struct to get table's name from
+ *
+ * Get table's name to used in the context.
+ *
+ * Return: (transfer none): A string with the table's name used in the context.
+ *
+ * Since: 5.2
+ */
+const gchar*
+gda_meta_context_get_table (GdaMetaContext *ctx)
+{
+ g_return_if_fail (ctx);
+ return ctx->table_name;
+}
+
+/**
+ * gda_meta_context_insert_column:
+ * @ctx: a #GdaMetaContext struct to add column/value pais to
+ * @column: (transfer none): the column's name
+ * @value: (transfer none): the column's value
+ *
+ * Insert a new column/value pair to the given context @ctx. Column's name and value is copied and destroied
+ * when #gda_meta_context_free is called.
+ *
+ * Since: 5.2
+ */
+void
+gda_meta_context_add_column (GdaMetaContext *ctx, const gchar* column, const GValue* value)
+{
+ g_return_if_fail (column && value);
+ g_hash_table_insert (ctx->columns, (gpointer) g_strdup (column), (gpointer) gda_value_copy (value));
+}
+
+/**
+ * gda_meta_context_set_columns:
+ * @ctx: a #GdaMetaContext struct to set colums to
+ * @columns: (element-type utf8 GLib.Value): a #GHashTable with the table's columns' name and their values
+ * to use in context.
+ *
+ * Set columns to use in the context. The #GHashTable use column's name as key and a #GValue as value,
+ * to represent its value.
+ *
+ * @columns incements its reference counting. Is recommended to use #gda_meta_context_free in order to free them.
+ *
+ * Since: 5.2
+ */
+void
+gda_meta_context_set_columns (GdaMetaContext *ctx, GHashTable *columns)
+{
+ g_return_if_fail (ctx && columns);
+ g_hash_table_unref (ctx->columns);
+ ctx->columns = g_hash_table_ref (columns);
+}
+
+/**
+ * gda_meta_context_free:
+ * @ctx: a #GdaMetaContext struct to free
+ *
+ * Frees any resources taken by @ctx struct.
+ *
+ * Since: 5.2
+ */
+void
+gda_meta_context_free (GdaMetaContext *ctx)
+{
+ g_return_if_fail (ctx);
+ g_free (ctx->table_name);
+ g_hash_table_unref (ctx->columns);
+ g_free (ctx);
+}
+
+/*
* Main static functions
*/
static void gda_meta_store_class_init (GdaMetaStoreClass *klass);
@@ -385,7 +530,7 @@ gda_meta_store_class_init (GdaMetaStoreClass *klass)
parent_class = g_type_class_peek_parent (klass);
/**
- * GdaMetaStore::suggest-update
+ * GdaMetaStore::suggest-update:
* @store: the #GdaMetaStore instance that emitted the signal
* @suggest: the suggested update, as a #GdaMetaContext structure
*
@@ -405,9 +550,9 @@ gda_meta_store_class_init (GdaMetaStoreClass *klass)
_gda_marshal_ERROR__METACONTEXT, G_TYPE_ERROR,
1, GDA_TYPE_META_CONTEXT);
/**
- * GdaMetaStore::meta-changed
+ * GdaMetaStore::meta-changed:
* @store: the #GdaMetaStore instance that emitted the signal
- * @changes: (element-type Gda.MetaStoreChange): a list of changes made, as a #GSList of pointers to #GdaMetaStoreChange (which must not be modified)
+ * @changes: (type GLib.SList) (element-type Gda.MetaStoreChange): a list of changes made, as a #GSList of pointers to #GdaMetaStoreChange (which must not be modified)
*
* This signal is emitted when the @store's contents have changed (the changes are in the @changes list)
*/
@@ -418,9 +563,9 @@ gda_meta_store_class_init (GdaMetaStoreClass *klass)
G_STRUCT_OFFSET (GdaMetaStoreClass, meta_changed),
NULL, NULL,
_gda_marshal_VOID__SLIST, G_TYPE_NONE,
- 1, GDA_TYPE_SLIST);
+ 1, G_TYPE_POINTER);
/**
- * GdaMetaStore::meta-reset
+ * GdaMetaStore::meta-reset:
* @store: the #GdaMetaStore instance that emitted the signal
*
* This signal is emitted when the @store's contents have been reset completely and when
diff --git a/libgda/gda-meta-store.h b/libgda/gda-meta-store.h
index f9f2d61..c9a5c38 100644
--- a/libgda/gda-meta-store.h
+++ b/libgda/gda-meta-store.h
@@ -69,22 +69,39 @@ typedef struct {
* value = a GValue pointer */
} GdaMetaStoreChange;
+
+/* Pointer type for GdaMetaContext (not a boxed type!) */
+#define GDA_TYPE_META_CONTEXT (_gda_meta_context_get_type())
+
/**
* GdaMetaContext:
* @table_name: the name of the table <emphasis>in the GdaMetaStore's internal database</emphasis>
* @size: the size of the @column_names and @column_values arrays
* @column_names: (array length=size): an array of column names (columns of the @table_name table)
* @column_values: (array length=size): an array of values, one for each column named in @column_names
+ * @columns: (element-type utf8 GLib.GValue): A #GHashTable storing columns' name as key and #GValue as column's
+ * value.
*
* 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().
+ *
+ * To create a new #GdaMetaContext use #gda_meta_context_new.
+ *
+ * To add a new column/value pair use #gda_meta_context_add_column.
+ *
+ * To free a #GdaMetaContext, created by #gda_meta_context_new, use #gda_attributes_manager_free.
+ *
+ * Since 5.2, you must consider this struct as opaque. Any access to its internal must use public API.
+ * Don't try to use #gda_meta_context_free on a struct that was created manually.
*/
typedef struct {
gchar *table_name;
gint size;
gchar **column_names;
GValue **column_values;
+ /* Added since 5.2 */
+ GHashTable *columns;
} GdaMetaContext;
/* struct for the object's data */
@@ -184,6 +201,15 @@ gboolean gda_meta_store_undeclare_foreign_key (GdaMetaStore *store,
const gchar *ref_catalog, const gchar *ref_schema, const gchar *ref_table,
GError **error);
+GType _gda_meta_context_get_type (void) G_GNUC_CONST;
+GdaMetaContext* gda_meta_context_new (const gchar* table_name);
+void gda_meta_context_set_table (GdaMetaContext *ctx, const gchar *table);
+const gchar* gda_meta_context_get_table (GdaMetaContext *ctx);
+void gda_meta_context_add_column (GdaMetaContext *ctx, const gchar* column,
+ const GValue* value);
+void gda_meta_context_set_columns (GdaMetaContext *ctx, GHashTable *columns);
+void gda_meta_context_free (GdaMetaContext *ctx);
+
G_END_DECLS
#endif
diff --git a/libgda/gda-types.c b/libgda/gda-types.c
index 66c2fe7..97f28dd 100644
--- a/libgda/gda-types.c
+++ b/libgda/gda-types.c
@@ -36,18 +36,4 @@ _gda_slist_get_type (void)
return type;
}
-GType
-_gda_meta_context_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0)) {
- static GStaticMutex registering = G_STATIC_MUTEX_INIT;
- g_static_mutex_lock (®istering);
- if (type == 0)
- type = g_pointer_type_register_static ("GdaMetaContext");
- g_static_mutex_unlock (®istering);
- }
- return type;
-}
diff --git a/libgda/gda-types.h b/libgda/gda-types.h
index da34e47..5be9278 100644
--- a/libgda/gda-types.h
+++ b/libgda/gda-types.h
@@ -37,11 +37,6 @@ G_BEGIN_DECLS
typedef GSList GdaSList;
GType _gda_slist_get_type (void) G_GNUC_CONST;
-/* Pointer type for GdaMetaContext (not a boxed type!) */
-#define GDA_TYPE_META_CONTEXT (_gda_meta_context_get_type())
-GType _gda_meta_context_get_type (void) G_GNUC_CONST;
-
-
G_END_DECLS
#endif
diff --git a/libgda/libgda-5.0.vapi b/libgda/libgda-5.0.vapi
index 7a0bbbf..80fc32b 100644
--- a/libgda/libgda-5.0.vapi
+++ b/libgda/libgda-5.0.vapi
@@ -332,8 +332,8 @@ namespace Gda {
}
[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 ();
+ [CCode (has_construct_function = false, type = "GObject*")]
+ public DataProxy (Gda.DataModel model);
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;
@@ -356,7 +356,6 @@ namespace Gda {
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);
@@ -598,6 +597,7 @@ namespace Gda {
public Gda.Connection cnc { owned get; construct; }
public string cnc_string { construct; }
public string schema { construct; }
+ public signal void meta_changed (GLib.SList<Gda.MetaStoreChange> changes);
public virtual signal void meta_reset ();
}
[CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_meta_struct_get_type ()")]
@@ -619,14 +619,6 @@ namespace Gda {
[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 {
@@ -653,6 +645,7 @@ namespace Gda {
[CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_pstmt_get_type ()")]
public abstract class PStmt : GLib.Object {
public int ncols;
+ public weak GLib.SList<string> param_ids;
public weak string sql;
public GLib.Type types;
[CCode (has_construct_function = false)]
@@ -1277,6 +1270,10 @@ namespace Gda {
public weak string[] column_names;
[CCode (array_length_cname = "size")]
public weak GLib.Value[] column_values;
+ public void add_column (string column, GLib.Value value);
+ public void free ();
+ public unowned string get_table ();
+ public void set_table (string table);
}
[CCode (cheader_filename = "libgda/libgda.h")]
public struct MetaDbObject {
@@ -2073,55 +2070,5 @@ namespace Gda {
[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 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);
}
diff --git a/libgda/libgda.symbols b/libgda/libgda.symbols
index 0b4b2eb..adba3d6 100644
--- a/libgda/libgda.symbols
+++ b/libgda/libgda.symbols
@@ -437,6 +437,12 @@
gda_log_error
gda_log_is_enabled
gda_log_message
+ gda_meta_context_new
+ gda_meta_context_set_table
+ gda_meta_context_get_table
+ gda_meta_context_add_column
+ gda_meta_context_set_columns
+ gda_meta_context_free
gda_meta_db_object_type_get_type
gda_meta_graph_info_get_type
gda_meta_sort_type_get_type
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]