8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 00:03:02 +01:00

Documentation for improvement CORE-2452 : Add Role Name in input parameters for EXECUTE STATEMENT

This commit is contained in:
hvlad 2009-05-14 10:37:51 +00:00
parent e1470cb689
commit e001741d4b

View File

@ -15,6 +15,7 @@ Syntax and notes :
[WITH AUTONOMOUS | COMMON TRANSACTION] [WITH AUTONOMOUS | COMMON TRANSACTION]
[AS USER <user_name>] [AS USER <user_name>]
[PASSWORD <password>] [PASSWORD <password>]
[ROLE <role_name>]
[WITH CALLER PRIVILEGES] [WITH CALLER PRIVILEGES]
[INTO <variables>] [INTO <variables>]
@ -23,6 +24,7 @@ Syntax and notes :
[WITH AUTONOMOUS | COMMON TRANSACTION] [WITH AUTONOMOUS | COMMON TRANSACTION]
[AS USER <user_name>] [AS USER <user_name>]
[PASSWORD <password>] [PASSWORD <password>]
[ROLE <role_name>]
[WITH CALLER PRIVILEGES] [WITH CALLER PRIVILEGES]
- Duplicate clauses are not allowed - Duplicate clauses are not allowed
@ -49,10 +51,11 @@ Syntax and notes :
- if ON EXTERNAL DATA SOURCE clause is omitted then - if ON EXTERNAL DATA SOURCE clause is omitted then
a) statement will be executed against current (local) database a) statement will be executed against current (local) database
b) if AS USER clause is omitted or <user_name> equal to CURRENT_USER b) if AS USER clause is omitted or <user_name> equal to CURRENT_USER
and if ROLE clause is omitted or <role_name> equal to CURRENT_ROLE
then the statement is executed in current connection context then the statement is executed in current connection context
c) if <user_name> not equal to CURRENT_USER then the statement is executed in separate c) if <user_name> not equal to CURRENT_USER or <role_name> not equal to CURRENT_ROLE
connection established inside the same engine instance (i.e. created new internal then the statement is executed in separate connection established inside the same
connection without Y-Valve and remote layers). engine instance (i.e. created new internal connection without Y-Valve and remote layers).
- <connection_string> is usual connection string accepted by isc_attach_database, - <connection_string> is usual connection string accepted by isc_attach_database,
i.e. [<host_name><protocol_delimiter>]database_path. i.e. [<host_name><protocol_delimiter>]database_path.
@ -76,16 +79,17 @@ Syntax and notes :
- if AS USER clause is omitted then CURRENT_USER is used - if AS USER clause is omitted then CURRENT_USER is used
- if PASSWORD clause is omitted then - if PASSWORD clause is omitted then
a) if <user_name> is omitted, NULL or equal to CURRENT_USER value a) if <user_name> is omitted, NULL or equal to CURRENT_USER value and
if <role_name> is omitted, NULL or equal to CURRENT_ROLE value
then trusted autentication is performed, and then trusted autentication is performed, and
a1) for current connection (ON EXTERNAL DATA SOURCE is omitted) - a1) for current connection (ON EXTERNAL DATA SOURCE is omitted) -
CURRENT_USER is effective user account CURRENT_USER\CURRENT_ROLE is effective user account and role
a2) for local database (<connection_string> refers to the current database) - a2) for local database (<connection_string> refers to the current database) -
CURRENT_USER is effective user account CURRENT_USER\CURRENT_ROLE is effective user account and role
a3) for remote database - operating system account under which engine a3) for remote database - operating system account under which engine
process is currently run is effective user account. process is currently run is effective user account.
b) else only isc_dpb_user_name will be present in DPB and native autentication b) else only isc_dpb_user_name (and isc_dpb_sql_role_name) will be present in DPB and
is performed. native autentication is performed.
- if WITH CALLER PRIVILEGES is specified and ON EXTERNAL DATA SOURCE is omitted, then - if WITH CALLER PRIVILEGES is specified and ON EXTERNAL DATA SOURCE is omitted, then
the statement is prepared using additional privileges of caller stored procedure or trigger the statement is prepared using additional privileges of caller stored procedure or trigger