From: Andrea Zagli Date: Wed, 2 Oct 2019 13:53:00 +0000 (+0200) Subject: Added function GdaExSqlBuilder::where_float. X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=fc8ee90a696bf99b804107909b0628b44337d38e;p=libgdaex Added function GdaExSqlBuilder::where_float. --- 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);