Rechercher

Ce contenu n'est pas disponible dans la langue sélectionnée.

3.9. The SET Statement

download PDF
Execution properties are set on the connection using the SET statement. The SET statement is not yet a language feature of JBoss Data Virtualization and is handled only in the JDBC client.
SET Syntax:
  • SET [PAYLOAD] (parameter|SESSION AUTHORIZATION) value
  • SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL (READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE)
Syntax Rules:
  • The parameter must be an identifier. If quoted, it can contain spaces and other special characters, but otherwise it can not.
  • The value may be either a non-quoted identifier or a quoted string literal value.
  • If payload is specified, for example, SET PAYLOAD x y, then a session scoped payload properties object will have the corresponding name value pair set. The payload object is not fully session scoped. It will be removed from the session when the XAConnection handle is closed/returned to the pool (assumes the use of TeiidDataSource). The session scoped payload is superseded by usage of the TeiidStatement.setPayload.
Using SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL is equivalent to calling Connection.setTransactionIsolation with the corresponding level.
The SET statement is most commonly used to control planning and execution.
  • SET SHOWPLAN (ON|DEBUG|OFF)
  • SET NOEXEC (ON|OFF)
The following is an example of how to use the SET statement to enable a debug plan:
Statement s = connection.createStatement();
s.execute("SET SHOWPLAN DEBUG");

Statement s1 = connection.createStatement();
ResultSet rs = s1.executeQuery("select col from table");

ResultSet planRs = s1.executeQuery("SHOW PLAN");
planRs.next();
String debugLog = planRs.getString("DEBUG_LOG");
Query Plan without executing the query
s.execute("SET NOEXEC ON");
s.execute("SET SHOWPLAN DEBUG");
...
e.execute("SET NOEXEC OFF");
The SET statement may also be used to control authorization. A SET SESSION AUTHORIZATION statement will perform a reauthentication (see Section 2.6, “Reauthentication”) given the credentials currently set on the connection.
The connection credentials may be changed by issuing a SET PASSWORD statement.
Statement s = connection.createStatement();
s.execute("SET PASSWORD 'someval'");
s.execute("SET SESSION AUTHORIZATION 'newuser'");
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.