SQL Reference
Data Definition Language (DDL)...

Users, Groups, and Service Classes

Users, Groups, and Service Classes are managed using DDL commands that allow administrators to create, drop, or alter each type of database object. These commands also allow administrators to associate service classes with groups and control service class settings for workload management.

USER

CREATE USER

CREATE USER creates a new user, which is scoped to the database of the active connection processing the DDL statement. This means that usernames can be reused across different databases.

Syntax

SQL


Parameter

Data Type

Description

fully_qualified_username

string

A fully qualified username (FQUN) that follows the pattern "user_name@database_name" and uniquely identifies a user in .



A FQUN can reference a user associated with a different database than the one you are connected to.



For FQUN examples, see the table below.

If you specify only a user_name without a database_name, Ocient assumes the user is associated with the database of the active connection.

user id

user name

database name

fully qualified user name (FQUN)

000

alice

db1

alice@db1

001

alice

db2

alice@db2

002

jimmy

system

jimmy@system



Define User Parameters (<user_definition>)

You can apply the following optional parameters when creating a new user object.

Parameter

Data Type

Description

password_string

string

A password for the user account. This parameter is required.

first_name_string

string

Optional. The first name of the user.

last_name_string

string

Optional. The last name of the user.

email_string

string

Optional. The email of the user.

Example

This example creates a new user named jmack@test-database with the password pass1234.

SQL


DROP USER

DROP USER removes an existing user from the system.

To remove a user, you must possess the DROP USER privilege for the user.

SQL


Parameter

Data Type

Description

fully_qualified_username

string

A fully qualified username (FQUN) that follows the pattern "user_name@database_name" and uniquely identifies a user in Ocient.

You can drop multiple users by specifying additional usernames and separating each with commas.

A FQUN can reference a user associated with a different database than the one you are connected to.

If you specify only a user_name without a database_name, Ocient assumes the user is associated with the database of the active connection.

Example

This example removes a user named jmack@test-database.

SQL


This example drops multiple users.

SQL


ALTER USER

Changes the password of an existing user. The fully_qualified_username identifier should be enclosed in double quotes.

Syntax

SQL


Parameter

Data Type

Description

fully_qualified_username

string

A fully qualified username (FQUN) that follows the pattern "user_name@database_name" and uniquely identifies a user in Ocient.



A FQUN can reference a user associated with a different database than the one you are connected to.



password_string

string

A password for the user account. There are no restrictions on the string used for a password.

If you specify only a user_name without a database_name, Ocient assumes the user is associated with the database of the active connection.

Example

This example changes the password of user "jmack@test-database" to 'newpass'.

SQL


GROUP

CREATE GROUP

CREATE GROUP creates a new group. The name must be distinct from the name of any existing group in the database.

SQL


Parameter

Data Type

Description

group_name

string

A group name unique from any existing group in the database.

Example

This example creates a new group named group1.

SQL


DROP GROUP

DROP GROUP removes an existing group from the system.

To remove a group, you must possess the DROP GROUP privilege for the group.

Syntax

SQL


Parameter

Data Type

Description

group_name

string

The identifier of the group to drop.

You can drop multiple groups by specifying additional group names and separating each with commas.

Example

This example removes a group named group1.

SQL


This example removes multiple groups.

SQL


ALTER GROUP

ALTER GROUP USER

ALTER GROUP adds or removes users from the group by using the USER keyword.

Syntax

SQL


Parameter

Data Type

Description

group_name

string

The identifier of the group to alter.

username

string

A username that uniquely identifies a user in the specified group.

If you specify only a user_name without a database_name, Ocient assumes the user is associated with the database of the active connection.

Example

This example adds user1 to an existing group named group1.

SQL


ALTER GROUP RENAME

ALTER GROUP renames an existing group by including the RENAME TO keyword.

Syntax

SQL


Parameter

Data Type

Description

group_name

string

The identifier of the group to alter.

new_group_name

string

The new name for the group.

Example

This example renames an existing group group1 to group2.

SQL


ALTER GROUP SET SERVICE CLASS

Set a service class for the specified group.

Syntax

SQL


Parameter

Data Type

Description

group_name

string

The identifier of the group to alter.

sc_name

string

The new name of the service class to assign to the group.



To unset a service class from a group and restore defaults, specify "DEFAULT" as the service class name.

Example

SQL


SERVICE CLASS

CREATE SERVICE CLASS

A service class defines a set of limits on various system parameters.

The Ocient System applies service classes on a per-group basis. By default, all groups are in the DEFAULT service class, which has no limits.

If a user belongs to multiple groups with different service classes, the system uses the first service class in alphabetical order by service class name. 

Syntax

SQL


Parameter

Data Type

Description

sc_name

string

The identifier of the service class.

Define Service Classes ( <service_class_definition> )

When you create a new service class, the Ocient System sets any omitted service class definitions to the maximum or least restrictive value. Each definition should be comma separated. When you alter a service class definition, the system modifies only the definition that you specify.

See the Workload Management Walkthrough for more detail.



Parameter

Description

Value

MAX_TEMP_DISK_USAGE

Limit percentage of temporary disk space used by the total service class relative to the amount of remaining free space. If all running queries for a particular service class exceed the given percentage, queries will fail.

A percentage integer from 0-100

MAX_ELAPSED_TIME

Limit query runtime. The database process kills any queries that exceed this limit.

-1 for unlimited, or a positive integer for the number of seconds

