[gom] gom: Add support for short and long integers



commit 24abe21bb4d814f893fc68f46d3cb763a2bcf905
Author: Bastien Nocera <hadess hadess net>
Date:   Mon Jun 16 12:19:07 2014 +0200

    gom: Add support for short and long integers
    
    schar/uchar for guint8 and glong/gulong

 gom/gom-command-builder.c |    4 ++++
 gom/gom-command.c         |   12 ++++++++++++
 2 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/gom/gom-command-builder.c b/gom/gom-command-builder.c
index 7c839a2..20bbfe9 100644
--- a/gom/gom-command-builder.c
+++ b/gom/gom-command-builder.c
@@ -59,10 +59,14 @@ sql_type_for_column (GParamSpec *pspec)
    GType parent_type;
 
    switch (pspec->value_type) {
+   case G_TYPE_CHAR:
    case G_TYPE_INT:
    case G_TYPE_INT64:
+   case G_TYPE_LONG:
+   case G_TYPE_UCHAR:
    case G_TYPE_UINT:
    case G_TYPE_UINT64:
+   case G_TYPE_ULONG:
    case G_TYPE_BOOLEAN:
       return "INTEGER";
    case G_TYPE_STRING:
diff --git a/gom/gom-command.c b/gom/gom-command.c
index 0047bf8..ba65d5c 100644
--- a/gom/gom-command.c
+++ b/gom/gom-command.c
@@ -69,18 +69,30 @@ gom_command_bind_param (GomCommand   *command,
    case G_TYPE_FLOAT:
       sqlite3_bind_double(priv->stmt, param, g_value_get_float(value));
       break;
+   case G_TYPE_CHAR:
+      sqlite3_bind_int(priv->stmt, param, g_value_get_schar(value));
+      break;
    case G_TYPE_INT:
       sqlite3_bind_int(priv->stmt, param, g_value_get_int(value));
       break;
    case G_TYPE_INT64:
       sqlite3_bind_int64(priv->stmt, param, g_value_get_int64(value));
       break;
+   case G_TYPE_LONG:
+      sqlite3_bind_int64(priv->stmt, param, g_value_get_long(value));
+      break;
+   case G_TYPE_UCHAR:
+      sqlite3_bind_int(priv->stmt, param, g_value_get_uchar(value));
+      break;
    case G_TYPE_UINT:
       sqlite3_bind_int(priv->stmt, param, g_value_get_uint(value));
       break;
    case G_TYPE_UINT64:
       sqlite3_bind_int64(priv->stmt, param, g_value_get_uint64(value));
       break;
+   case G_TYPE_ULONG:
+      sqlite3_bind_int64(priv->stmt, param, g_value_get_ulong(value));
+      break;
    case G_TYPE_ENUM:
       sqlite3_bind_int(priv->stmt, param, g_value_get_enum(value));
       break;


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