[libgda/tmp] Added GdaDataHandler for time related types in MySQL's provider



commit 957b026a894153899868beb631a739adfe9cafd1
Author: Vivien Malerba <malerba gnome-db org>
Date:   Sat Feb 6 21:16:39 2010 +0100

    Added GdaDataHandler for time related types in MySQL's provider

 providers/mysql/gda-mysql-provider.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/providers/mysql/gda-mysql-provider.c b/providers/mysql/gda-mysql-provider.c
index a185206..d85a231 100644
--- a/providers/mysql/gda-mysql-provider.c
+++ b/providers/mysql/gda-mysql-provider.c
@@ -1278,8 +1278,16 @@ gda_mysql_provider_get_data_handler (GdaServerProvider  *provider,
 	else if ((type == GDA_TYPE_TIME) ||
 		 (type == GDA_TYPE_TIMESTAMP) ||
 		 (type == G_TYPE_DATE)) {
-		TO_IMPLEMENT; /* define data handlers for these types */
-		dh = NULL;
+		dh = gda_server_provider_handler_find (provider, NULL, type, NULL);
+                if (!dh) {
+                        dh = gda_handler_time_new ();
+                        gda_handler_time_set_sql_spec ((GdaHandlerTime *) dh, G_DATE_YEAR,
+                                                       G_DATE_MONTH, G_DATE_DAY, '-', FALSE);
+                        gda_server_provider_handler_declare (provider, dh, NULL, G_TYPE_DATE, NULL);
+                        gda_server_provider_handler_declare (provider, dh, NULL, GDA_TYPE_TIME, NULL);
+                        gda_server_provider_handler_declare (provider, dh, NULL, GDA_TYPE_TIMESTAMP, NULL);
+                        g_object_unref (dh);
+                }
 	}
 	else if (type == G_TYPE_BOOLEAN){
 		dh = gda_server_provider_handler_find (provider, cnc, type, NULL);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]