From fc8ee90a696bf99b804107909b0628b44337d38e Mon Sep 17 00:00:00 2001
From: Andrea Zagli <azagli@libero.it>
Date: Wed, 2 Oct 2019 15:53:00 +0200
Subject: [PATCH] Added function GdaExSqlBuilder::where_float.

---
 src/sqlbuilder.c   | 30 ++++++++++++++++++++++++++++++
 src/sqlbuilder.h   |  7 +++++++
 tests/sqlbuilder.c |  5 +++++
 3 files changed, 42 insertions(+)

diff --git a/src/sqlbuilder.c b/src/sqlbuilder.c
index a8416ff..d86dd07 100644
--- a/src/sqlbuilder.c
+++ b/src/sqlbuilder.c
@@ -620,6 +620,36 @@ gdaex_sql_builder_where_int (GdaExSqlBuilder *sqlb, GdaSqlOperatorType op,
 	return id;
 }
 
+GdaSqlBuilderId
+gdaex_sql_builder_where_float (GdaExSqlBuilder *sqlb, GdaSqlOperatorType op,
+                               const gchar *table_name,
+                               const gchar *field_name,
+                               const gchar *field_alias,
+                               GdaSqlOperatorType where_op,
+                               gfloat op1,
+                               gfloat op2)
+{
+	GValue *val1;
+	GValue *val2;
+
+	GdaSqlBuilderId id;
+
+	val1 = g_new0 (GValue, 1);
+	g_value_init (val1, G_TYPE_FLOAT);
+	g_value_set_float (val1, op1);
+
+	val2 = g_new0 (GValue, 1);
+	g_value_init (val2, G_TYPE_FLOAT);
+	g_value_set_float (val2, op2);
+
+	id = gdaex_sql_builder_where (sqlb, op, table_name, field_name, field_alias, where_op, val1, val2, NULL);
+
+	g_value_unset (val1);
+	g_value_unset (val2);
+
+	return id;
+}
+
 GdaSqlBuilderId
 gdaex_sql_builder_where_string (GdaExSqlBuilder *sqlb, GdaSqlOperatorType op,
                                 const gchar *table_name,
diff --git a/src/sqlbuilder.h b/src/sqlbuilder.h
index f355172..4866121 100644
--- a/src/sqlbuilder.h
+++ b/src/sqlbuilder.h
@@ -84,6 +84,13 @@ GdaSqlBuilderId gdaex_sql_builder_where_int (GdaExSqlBuilder *sqlb, GdaSqlOperat
                                              GdaSqlOperatorType where_op,
                                              gint op1,
                                              gint op2);
+GdaSqlBuilderId gdaex_sql_builder_where_float (GdaExSqlBuilder *sqlb, GdaSqlOperatorType op,
+                                               const gchar *table_name,
+                                               const gchar *field_name,
+                                               const gchar *field_alias,
+                                               GdaSqlOperatorType where_op,
+                                               gfloat op1,
+                                               gfloat op2);
 GdaSqlBuilderId gdaex_sql_builder_where_string (GdaExSqlBuilder *sqlb, GdaSqlOperatorType op,
                                                 const gchar *table_name,
                                                 const gchar *field_name,
diff --git a/tests/sqlbuilder.c b/tests/sqlbuilder.c
index 571261c..d4cc1c2 100644
--- a/tests/sqlbuilder.c
+++ b/tests/sqlbuilder.c
@@ -192,6 +192,11 @@ main (int argc, char **argv)
 	                                 GDA_SQL_OPERATOR_TYPE_EQ,
 	                                 TRUE, FALSE);
 
+	gdaex_sql_builder_where_float (sqlb, 0,
+	                               "pippo", "income", "",
+	                               GDA_SQL_OPERATOR_TYPE_GEQ,
+	                               823.44, 0.0);
+
 	g_message ("sql: %s", gdaex_sql_builder_get_sql (sqlb, NULL, NULL));
 
 	g_object_unref (sqlb);
-- 
2.49.0