Issue Details (XML | Word | Printable)

Key: CORE-5124
Type: New Feature New Feature
Status: Open Open
Priority: Major Major
Assignee: Alexander Peshkov
Reporter: Alexander Peshkov
Votes: 5
Watchers: 6
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Make it possible to change ownership of database objects

Created: 02/Mar/16 11:15 AM   Updated: 03/Mar/16 09:02 AM
Component/s: Engine
Affects Version/s: None
Fix Version/s: None

Target: 4.0 Alpha 1
QA Status: No test


 Description  « Hide
Each object in the database is owned by the user which created it. That user as an owner of the object has full access to it. It will be great to be able to change object's ownership (kind of 'chown' command in *nixes).

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Dimitry Sibiryakov added a comment - 02/Mar/16 11:51 AM
Don't hurry with this ticket because ownership model wil be changed with introduction of schemas.

Bjoern Reimer added a comment - 02/Mar/16 12:41 PM
Then schemas should be part of V4 :-)

I think it's worth thinking of SQL Syntax for changing the owner of an object (including database itself) like

ALTER <Object> OWNER TO { new_owner | CURRENT_USER }
or
ALTER <Object> SET OWNER TO { new_owner | CURRENT_USER }

and extend it when implementing schemas

Simonov Denis added a comment - 02/Mar/16 02:41 PM
Not in any way. The owner is not a schema. Do not repeat the mistakes Oracle.

Dimitry Sibiryakov added a comment - 02/Mar/16 02:49 PM
According to SQL standard database objects has no owner, they belong to schema. On its turn users can own schemas.
Of course, Oracle way "user == schema" is ridiculous, but some kind of ownership chain must be.

Alexander Peshkov added a comment - 03/Mar/16 09:02 AM
Certainly we should not follow Oracle's "user == schema".
What about ownership chain - IMHO owner of a schema has full access to all objects in that schema (like owner of database has full access to all objects in database).