From: Andrea Zagli Date: Tue, 30 Aug 2011 07:16:20 +0000 (+0200) Subject: Added function GdaEx::data_model_columns_to_hashtable. X-Git-Tag: 0.5.0~24^2~4 X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=e9d1e2b67232c70bd74047d203706032279afd2b;p=libgdaex Added function GdaEx::data_model_columns_to_hashtable. --- diff --git a/src/gdaex.c b/src/gdaex.c index 7f1bce6..eda3307 100644 --- a/src/gdaex.c +++ b/src/gdaex.c @@ -2128,6 +2128,42 @@ struct tm return ret; } +/** + * gdaex_data_model_columns_to_hashtable: + * @dm: a #GdaDataModel object. + * + * Returns: a #GHashTable with keys as the columns names from @dm, + * and values as columns numbers. + */ +GHashTable +*gdaex_data_model_columns_to_hashtable (GdaDataModel *dm) +{ + GHashTable *ret; + + guint cols; + guint col; + + g_return_val_if_fail (GDA_IS_DATA_MODEL (dm), NULL); + + ret = NULL; + + cols = gda_data_model_get_n_columns (dm); + + if (cols > 0) + { + ret = g_hash_table_new (g_str_hash, g_str_equal); + + for (col = 0; col < cols; col++) + { + g_hash_table_insert (ret, + g_strdup (gda_data_model_get_column_name (dm, col)), + g_strdup_printf ("%d", col)); + } + } + + return ret; +} + /** * gdaex_begin: * @gdaex: a #GdaEx object. diff --git a/src/gdaex.h b/src/gdaex.h index 909faf6..8b8cff5 100644 --- a/src/gdaex.h +++ b/src/gdaex.h @@ -173,6 +173,8 @@ GDateTime *gdaex_data_model_iter_get_value_gdatetime_at (GdaDataModelIter *iter, struct tm *gdaex_data_model_iter_get_value_tm_at (GdaDataModelIter *iter, gint col); +GHashTable *gdaex_data_model_columns_to_hashtable (GdaDataModel *dm); + gboolean gdaex_begin (GdaEx *gdaex); gint gdaex_execute (GdaEx *gdaex, const gchar *sql);