[libgda/LIBGDA_4.0] Fixed SQLite provider's rendering of SELECT statements



commit 875f4da4b369693d2354016e90227d4e7f3d2074
Author: Vivien Malerba <malerba gnome-db org>
Date:   Thu Jun 4 20:46:03 2009 +0200

    Fixed SQLite provider's rendering of SELECT statements
    
    when a COMPOUND statement is used as the FROM part of another statement
---
 ChangeLog                           |    2 ++
 libgda/sqlite/gda-sqlite-provider.c |    5 ++++-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0b5f186..beb461f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@
 	  - when adding ROWID columns in a SELECT statement, make sure to also
 	    modify ORDER BY clauses if necessary
 	  - don't add ROWID clauses if there is a DISTINCT clause
+	  - fixed rendering of SELECT statements when a COMPOUND statement is used
+	    as the FROM part of another statement
 
 2009-04-19  Vivien Malerba <malerba gnome-db org>
 
diff --git a/libgda/sqlite/gda-sqlite-provider.c b/libgda/sqlite/gda-sqlite-provider.c
index 689d3f0..d24cd08 100644
--- a/libgda/sqlite/gda-sqlite-provider.c
+++ b/libgda/sqlite/gda-sqlite-provider.c
@@ -1517,7 +1517,10 @@ sqlite_render_expr (GdaSqlExpr *expr, GdaSqlRenderingContext *context,
 	}
 	else if (expr->select) {
 		gchar *str1;
-		str1 = context->render_select (GDA_SQL_ANY_PART (expr->select), context, error);
+		if (GDA_SQL_ANY_PART (expr->select)->type == GDA_SQL_ANY_STMT_SELECT)
+			str1 = context->render_select (GDA_SQL_ANY_PART (expr->select), context, error);
+		else
+			str1 = context->render_compound (GDA_SQL_ANY_PART (expr->select), context, error);
 		if (!str1) goto err;
 		str = g_strdup_printf ("(%s)", str1);
 		g_free (str1);



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