New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
set autoddl off and sequence of: ( create view V as select * from T; alter view V as select 1 x from rdb$database; drop view V; ) leads to server crash [CORE5107] #5391
Comments
Modified by: @pavel-zotovAttachment: gdb-crash-when-create_alter_drop_view-within-single-tx.zip [ 12900 ] |
Commented by: @pavel-zotov It's interesting that if some other object does exist in DB and it depends on view V_TEST (which is to be deleted) then, of course, view V_TEST can not be dropped, no crash occurs, but message about the reason why drop denied looks strange: "table V_TEST is not defined". Example (we add two objects that depends on V_TEST: another view (v_test2) and procedure, then we attempt to drop V_TEST): === create view v_test2 as select * from v_test; set term ^; alter view v_test as select 1 id from rdb$database; set count on; -- Let us check that object V_TEST: select * from rdb$relations where rdb$relation_name=upper('v_test'); RDB$VIEW_BLR 6:1ed Records affected: 1 --drop view v_test2; drop view v_test;
|
Modified by: @dyemanovassignee: Adriano dos Santos Fernandes [ asfernandes ] |
Modified by: @asfernandesstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 3.0 RC2 [ 10048 ] |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Resolved [ 5 ] QA Status: No test => Done successfully |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Closed [ 6 ] |
Submitted by: @pavel-zotov
Attachments:
gdb-crash-when-create_alter_drop_view-within-single-tx.zip
Create file with following statements:
$ /opt/fb30ss/bin/isql -q -i ./create-alter-drop-view-when-autoddl-off.sql
set autoddl off;
commit;
recreate table test(id int, x int);
create view v_test as select * from test;
alter view v_test as select 1 id from rdb$database;
drop view v_test;
commit;
Run it: $ /opt/fb30ss/bin/isql -q -i ./create-alter-drop-view-when-autoddl-off.sql
Output:
Statement failed, SQLSTATE = 08006
Error reading data from the connection.
After line 9 in file ./create-alter-drop-view-when-autoddl-off.sql
Statement failed, SQLSTATE = 08006
Error writing data to the connection.
After line 10 in file ./create-alter-drop-view-when-autoddl-off.sql
PS. LI-V3.0.0.32328, SuperServer; no such crash on FB 2.5; stacktrace see in attached zip.
Commits: 05dc362 FirebirdSQL/fbt-repository@d409126
The text was updated successfully, but these errors were encountered: