<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/System+Properties">System Properties</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://docs.jboss.org/author/display/~kylin">Kylin Soong</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" > <br>* _org.teiid.ODBCRequireSecure_ \- defaults to true.  If true setting the SSL config to login or enabled will require clients to connect appropriately with either a GSS login or SSL respectively.  Setting the property to false will allow client to use any authentication and no SSL (which was the behavior of the pg transport prior to 8.9 CR2). <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-unchanged" >*PostgreSQL Compatibility* <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br>* _org.teiid.addPGMetadata_ \- defaults to true. When set to false, the VDB will not include Postgresql based system metadata. <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;"> <br>h4. *Client* <br> <br>The following properties are for Teiid Client, which you can use with Teiid JDBC Derver. <br> <br>* org.teiid.sockets.soTimeout \-&amp;nbsp;The time in milliseconds for socket timeouts.&amp;nbsp;Timeouts during the initialization, handshake, or&amp;nbsp;a server ping may be treated as an error.&amp;nbsp;This is the lower bound for all other timeouts&amp;nbsp;the JDBC login timeout.&amp;nbsp;Typically this should be left at the default of 1000(1 second). Setting this value too low may cause read&amp;nbsp;errors. <br>* org.teiid.sockets.maxCachedInstances \-&amp;nbsp;The max number of cached server instances&amp;nbsp;to reuse. A server instance is a connected&amp;nbsp;socket to a particular cluster member with&amp;nbsp;client encryption and or SSL already established.&amp;nbsp;Caching instances helps in 2 circumstances:&amp;nbsp;when Connection pooling is not being used,&amp;nbsp;load-balancing performance to a cluster&amp;nbsp;when using Connection pooling of the DataSource.&amp;nbsp;This value should typically be a multiple of the&amp;nbsp;cluster size.&amp;nbsp;Set to 0 to disable instance caching. Default value is 16. <br>* org.teiid.sockets.synchronousttl \-&amp;nbsp;Set the max time to live (in milliseconds) for non-execution&amp;nbsp;synchronous calls. Default value is&amp;nbsp;240000. <br>* org.teiid.sockets.receiveBufferSize \-&amp;nbsp;Set the socket receive buffer size (in bytes).&amp;nbsp;0 indicates that the default socket setting will be used. Default is 0. <br>* org.teiid.sockets.sendBufferSize \-&amp;nbsp;Set the socket send buffer size (in bytes).&amp;nbsp;0 indicates that the default socket setting will be used.&amp;nbsp;Default is 0. <br>* org.teiid.sockets.conserveBandwidth \-&amp;nbsp;Set to true to enable Nagle&#39;s algorithm to conserve bandwidth&amp;nbsp;by minimizing the number of segments that are sent. Default is&amp;nbsp;false. <br>* org.teiid.sockets.maxObjectSize \-&amp;nbsp;Maximum number of bytes per server message.&amp;nbsp;May need to be increased when using custom types and/or large batch sizes. Default value is&amp;nbsp;33554432. <br>* org.teiid.sockets.DisablePing \-&amp;nbsp;Set to true to disable client ping.&amp;nbsp;Default value is &#39;false&#39; that means client ping are enable. The client ping guaranteed that the client session&amp;nbsp;has a relevant active server session(server hung, networking limited, connection reset will cause server session lose).&amp;nbsp;Usually, if the client have load balancing logic, the client ping is necessary. <br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <p>Some of Teiid's low-level behavior can be configured via system properties, rather than through configuration files. A typical place to set system properties for JBoss AS launches is in the &lt;jboss-install&gt;/bin/&lt;mode&gt;.conf.  A property setting has the format &#45;Dproperty=value</p>

<ul>
        <li><em>org.teiid.allowNanInfinity</em> &#45; defaults to false.  Set to true to allow numeric functions to return NaN (Not A Number) and &#43;-Infinity.  Note that these values are not covered by the SQL specification.</li>
</ul>


<ul>
        <li><em>org.teiid.useValueCache</em> &#45; defaults to false.  Set to true to enable the canonical value cache. Value caching is used dynamically when buffer memory is consumed to reuse identical values and thus reduce the memory consumed by Teiid. There is a computation cost associated with the cache lookup, so enabling this setting is not appropriate for installations handling large volumes of dissimilar data.</li>
