<html>
<head>
    <base href="https://docs.jboss.org/author">
            <link rel="stylesheet" href="/author/s/en/2172/19/5/_/styles/combined.css?spaceKey=TEIID&amp;forWysiwyg=true" type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://docs.jboss.org/author/display/TEIID/SET+Statement">SET Statement</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://docs.jboss.org/author/display/~rareddy">Ramesh Reddy</a>
    </h4>
        <br/>
                         <h4>Changes (1)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >{code} <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">{tip:title=Query Plan without executing the query} <br>{code} <br>s.execute(&quot;SET NOEXEC ON&quot;); <br>s.execute(&quot;SET SHOWPLAN DEBUG&quot;); <br>... <br>e.execute(&quot;SET NOEXEC OFF&quot;); <br>{code} <br>{tip} <br> <br></td></tr>
            <tr><td class="diff-unchanged" >The SET statement may also be used to control authorization. A SET SESSION AUTHORIZATION statement will perform a [Reauthentication] given the credentials currently set on the connection. The connection credentials may be changed by issuing a SET PASSWORD statement.  A SET PASSWORD statement does not perform a reauthentication. <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <p>Execution properties may also be set on the connection by using the SET statement. The SET statement is not yet a language feature of Teiid and is handled only in the JDBC client.</p>

<p>SET Syntax:</p>

<ul>
        <li>SET [PAYLOAD] (parameter&#124;SESSION AUTHORIZATION) value</li>
</ul>


<ul>
        <li>SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL (READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE)</li>
</ul>


<p>Syntax Rules:</p>

<ul>
        <li>The parameter must be an identifier - it can contain spaces or other special characters only if quoted.</li>
</ul>


<ul>
        <li>The value may be either a non-quoted identifier or a quoted string literal value.</li>
</ul>


<ul>
        <li>If payload is specified, e.g. "SET PAYLOAD x y", then a session scoped payload properties object will have the corresponding name value pair set.&nbsp; The payload object is not fully session scoped.&nbsp; It will be removed from the session when the XAConnection handle is closed / returned to the pool (assumes the use of TeiidDataSource).&nbsp; The session scoped payload is superseded by the usage of TeiidStatement.setPayload.</li>
</ul>


<ul>
        <li>Using SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL is equivalent to calling Connection.setTransactionIsolation with the corresponding level.</li>
</ul>


<p>The SET statement is most commonly used to control planning and execution.</p>

<ul>
        <li>SET SHOWPLAN (ON&#124;DEBUG&#124;OFF)</li>
</ul>


<ul>
        <li>SET NOEXEC (ON&#124;OFF)</li>
</ul>


<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Enabling Plan Debug</b></div><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: java; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">
Statement s = connection.createStatement();
s.execute("SET SHOWPLAN DEBUG");
...
Statement s1 = connection.createStatement();
ResultSet rs = s1.executeQuery("select col from table");

ResultSet planRs = s1.exeuteQuery("SHOW PLAN");
planRs.next();
String debugLog = planRs.getString("DEBUG_LOG");
</pre>
</div></div>

<div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/author/images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Query Plan without executing the query</b><br /><div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: java; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">
s.execute("SET NOEXEC ON");
s.execute("SET SHOWPLAN DEBUG");
...
e.execute("SET NOEXEC OFF");
</pre>
</div></div></td></tr></table></div>

<p>The SET statement may also be used to control authorization. A SET SESSION AUTHORIZATION statement will perform a <a href="/author/display/TEIID/Reauthentication" title="Reauthentication">Reauthentication</a> given the credentials currently set on the connection. The connection credentials may be changed by issuing a SET PASSWORD statement.  A SET PASSWORD statement does not perform a reauthentication.</p>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Changing Session Authorization</b></div><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: java; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">Statement s = connection.createStatement();
s.execute("SET PASSWORD 'someval'");
s.execute("SET SESSION AUTHORIZATION 'newuser'");
</pre>
</div></div>
    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;" class="grey">
                        <a href="https://docs.jboss.org/author/users/removespacenotification.action?spaceKey=TEIID">Stop watching space</a>
            <span style="padding: 0px 5px;">|</span>
                <a href="https://docs.jboss.org/author/users/editmyemailsettings.action">Change email notification preferences</a>
</div>
        <a href="https://docs.jboss.org/author/display/TEIID/SET+Statement">View Online</a>
        |
        <a href="https://docs.jboss.org/author/pages/diffpagesbyversion.action?pageId=18646123&revisedVersion=8&originalVersion=7">View Changes</a>
                |
        <a href="https://docs.jboss.org/author/display/TEIID/SET+Statement?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>