[libgda/libgda-vala] GdaSqlExpression Last modifications. Saved just for future reference before delete.
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda/libgda-vala] GdaSqlExpression Last modifications. Saved just for future reference before delete.
- Date: Fri, 17 May 2013 02:34:39 +0000 (UTC)
commit 20af64b73865d87d8a2645908ef4baa070284250
Author: Daniel Espinosa <esodan gmail com>
Date: Thu May 16 07:57:19 2013 -0500
GdaSqlExpression Last modifications. Saved just for future reference before delete.
libgda/gda-sql-expression.c | 150 +++++++++++++++++++++++++++++++++++--------
libgda/gda-sql-expression.h | 8 ++-
2 files changed, 129 insertions(+), 29 deletions(-)
---
diff --git a/libgda/gda-sql-expression.c b/libgda/gda-sql-expression.c
index fc9e4c3..11921eb 100644
--- a/libgda/gda-sql-expression.c
+++ b/libgda/gda-sql-expression.c
@@ -28,7 +28,7 @@ struct _GdaSqlExpressionPrivate
{
GdaSqlBuilder *builder;
GdaSqlBuilderId id;
- GdaSqlExpressionType type;
+ GdaSqlExpressionType expr_type;
};
/* properties */
@@ -51,7 +51,7 @@ gda_sql_expression_init (GdaSqlExpression *self)
self->priv = priv = GDA_SQL_EXPRESSION_GET_PRIVATE (self);
priv->builder = gda_sql_builder_new (GDA_SQL_STATEMENT_SELECT);
- priv->type = GDA_SQL_EXPRESSION_TYPE_VALUE;
+ priv->expr_type = GDA_SQL_EXPRESSION_TYPE_VALUE;
}
/**
@@ -64,19 +64,32 @@ gda_sql_expression_init (GdaSqlExpression *self)
*/
GdaSqlExpression *
gda_sql_expression_new (GdaSqlExpressionType type)
-{}
+{
+ GdaSqlExpression *obj;
+ GdaSqlExpressionPrivate *priv;
+ obj = GDA_SQL_EXPRESSION (g_object_new (GDA_TYPE_SQL_EXPRESSION, NULL));
+ priv = GDA_SQL_EXPRESSION_GET_PRIVATE (obj);
+ priv->expr_type = type;
+ return obj;
+}
/**
* gda_sql_expression_new_from_string:
+ * @etype: a #GdaSqlExpressionType
* @str: a string describing an expression
+ * @cnc: a #GdaConnection
*
* Since: 5.2
*
* Returns: (transfer-full): a new #GdaSqlExpression object
*/
GdaSqlExpression*
-gda_sql_expression_new_from_string (const gchar* str)
-{}
+gda_sql_expression_new_from_string (GdaSqlExpressionType etype,
+ const gchar *str,
+ GdaConnection *cnc)
+{
+ return NULL;
+}
/**
* gda_sql_expression_to_string:
@@ -88,7 +101,9 @@ gda_sql_expression_new_from_string (const gchar* str)
*/
gchar*
gda_sql_expression_to_string (GdaSqlExpression *expr)
-{}
+{
+ return g_strdup ("GdaSqlExpression");
+}
/**
* gda_sql_expression_check_clean:
@@ -115,7 +130,14 @@ gda_sql_expression_check_clean (GdaSqlExpression *expr)
void
gda_sql_expression_set_value (GdaSqlExpression *expr,
const GValue *val)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_VALUE);
+
+ GdaDataHandler *dh = gda_data_handler_get_default (G_VALUE_TYPE (val));
+ priv->expr_id = gda_sql_builder_add_expr_value (priv->builder, dh, val);
+}
/**
* gda_sql_expression_get_value:
@@ -123,18 +145,30 @@ gda_sql_expression_set_value (GdaSqlExpression *expr,
*
* Since: 5.2
*
- * Returns: (transfer-none): the #GValue used as an expresion
+ * Returns: (transfer-full): the #GValue used as an expresion
*/
-const GValue*
+GValue*
gda_sql_expression_get_value (GdaSqlExpression *expr)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_VALUE);
+
+ GdaSqlExpr *e = gda_sql_builder_export_expression (priv->builder, priv->expr_id);
+ if (e) {
+ GValue *v = gda_value_copy (e->value_expr);
+ gda_sql_expr_free (e);
+ return v;
+ }
+ return NULL;
+}
/**
* gda_sql_expression_set_variable_pspec:
* @expr: a #GdaSqlExpression
* @spec: a #GdaSqlParamSpec
*
- * To be used by a #GdaSqlExpression of type #GDA_SQL_EXPRESSION_TYPE_VALUE.
+ * To be used by a #GdaSqlExpression of type #GDA_SQL_EXPRESSION_TYPE_VARIABLE.
*
* Since: 5.2
*
@@ -142,7 +176,12 @@ gda_sql_expression_get_value (GdaSqlExpression *expr)
void
gda_sql_expression_set_variable_pspec (GdaSqlExpression *expr,
const GdaSqlParamSpec *spec)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_VARIABLE);
+
+}
/**
* gda_sql_expression_get_variable_pspec:
@@ -156,7 +195,11 @@ gda_sql_expression_set_variable_pspec (GdaSqlExpression *expr,
*/
GdaSqlParamSpec*
gda_sql_expression_get_variable_pspec (GdaSqlExpression *expr)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_VARIABLE);
+}
/**
* gda_sql_expression_set_function_name:
@@ -169,7 +212,11 @@ gda_sql_expression_get_variable_pspec (GdaSqlExpression *expr)
void
gda_sql_expression_set_function_name (GdaSqlExpression *expr,
const gchar *name)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_FUNCTION);
+}
/**
* gda_sql_expression_set_function_args:
@@ -182,7 +229,11 @@ gda_sql_expression_set_function_name (GdaSqlExpression *expr,
void
gda_sql_expression_set_function_args (GdaSqlExpression *expr,
const GSList *args)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_FUNCTION);
+}
/**
* gda_sql_expression_set_operator_type:
@@ -198,7 +249,11 @@ gda_sql_expression_set_function_args (GdaSqlExpression *expr,
void
gda_sql_expression_set_operator_type (GdaSqlExpression *expr,
GdaSqlOperatorType optype)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_CONDITION);
+}
/**
* gda_sql_expression_set_operator_operands:
@@ -206,13 +261,20 @@ gda_sql_expression_set_operator_type (GdaSqlExpression *expr,
* @operands: (element-type Gda.SqlExpression): a lists of #GdaSqlExpression
* expresions
*
+ * Sets operator's operands of a #GdaSqlExpression of type
+ * #GDA_SQL_EXPRESSION_TYPE_CONDITION.
+ *
* Since: 5.2
*
*/
void
gda_sql_expression_set_operator_operands (GdaSqlExpression *expr,
const GSList *operands)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_CONDITION);
+}
/**
* gda_sql_expression_set_select:
@@ -225,7 +287,11 @@ gda_sql_expression_set_operator_operands (GdaSqlExpression *expr,
void
gda_sql_expression_set_select (GdaSqlExpression *expr,
GdaStatement *select)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_SELECT);
+}
/**
* gda_sql_expression_get_select:
@@ -237,7 +303,11 @@ gda_sql_expression_set_select (GdaSqlExpression *expr,
*/
GdaStatement*
gda_sql_expression_get_select (GdaSqlExpression *expr)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_SELECT);
+}
/**
* gda_sql_expression_set_compound:
@@ -253,7 +323,11 @@ gda_sql_expression_get_select (GdaSqlExpression *expr)
void
gda_sql_expression_set_compound (GdaSqlExpression *expr,
GdaStatement *compound)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_COMPOUND);
+}
/**
* gda_sql_expression_get_compound:
@@ -268,7 +342,11 @@ gda_sql_expression_set_compound (GdaSqlExpression *expr,
*/
GdaStatement*
gda_sql_expression_get_compound (GdaSqlExpression *expr)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_COMPOUND);
+}
/**
* gda_sql_expression_set_case_expr:
@@ -284,7 +362,11 @@ gda_sql_expression_get_compound (GdaSqlExpression *expr)
void
gda_sql_expression_set_case_expr (GdaSqlExpression *expr,
GdaSqlExpression *case_expr)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_CASE);
+}
/**
* gda_sql_expression_set_case_when:
@@ -300,7 +382,11 @@ gda_sql_expression_set_case_expr (GdaSqlExpression *expr,
void
gda_sql_expression_set_case_when (GdaSqlExpression *expr,
const GSList *when_exprs)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_CASE);
+}
/**
* gda_sql_expression_set_case_then:
@@ -316,7 +402,11 @@ gda_sql_expression_set_case_when (GdaSqlExpression *expr,
void
gda_sql_expression_set_case_then (GdaSqlExpression *expr,
const GSList *then_exprs)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_CASE);
+}
/**
* gda_sql_expression_set_case_else:
@@ -332,7 +422,11 @@ gda_sql_expression_set_case_then (GdaSqlExpression *expr,
void
gda_sql_expression_set_case_else (GdaSqlExpression *expr,
const GSList *else_exprs)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_CASE);
+}
/**
* gda_sql_expression_set_cast_as:
@@ -345,4 +439,8 @@ gda_sql_expression_set_case_else (GdaSqlExpression *expr,
void
gda_sql_expression_set_cast_as (GdaSqlExpression *expr,
GType cast_as)
-{}
+{
+ g_return_if_fail (GDA_IS_SQL_EXPRESSION (expr));
+ GdaSqlExpressionPrivate *priv = GDA_SQL_EXPRESSION_GET_PRIVATE (expr);
+ g_return_if_fail (priv->expr_type == GDA_SQL_EXPRESSION_TYPE_CAST_AS);
+}
diff --git a/libgda/gda-sql-expression.h b/libgda/gda-sql-expression.h
index 911fbb6..6215413 100644
--- a/libgda/gda-sql-expression.h
+++ b/libgda/gda-sql-expression.h
@@ -70,14 +70,16 @@ struct _GdaSqlExpressionClass
/* used by GDA_TYPE_SQL_EXPRESSION */
GType gda_sql_expression_get_type (void);
-GdaSqlExpression *gda_sql_expression_new (GdaSqlExpressionType type);
-GdaSqlExpression *gda_sql_expression_new_from_string (const gchar* str);
+GdaSqlExpression *gda_sql_expression_new (GdaSqlExpressionType etype);
+GdaSqlExpression *gda_sql_expression_new_from_string (GdaSqlExpressionType etype,
+ const gchar* str,
+ GdaConnection *cnc);
gchar *gda_sql_expression_to_string (GdaSqlExpression *expr);
void gda_sql_expression_check_clean (GdaSqlExpression *expr);
void gda_sql_expression_set_value (GdaSqlExpression *expr,
const GValue *val);
-const GValue *gda_sql_expression_get_value (GdaSqlExpression *expr);
+GValue *gda_sql_expression_get_value (GdaSqlExpression *expr);
void gda_sql_expression_set_variable_pspec (GdaSqlExpression *expr,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]