From 720a49c89e79da59f88df4731904acc8892486db Mon Sep 17 00:00:00 2001 From: asfernandes Date: Sun, 9 Nov 2008 17:00:19 +0000 Subject: [PATCH] Fixed the others two problems of CORE-2176 --- src/jrd/cmp.cpp | 1 + src/jrd/opt.cpp | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/jrd/cmp.cpp b/src/jrd/cmp.cpp index 46c2411710..0363d2ce0a 100644 --- a/src/jrd/cmp.cpp +++ b/src/jrd/cmp.cpp @@ -5375,6 +5375,7 @@ jrd_nod* CMP_pass2(thread_db* tdbb, CompilerScratch* csb, jrd_nod* const node, j case nod_current_time: case nod_current_timestamp: case nod_current_date: + case nod_derived_expr: #ifdef SCROLLABLE_CURSORS case nod_seek: #endif diff --git a/src/jrd/opt.cpp b/src/jrd/opt.cpp index 99cc3d8ece..b12f2d70d8 100644 --- a/src/jrd/opt.cpp +++ b/src/jrd/opt.cpp @@ -2846,6 +2846,7 @@ static bool expression_possible_unknown(const jrd_nod* node) case nod_substr: case nod_trim: case nod_sys_function: + case nod_derived_expr: case nod_like: case nod_between: @@ -2858,6 +2859,7 @@ static bool expression_possible_unknown(const jrd_nod* node) case nod_gtr: case nod_lss: case nod_leq: + { const jrd_nod* const* ptr = node->nod_arg; // Check all sub-nodes of this node. @@ -3033,6 +3035,7 @@ static bool expression_contains_stream(CompilerScratch* csb, case nod_substr: case nod_trim: case nod_sys_function: + case nod_derived_expr: case nod_like: case nod_between: @@ -3050,6 +3053,7 @@ static bool expression_contains_stream(CompilerScratch* csb, case nod_gtr: case nod_lss: case nod_leq: + { const jrd_nod* const* ptr = node->nod_arg; // Check all sub-nodes of this node. @@ -5984,6 +5988,7 @@ static void get_expression_streams(const jrd_nod* node, case nod_substr: case nod_trim: case nod_sys_function: + case nod_derived_expr: case nod_like: case nod_between: @@ -6001,6 +6006,7 @@ static void get_expression_streams(const jrd_nod* node, case nod_gtr: case nod_lss: case nod_leq: + { const jrd_nod* const* ptr = node->nod_arg; // Check all sub-nodes of this node. @@ -6149,6 +6155,7 @@ static jrd_nod* get_unmapped_node(thread_db* tdbb, jrd_nod* node, case nod_substr: case nod_trim: case nod_sys_function: + case nod_derived_expr: { // Check all sub-nodes of this node. jrd_nod** ptr = node->nod_arg;