</ul>


<ul>
        <li><em>org.teiid.ansiQuotedIdentifiers</em> &#45; defaults to true. Set to false to emulate Teiid 6.x and prior behavior of treating double quoted values without leading identifier parts as string literals, which is not expected by the SQL specification.</li>
</ul>


<ul>
        <li><em>org.teiid.subqueryUnnestDefault</em> &#45; defaults to false. If true, the optimizer will aggressively unnest subqueries in WHERE predicates.  If possible the predicate will be unnested to a traditional join and will be eligible for dependent join planning.</li>
</ul>


<ul>
        <li><em>org.teiid.ODBCPacketSize</em> &#45; defaults to 307200. Target size in bytes of the ODBC results buffer.  This is not a hard maximum, lobs and wide rows may use larger buffers.</li>
</ul>


<ul>
        <li><em>org.teiid.decimalAsDouble</em> &#45; defaults to false. Set to true to parse exact fixed point literals, e.g. 1.0, as double values rather than as decimal/BigDecimal values and to return a double value from the AVG function for integral values in the same way as releases earlier than 8.0.</li>
</ul>


<ul>
        <li><em>org.teiid.comparableLobs</em> &#45; defaults to false. Set to true to allow blob and clob column values to be comparable in Teiid.  Source type metadata will determine if the comparison can be pushed down.</li>
</ul>


<ul>
        <li><em>org.teiid.comparableObject</em> &#45; defaults to false. Set to true to allow object column values to be comparable in Teiid.  Source type metadata will determine if the comparison can be pushed down.  The object instances are expected to correctly implement java.lang.Comparable.compareTo.  If the instance object is not Comparable, then ClassCastExceptions may the thrown.</li>
</ul>


<ul>
        <li><em>org.teiid.padSpace</em> &#45; defaults to false.  Set to true to compare strings as if PAD SPACE collation is being used, that is strings are effectively right padded to the same length for comparison.  If this property is set, it is not necessary to use the trimStrings translator option.</li>
</ul>


<ul>
        <li><em>org.teiid.collationLocale</em> &#45; not set by default, which means that Java's natural (UTF-16) string comparison will be used.&nbsp; Set to a Java locale string language[_country[_varient]], where language, country, and variant are two letter codes - see <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Locale.html" class="external-link" rel="nofollow">java.util.Locale</a> for more on valid codes.&nbsp; Note that even if org.teiid.comparableLobs is set, clob values will not be compared using the locale collator.</li>
</ul>


<ul>
        <li><em>org.teiid.clientVdbLoadTimeoutMillis</em> &#45; defaults to 5 minutes. The default amount of time a client (currently only local clients) will wait to make a connection to an active VDB before throwing an exception.  Clients may override this setting via the loginTimeout connection property.</li>
</ul>


<ul>
        <li><em>org.teiid.enDateNames</em> &#45; defaults to false. Set to true to use English month and day names for the system function dayName and monthName, rather than returning names from the Java default locale.&nbsp; Prior to 8.2 dayName and monthName always returned English names.</li>
</ul>


<ul>
        <li><em>org.teiid.pushdownDefaultNullOrder</em> &#45; defaults to false. Set to true to mimic 8.1 and prior release behavior of pushing the Teiid's default null order of nulls low if the source has a different default null order and supports explicit null ordering.</li>
</ul>


<ul>
        <li><em>org.teiid.requireTeiidCollation</em> &#45; defaults to false. Set to true to force all sorts to be in Teiid's collation (see org.teiid.collationLocale).</li>
</ul>


<ul>
        <li><em>org.teiid.implicitMultiSourceJoin</em> &#45; defaults to true. Set to false to disable Teiid 8.2 and prior release behavior of implicitly partitioning joins between multi-source tables.  When set to false and explicit predicate such as tbl1.source_name = tbl2.source_name is required to partition the results of the join.</li>
</ul>


