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
Using system domain in procedures arguments/returns cause the proc to be unchangeable [CORE4018] #4349
Comments
Commented by: Sean Leyne (seanleyne) A system domain should not be used by "user" structures, they are only intended for use for/by system structures. The definition of the domain could be changed in a later ODS update. A comparable/synonym user domain should be created. |
Commented by: rudi feijo (rudibr) Hello Sean, I understand this is not a valid operation. But what should be done if this happens to occur? Sorry if this is the wrong channel to ask, but is there a workaround I could use to delete the procedure? This error led one of our databases to become unusable. The procedure was created , cant be modifed or deleted, and is using characters not supported by the client's connection charset (which cannot be changed). This causes any connection to be refused by that client. (cannot transliterate). |
Commented by: Sean Leyne (seanleyne) 1 - I might try to delete the appropriate entries from the RDB$ tables (after making a backup of the db ;-]), or |
Commented by: rudi feijo (rudibr) Thanks for the feedback. I seem to have worked around it, even tough it seems like risky business, I will post it since I opened the ticket and I saw this same problem being posted a few years ago. 1. backed up db Just for the record, I never have messed with system objects before, nor do I plan to in the future, or would advise anyone to do it too :p. |
Commented by: Sean Leyne (seanleyne) Rudi, Re #5, I am not aware of any "auto-delete" feature for domain, so I am surprised that it "disappeared" Does this mean that the case can be closed, or is there an issue which should still be address (i.e. should not be able to create user SPs which use system domains?) |
Commented by: @asfernandes The problem is not present in trunk. I believe it was fixed in the DDL refactor, but may be something else. |
Modified by: @asfernandesstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 3.0 Alpha 1 [ 10331 ] assignee: Adriano dos Santos Fernandes [ asfernandes ] |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Closed [ 6 ] |
Submitted by: rudi feijo (rudibr)
Is related to QA581
create a procedure using a system domain.
create or alter procedure CANT_DEL_OR_CHANGE
returns (info RDB$SOURCE)
as
begin
/* Procedure Text */
suspend;
end
the procedure becomes undeletable / unchangeable.
As you try to change or delete the proc, an exception is raised saying "domain cant be deleted, it contains n dependencies"
Commits: FirebirdSQL/fbt-repository@fc6cef3
The text was updated successfully, but these errors were encountered: