EXECUTE AS

Provides a testing mechanism when setting up proxy roles by running CQL commands as another role.

Provides a testing mechanism when setting up proxy roles by running CQL commands as another role during a CQL shell session.

To start, use EXECUTE AS role_name. The commands run with the permissions of the specified role. To stop, use EXECUTE AS without a role name.
Note: Requires PROXY.EXECUTE on the specified role, see GRANT.

Synopsis

EXECUTE AS [ role_name ]
Table 1. Legend
Syntax conventions Description
UPPERCASE Literal keyword.
Lowercase Not literal.
Italics Variable value. Replace with a user-defined value.
[] Optional. Square brackets ( [] ) surround optional command arguments. Do not type the square brackets.
( ) Group. Parentheses ( ( ) ) identify a group to choose from. Do not type the parentheses.
| Or. A vertical bar ( | ) separates alternative elements. Type any one of the elements. Do not type the vertical bar.
... Repeatable. An ellipsis ( ... ) indicates that you can repeat the syntax element as often as required.
'Literal string' Single quotation ( ' ) marks must surround literal strings in CQL statements. Use single quotation marks to preserve upper case.
{ key : value } Map collection. Braces ( { } ) enclose map collections or key value pairs. A colon separates the key and the value.
<datatype1,datatype2> Set, list, map, or tuple. Angle brackets ( < > ) enclose data types in a set, list, map, or tuple. Separate the data types with a comma.
cql_statement; End CQL statement. A semicolon ( ; ) terminates all CQL statements.
[--] Separate the command line options from the command arguments with two hyphens ( -- ). This syntax is useful when arguments might be mistaken for command line options.
' <schema> ... </schema> ' Search CQL only: Single quotation marks ( ' ) surround an entire XML schema declaration.
@xml_entity='xml_entity_type' Search CQL only: Identify the entity and literal value to overwrite the XML element in the schema and solrConfig files.
role_name

The name of the role to run the commands as. The commands run with the permissions of the specified role.

Example

Use the read_race role to execute commands:
EXECUTE AS read_race;
Executing queries as read_race.
Perform a query:
SELECT *
FROM cycling.race_times;
 race_name                   | race_time | cyclist_name
-----------------------------+-----------+--------------
 17th Santos Tour Down Under |  19:15:18 | Rohan DENNIS
 17th Santos Tour Down Under |  19:15:20 | Richie PORTE
 17th Santos Tour Down Under |  19:15:38 |  Cadel EVANS
 17th Santos Tour Down Under |  19:15:40 | Tom DUMOULIN

(4 rows) 
Stop using the read_race role:
EXECUTE AS
Disabling proxy execution