Subject | Left joining SP seems inconsistent |
---|---|
Author | kimon_the_athenian2 |
Post date | 2006-03-23T09:32:30Z |
Hi!
When i left join a stored procedure to a table with false join
condition, then sometimes the SP is executed and sometimes it's not,
depending on if it's the first or second SP to be left joined.
I wonder if it's a feature or bug.
Database is FB 1.5.3
Example:
CREATE PROCEDURE DUMMY_PROC (
CRASH INTEGER)
RETURNS (
DUMMY INTEGER)
AS
begin
if (crash <> 0) then
begin
exception testing_exception 'proc got executed';
end
dummy = 1;
suspend;
end
Usage:
This one doesn't crash:
select
1 as one,
dp1.dummy as proc1_dummy,
dp2.dummy as proc2_dummy
from rdb$database db
left join dummy_proc (1) dp1 on 1=2
left join dummy_proc (0) dp2 on 1=2
This one does (two last lines switched):
select
1 as one,
dp1.dummy as proc1_dummy,
dp2.dummy as proc2_dummy
from rdb$database db
left join dummy_proc (0) dp2 on 1=2
left join dummy_proc (1) dp1 on 1=2
I'd like to know if this behaviour is intended or not.
Greetings,
Aivar
When i left join a stored procedure to a table with false join
condition, then sometimes the SP is executed and sometimes it's not,
depending on if it's the first or second SP to be left joined.
I wonder if it's a feature or bug.
Database is FB 1.5.3
Example:
CREATE PROCEDURE DUMMY_PROC (
CRASH INTEGER)
RETURNS (
DUMMY INTEGER)
AS
begin
if (crash <> 0) then
begin
exception testing_exception 'proc got executed';
end
dummy = 1;
suspend;
end
Usage:
This one doesn't crash:
select
1 as one,
dp1.dummy as proc1_dummy,
dp2.dummy as proc2_dummy
from rdb$database db
left join dummy_proc (1) dp1 on 1=2
left join dummy_proc (0) dp2 on 1=2
This one does (two last lines switched):
select
1 as one,
dp1.dummy as proc1_dummy,
dp2.dummy as proc2_dummy
from rdb$database db
left join dummy_proc (0) dp2 on 1=2
left join dummy_proc (1) dp1 on 1=2
I'd like to know if this behaviour is intended or not.
Greetings,
Aivar