<ul>
        <li><em>org.teiid.maxStringLength</em> &#45; defaults to 4000. Sets the nominal maximum length of strings in Teiid - most operations in Teiid will truncate strings that are larger than this value.  Setting this value can also adjust the max size of lob bytes held in memory.  NOTE: sources may not appropriately handle string values that are larger than the source supports. 
<div class='panelMacro'><table class='warningMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/author/images/icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>Strings are always fully held in memory.  Do not set this value too high as you may experience out of memory errors.</td></tr></table></div></li>
</ul>


<ul>
        <li><em>org.teiid.calendarTimestampDiff</em> &#45; defaults to true. Set to false to use the Teiid 8.2 and old computation of timestampdiff.  NOTE: using the old behavior can result in differing results between pushed and non-pushed versions of timestampdiff for intervals greater than seconds as sources use date part and not approximate interval differences.</li>
</ul>


<ul>
        <li><em>org.teiid.compactBufferFiles</em> &#45; defaults to false. Set to true to have Teiid keep the buffer files more compact (minimizing sparse regions).</li>
</ul>


<ul>
        <li><em>org.teiid.maxMessageSize</em> &#45; defaults to 2097152. The maximum size of messages in bytes that are allowed from clients.  Increase only if clients routinely use large queries and/or non-lob bind values.</li>
</ul>


<ul>
        <li><em>org.teiid.maxStreamingLobSize</em> &#45; defaults to 4294967296. The maximum size of lobs in bytes that are allowed to be streamed as part of the message from clients.</li>
</ul>


<ul>
        <li><em>org.teiid.defaultIndependentCardinality</em> &#45; defaults to 10. The number of independent rows or less that can automatically trigger a dependent join.  Increase when tables typically only have cardinality set and more dependent joins are desired.</li>
</ul>


<ul>
        <li><em>org.teiid.checkPing</em> &#45; defaults to true.  Can be set to false to disable ping checking for remote JDBC connections.  Ping checking should only be disabled in specific circumstances, such as when using an external load balancer and not utilizing the Teiid default load balancing logic.</li>
</ul>


<ul>
        <li><em>org.teiid.defaultNullOrder</em> &#45; defaults to LOW.  Can be one of LOW, FIRST, HIGH, LAST.  Sets the default null order for the Teiid engine.  This will not be used for source ordering unless org.teiid.pushdownDefaultNullOrder is also set.</li>
</ul>


<ul>
        <li><em>org.teiid.iso8601Week</em> &#45; defaults to true. Set to true to use ISO 8601 rules for week calculations regardless of the locale.  When true the week function will require that week 1 of a year contains the year's first Thursday.  Pushdown week values will be calculated as ISO regardless of this setting.</li>
</ul>


<ul>
        <li><em>org.teiid.widenComparisonToString</em> &#45; defaults to false. Set to true to enable widening of values to string in comparisons, which was the default behavior prior to Teiid 9.  For example with this setting as false timestamp_col &lt; 'a' will produce an exception whereas when set to true it would effectively evaluate cast(timestamp_col as string) &lt; 'a'.</li>
</ul>


<p><b>Security</b></p>

<ul>
        <li><em>org.teiid.allowCreateTemporaryTablesByDefault</em> &#45; defaults to false. Set to true to use the pre-8.0 behavior of allowing any authenticated user to create temp tables without an explicit permission.</li>
</ul>


<ul>
        <li><em>org.teiid.allowFunctionCallsByDefault</em> &#45; defaults to false. Set to true to use the pre-8.0 behavior of allowing any authenticated user to call any non-system function without an explicit permission.</li>
</ul>


<ul>
        <li><em>org.teiid.ignoreUnauthorizedAsterisk</em> &#45; defaults to false.  If true unauthorized columns (as determined by data role checking) are not part of select all or qualified select all expansion.  If false, the client may set the session variable ignore_unauthorized_asterisk to true to achieve the same behavior.</li>
</ul>


<ul>
        <li><em>org.teiid.sanitizeMessages</em> &#45; defaults to false.  If true query related exception and warnings will have their messages replaced with just the Teiid code.  Server side stacktraces will also be removed when sent to the client.  This should be enabled if there is a concern about SQL or values being present in the exception/logs.  If the log level is increased to debug for the relevant logger, then the sanitizeMessages setting will have no effect.</li>
