Roman Simakov <roman.sima...@red-soft.biz> писал(а) в своём письме Fri, 04  
Jul 2014 18:23:38 +0400:

> Hello!
>
> I'd like to present a patch for firebird trunk which implements
> http://tracker.firebirdsql.org/browse/CORE-735 like Red Database does.
>
> Patch was discussed with Dmitry Yemanov, Alex Peshkoff and Vlad Khorsun.
> Small description you can find in  
> doc/sql.extensions/README.ddl_access.txt
>
> I'm ready to answer any questions.
>
> I'd like to commit it. Opinions?
>

It seems that the DLL permissions protects not all objects. In particular,  
I conducted an experiment on BLOB filters. Creating a new filter is  
effectively prohibited for any user. But the removal could be  
disfranchised by the user. Probable cause, it seems to me, in a lack of  
ownership for the filters.

Unlike other objects in the system table RDB$FILTERS I did not see the  
field RDB$OWNER_NAME.

Use CONNECT or CREATE DATABASE to specify a database
SQL> connect 'localhost:test' user 'sysdba' password 'masterkey';
Database:  'localhost:test', User: sysdba
SQL> show version;
ISQL Version: WI-T3.0.0.31288 Firebird 3.0 Alpha 2
Server version:
Firebird/Windows/AMD/Intel/x64 (access method), version "WI-T3.0.0.31288  
Firebird 3.0 Alpha 2"
Firebird/Windows/AMD/Intel/x64 (remote server), version "WI-T3.0.0.31288  
Firebird 3.0 Alpha 2/tcp (Den-PC)/P13:C"
Firebird/Windows/AMD/Intel/x64 (remote interface), version  
"WI-T3.0.0.31288 Firebird 3.0 Alpha 2/tcp (Den-PC)/P13:C"
on disk structure version 12.0
SQL> DECLARE FILTER DESC_FILTER
CON> INPUT_TYPE 1
CON> OUTPUT_TYPE -4
CON> ENTRY_POINT 'desc_filter'
CON> MODULE_NAME 'FILTERLIB';
SQL> show filters;
        DESC_FILTER

Quit from ISQL. Reconnect in the isql window leads to the crash server  
(see http://tracker.firebirdsql.org/browse/CORE-4506).

SQL> DECLARE FILTER DESC_FILTER
CON> INPUT_TYPE 1
CON> OUTPUT_TYPE -4
CON> ENTRY_POINT 'desc_filter'
CON> MODULE_NAME 'FILTERLIB';

Use CONNECT or CREATE DATABASE to specify a database
SQL> connect 'localhost:test' user 'test' password 'test';
Database:  'localhost:test', User: test
SQL> show filters;
        DESC_FILTER
SQL> drop filter DESC_FILTER;
SQL> show filters;
There are no filters in this database
SQL> show version;
ISQL Version: WI-T3.0.0.31288 Firebird 3.0 Alpha 2
Server version:
Firebird/Windows/AMD/Intel/x64 (access method), version "WI-T3.0.0.31288  
Firebird 3.0 Alpha 2"
Firebird/Windows/AMD/Intel/x64 (remote server), version "WI-T3.0.0.31288  
Firebird 3.0 Alpha 2/tcp (Den-PC)/P13:C"
Firebird/Windows/AMD/Intel/x64 (remote interface), version  
"WI-T3.0.0.31288 Firebird 3.0 Alpha 2/tcp (Den-PC)/P13:C"
on disk structure version 12.0
SQL> DECLARE FILTER DESC_FILTER
CON> INPUT_TYPE 1
CON> OUTPUT_TYPE -4
CON> ENTRY_POINT 'desc_filter'
CON> MODULE_NAME 'FILTERLIB';
Statement failed, SQLSTATE = 42000
unsuccessful metadata update
-DECLARE FILTER DESC_FILTER failed
-There is no privilege for this operation
SQL>

-- 
Simonov Denis


------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to