MAX_CONCURRENT_QUERIES

Limit the maximum number of queries that can run concurrently for a given service class. The database process queues additional queries.

-1 for unlimited, or a positive integer for the number of queries

MAX_ROWS_RETURNED

Limit number of rows returned by a query. The database process kills queries that exceed this limit.

-1 for unlimited, or a positive integer for the number of rows

SCHEDULING_PRIORITY

Limit initial effective query priority.

Any decimal value between theMIN_PRIORITY and MAX_PRIORITY

CACHE_MAX_BYTES

Maximum number of bytes in a result set if the result set can be stored in the cache. This value is the number of bytes in the wire-protocol representation, or what is sent to a client.

-1 for none, or a positive integer for the number of bytes

CACHE_MAX_TIME

Maximum time rows are cached.

-1 for none, or a positive integer for the number of seconds

MAX_ELAPSED_TIME_FOR_CACHING

Maximum elapsed time for caching. If you set this parameter, queries that exceed maximum elapsed time return no results, but continue to run in the background until either the query reaches the maximum elapsed time for caching or the query successfully completes and caches the result set. For details, see documentation.

-1 for none, or a positive integer for the number of seconds

MAX_COLUMNS_IN_RESULT_SET

Limit number of columns returned by a query. The database process kills queries that exceed this limit.

-1 for unlimited, or a positive integer for the number of columns

PRIORITY_ADJUSTMENT_FACTOR

Percentage amount to adjust query priority. You can override this limit at the query level or the session level. Formula is:

(new_priority = current_priority * priority_adjustment_factor)

0 to disable dynamic priority adjustment (default), or a positive double value that is greater than 0. Values less than 1 decrease priority over time until the priority reaches the service class minimum priority, while values greater than 1 increase priority over time until the priority reaches the service class maximum priority.

PRIORITY_ADJUSTMENT_TIME

Time period that indicates the frequency for the adjustment of query priority during execution of the query. You can override this limit at the query level or the session level.

0 to disable dynamic priority adjustment (default), or a positive integer (unsigned 32-bit integer) for the number of seconds that is greater than 0

MIN_PRIORITY

Limit the minimum query priority. The current effective priority cannot be smaller than this value.

0 (default) or any decimal value (double) greater than 0

MAX_PRIORITY

Limit the maximum query priority. The current effective priority cannot be greater than this value.

-1 (default) that indicates infinity or any decimal value (double) greater than 0

STATEMENT_TEXT

The system uses the specified service class for any queries that match the specified text pattern.

The system uses service classes with statement text before any service classes that lack statement text.

If there are multiple service classes with statement text available, the system attempts to match them in alphabetical order. This matching allows you to set up service classes so that the system can assign certain query types automatically to higher-priority service classes.

A string that uses either LIKE or REGEX pattern matching.

For example, STATEMENT_TEXT REGEX ".*my_table.*|.*your_table.*" would match any queries that include the strings my_table or your_table.

LOW_LATENCY

Optional settings that enable you to manage low-latency service classes.

Boolean true or false, or a Key-Value setting map.



For details on using the CACHE_MAX_BYTES and CACHE_MAX_TIME parameters, see Result Set Caching.

For details on using the LOW_LATENCY parameter, see Low-Latency Settings.

Example

This example creates a service class named sc_name.

SQL


DROP SERVICE CLASS

Remove an existing service class from the system.

When dropping a service class, you can use the FORCE flag to drop a service class and unset it from any dependent groups. If FORCE is not used, the function throws an error if there are dependent groups.

Syntax

SQL


Parameter

Data Type

Description

sc_name

string

The identifier of the service class.

Example

SQL


ALTER SERVICE CLASS

ALTER SERVICE CLASS RENAME

Rename a service class.

Syntax

SQL


Parameter

Data Type

Description

sc_name

string

The old identifier of the service class.

new_name

string

The new identifier for the sc_name service class.

Example

SQL


ALTER SERVICE CLASS SET

Alter a service class with new parameter definitions by using the SET keyword.

Syntax

SQL


Parameter

Data Type

Description

sc_name

string

The identifier of the service class.

For the service class definition parameters <service_class_definition>, see Define Service Classes.

Examples

This example changes the value of MAX_ROWS_RETURNED to 51 on the service class named sc_name.

SQL


This example makes dynamic priority adjustments at the service class level for a priority adjustment time of 15 seconds, priority adjustment factor of 0.75, minimum priority of 2.0, and maximum priority of 5.0.

SQL


This example sets the service class sc_name to handle any queries that match the regular expression .*my_table.*.

SQL


ALTER SERVICE CLASS RESET

Alter a service class by restoring default values for one or more specified settings.

Syntax

SQL


Parameter

Data Type

Description

sc_name

string

The identifier of the service class.

For descriptions of the <service_class_definition> parameters, see Defining Service Classes.

Example

This example resets the value of MAX_ROWS_RETURNED on the service class named sc_name.

SQL


ALTER QUERY

Set the priority of a SQL query that is running. This priority takes effect immediately. The priority must remain within service class priority limits. The Ocient System overrides other preset priorities for this query, including any existing dynamic priority adjustments.

Syntax

SQL


Parameter

Data Type

Description

query_id

numeric

The identifier of the SQL query that is running.

priority

numeric

The priority of the specified SQL query.

Example

This example sets the priority of the SQL query 34566 to 2.

SQL


Related Links