I am using flamerobin-26.5.21.deb.
I have a simple inner join select that works on isql, but not on FlameRobin.
This select also works on FlameRobin without Count(), Sum() and Group By:
Starting transaction...
Preparing statement:
Select
--T.aaa,
--C.bbb,
Count(T.ccc) as bigint_value,
Sum(T.dddd) as numeric_value
From Table1 T
Inner Join Table2 C
on C.eee = T.eee and C.fff = T.fff
Statement prepared (elapsed time: 0.028s).
Field #1: .BIGINT_VALUE Alias:BIINT_VALUE Type:BIGINT len: 8 scale: 0
Field #2: .NUMERIC_VALUE Alias:NUMERIC_VALUE Type:NUMERIC(18,4) len: 16 scale: 4
Select Expression
-> Aggregate
-> Nested Loop Join (inner)
-> Table "PUBLIC"."TABLE2" as "C" Full Scan
-> Filter
-> Table "PUBLIC"."TABLE1" as "T" Access By ID
-> Bitmap
-> Index "PUBLIC"."FK_TABLE103" Range Scan (full match)
Parameters: 0
Executing statement...
Statement executed (elapsed time: 0.005s).
***** Fatal Error message here! *****
I am trying to simulate it using emplyee.fdb without success:
ALTER TABLE COUNTRY ADD MONEY NUMERIC(18,4);
COMMIT;
UPDATE COUNTRY SET MONEY = 123456789.12;
COMMIT;
ALTER TABLE DEPARTMENT ADD MONEY NUMERIC(18,4);
COMMIT;
UPDATE DEPARTMENT SET MONEY = 1234567.89;
COMMIT;
Starting transaction...
Preparing statement:
Select
E.FIRST_NAME,
C.Country,
D.Department,
Sum(C.Money) as Money_C,
Sum(D.Money) as Money_D,
Sum(E.Salary) as Salary,
Sum(D.Budget) as Budget
From Employee E
Inner Join Country C
on C.COUNTRY = E.JOB_COUNTRY
Inner Join Department D
on D.DEPT_NO = E.DEPT_NO
-- Where Country = 'USA'
Group By 1, 2, 3
Order By 1, 2, 3;
Statement prepared (elapsed time: 0.004s).
Field #1: EMPLOYEE.FIRST_NAME Alias:FIRST_NAME Type:STRING(15) len: 15 scale: 0
Field #2: COUNTRY.COUNTRY Alias:COUNTRY Type:STRING(15) len: 15 scale: 0
Field #3: DEPARTMENT.DEPARTMENT Alias:DEPARTMENT Type:STRING(25) len: 25 scale: 0
Field #4: .MONEY_C Alias:MONEY_C Type:NUMERIC(18,4) len: 16 scale: 4
Field #5: .MONEY_D Alias:MONEY_D Type:NUMERIC(18,4) len: 16 scale: 4
Field #6: .SALARY Alias:SALARY Type:NUMERIC(18,2) len: 16 scale: 2
Field #7: .BUDGET Alias:BUDGET Type:NUMERIC(18,2) len: 16 scale: 2
Select Expression
-> Aggregate
-> Sort (record length: 210, key length: 80)
-> Filter
-> Hash Join (inner) (keys: 1, total key length: 3)
-> Hash Join (inner) (keys: 1, total key length: 15)
-> Table "PUBLIC"."EMPLOYEE" as "E" Full Scan
-> Record Buffer (record length: 49)
-> Table "PUBLIC"."COUNTRY" as "C" Full Scan
-> Record Buffer (record length: 73)
-> Table "PUBLIC"."DEPARTMENT" as "D" Full Scan
Parameters: 0
Executing statement...
Statement executed (elapsed time: 0.000s).
0 fetches, 0 marks, 0 reads, 0 writes.
0 inserts, 0 updates, 0 deletes, 0 index, 0 seq.
Delta memory: 0 bytes.
Total execution time: 0.154s
The differece between employee.fdb and the real database is the number of rows.
Employee.fdb has just a few rows per table and the real database has millions.
I have also set up "/Database Preferences/Loggin/[v]Enable loggin to file", but nothing happens.
Since the last information on statistics tab is:
Statement executed (elapsed time: 0.005s).
What should I do next?
I am using flamerobin-26.5.21.deb.
I have a simple inner join select that works on isql, but not on FlameRobin.
This select also works on FlameRobin without Count(), Sum() and Group By:
Starting transaction...
Preparing statement:
Select
--T.aaa,
--C.bbb,
Count(T.ccc) as bigint_value,
Sum(T.dddd) as numeric_value
From Table1 T
Inner Join Table2 C
on C.eee = T.eee and C.fff = T.fff
Statement prepared (elapsed time: 0.028s).
Field #1: .BIGINT_VALUE Alias:BIINT_VALUE Type:BIGINT len: 8 scale: 0
Field #2: .NUMERIC_VALUE Alias:NUMERIC_VALUE Type:NUMERIC(18,4) len: 16 scale: 4
Select Expression
-> Aggregate
-> Nested Loop Join (inner)
-> Table "PUBLIC"."TABLE2" as "C" Full Scan
-> Filter
-> Table "PUBLIC"."TABLE1" as "T" Access By ID
-> Bitmap
-> Index "PUBLIC"."FK_TABLE103" Range Scan (full match)
Parameters: 0
Executing statement...
Statement executed (elapsed time: 0.005s).
***** Fatal Error message here! *****
I am trying to simulate it using emplyee.fdb without success:
ALTER TABLE COUNTRY ADD MONEY NUMERIC(18,4);
COMMIT;
UPDATE COUNTRY SET MONEY = 123456789.12;
COMMIT;
ALTER TABLE DEPARTMENT ADD MONEY NUMERIC(18,4);
COMMIT;
UPDATE DEPARTMENT SET MONEY = 1234567.89;
COMMIT;
Starting transaction...
Preparing statement:
Select
E.FIRST_NAME,
C.Country,
D.Department,
Sum(C.Money) as Money_C,
Sum(D.Money) as Money_D,
Sum(E.Salary) as Salary,
Sum(D.Budget) as Budget
From Employee E
Inner Join Country C
on C.COUNTRY = E.JOB_COUNTRY
Inner Join Department D
on D.DEPT_NO = E.DEPT_NO
-- Where Country = 'USA'
Group By 1, 2, 3
Order By 1, 2, 3;
Statement prepared (elapsed time: 0.004s).
Field #1: EMPLOYEE.FIRST_NAME Alias:FIRST_NAME Type:STRING(15) len: 15 scale: 0
Field #2: COUNTRY.COUNTRY Alias:COUNTRY Type:STRING(15) len: 15 scale: 0
Field #3: DEPARTMENT.DEPARTMENT Alias:DEPARTMENT Type:STRING(25) len: 25 scale: 0
Field #4: .MONEY_C Alias:MONEY_C Type:NUMERIC(18,4) len: 16 scale: 4
Field #5: .MONEY_D Alias:MONEY_D Type:NUMERIC(18,4) len: 16 scale: 4
Field #6: .SALARY Alias:SALARY Type:NUMERIC(18,2) len: 16 scale: 2
Field #7: .BUDGET Alias:BUDGET Type:NUMERIC(18,2) len: 16 scale: 2
Select Expression
-> Aggregate
-> Sort (record length: 210, key length: 80)
-> Filter
-> Hash Join (inner) (keys: 1, total key length: 3)
-> Hash Join (inner) (keys: 1, total key length: 15)
-> Table "PUBLIC"."EMPLOYEE" as "E" Full Scan
-> Record Buffer (record length: 49)
-> Table "PUBLIC"."COUNTRY" as "C" Full Scan
-> Record Buffer (record length: 73)
-> Table "PUBLIC"."DEPARTMENT" as "D" Full Scan
Parameters: 0
Executing statement...
Statement executed (elapsed time: 0.000s).
0 fetches, 0 marks, 0 reads, 0 writes.
0 inserts, 0 updates, 0 deletes, 0 index, 0 seq.
Delta memory: 0 bytes.
Total execution time: 0.154s
The differece between employee.fdb and the real database is the number of rows.
Employee.fdb has just a few rows per table and the real database has millions.
I have also set up "/Database Preferences/Loggin/[v]Enable loggin to file", but nothing happens.
Since the last information on statistics tab is:
Statement executed (elapsed time: 0.005s).
What should I do next?