</ul>


<ul>
        <li><em>org.teiid.ODBCRequireSecure</em> &#45; defaults to true.  If true setting the SSL config to login or enabled will require clients to connect appropriately with either a GSS login or SSL respectively.  Setting the property to false will allow client to use any authentication and no SSL (which was the behavior of the pg transport prior to 8.9 CR2).</li>
</ul>


<p><b>PostgreSQL Compatibility</b></p>

<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/author/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>These affect Teiid globally, and not just through the ODBC transport.</td></tr></table></div>

<ul>
        <li><em>org.teiid.backslashDefaultMatchEscape</em> &#45; defaults to false. Set to true to use '\' as the default escape character for LIKE and SIMILAR TO predicates when no escape is specified.  Otherwise Teiid assumes the SQL specification compliant behavior of treating each non-wildcard character as an exact match character.</li>
</ul>


<ul>
        <li><em>org.teiid.addPGMetadata</em> &#45; defaults to true. When set to false, the VDB will not include Postgresql based system metadata.</li>
</ul>


<h4><a name="SystemProperties-Client"></a><b>Client</b></h4>

<p>The following properties are for Teiid Client, which you can use with Teiid JDBC Derver.</p>

<ul>
        <li>org.teiid.sockets.soTimeout &#45;&nbsp;The time in milliseconds for socket timeouts.&nbsp;Timeouts during the initialization, handshake, or&nbsp;a server ping may be treated as an error.&nbsp;This is the lower bound for all other timeouts&nbsp;the JDBC login timeout.&nbsp;Typically this should be left at the default of 1000(1 second). Setting this value too low may cause read&nbsp;errors.</li>
        <li>org.teiid.sockets.maxCachedInstances &#45;&nbsp;The max number of cached server instances&nbsp;to reuse. A server instance is a connected&nbsp;socket to a particular cluster member with&nbsp;client encryption and or SSL already established.&nbsp;Caching instances helps in 2 circumstances:&nbsp;when Connection pooling is not being used,&nbsp;load-balancing performance to a cluster&nbsp;when using Connection pooling of the DataSource.&nbsp;This value should typically be a multiple of the&nbsp;cluster size.&nbsp;Set to 0 to disable instance caching. Default value is 16.</li>
        <li>org.teiid.sockets.synchronousttl &#45;&nbsp;Set the max time to live (in milliseconds) for non-execution&nbsp;synchronous calls. Default value is&nbsp;240000.</li>
        <li>org.teiid.sockets.receiveBufferSize &#45;&nbsp;Set the socket receive buffer size (in bytes).&nbsp;0 indicates that the default socket setting will be used. Default is 0.</li>
        <li>org.teiid.sockets.sendBufferSize &#45;&nbsp;Set the socket send buffer size (in bytes).&nbsp;0 indicates that the default socket setting will be used.&nbsp;Default is 0.</li>
        <li>org.teiid.sockets.conserveBandwidth &#45;&nbsp;Set to true to enable Nagle's algorithm to conserve bandwidth&nbsp;by minimizing the number of segments that are sent. Default is&nbsp;false.</li>
        <li>org.teiid.sockets.maxObjectSize &#45;&nbsp;Maximum number of bytes per server message.&nbsp;May need to be increased when using custom types and/or large batch sizes. Default value is&nbsp;33554432.</li>
        <li>org.teiid.sockets.DisablePing &#45;&nbsp;Set to true to disable client ping.&nbsp;Default value is 'false' that means client ping are enable. The client ping guaranteed that the client session&nbsp;has a relevant active server session(server hung, networking limited, connection reset will cause server session lose).&nbsp;Usually, if the client have load balancing logic, the client ping is necessary.</li>
</ul>

    </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/System+Properties">View Online</a>
        |
        <a href="https://docs.jboss.org/author/pages/diffpagesbyversion.action?pageId=18646088&revisedVersion=40&originalVersion=39">View Changes</a>
                |
        <a href="https://docs.jboss.org/author/display/TEIID/System+Properties?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>