Changes

Jump to navigation Jump to search
1,716 bytes added ,  11:35, 17 June 2022
===LOGTRACE===
 
{{Mark|Introduced with Version 9.4:}}
{| width='100%'
|-
| '''Summary'''
|If BaseX is running as [[Web Application]], trace output (generated via {{Code|fn:trace}}, {{Function|Profiling|prof:dump}} and similar functions) if is written to the [[Logging|database logs]]. If this option is disabled, trace output will be redirected to standard error, as it is known from the standalone version of BaseX.
|}
* The option can also be enabled on [[Command-Line Options#HTTP Server|command line]] via <code>-g</code>.
* It cannot be assigned via the {{Code|web.xml}} file, as it will be evaluated before the configuration files are parsed.
* The In addition to the [https://github.com/eclipse/jetty.project/blob/7cc552013eb4d05cb603ba0bc85d176c97957cd4/jetty-server/src/main/java/org/eclipse/jetty/server/handler/gzip/GzipHandler.java#L187-L211 same Jetty defaults] of the web server will be applied (support for GET requests, exclusion of binaries, MSIE 6.0, etc.), POST and PUT requests are supported.
|}
|-
| '''Summary'''
|Reports parsing errors in XQuery modules in the RESTXQ directory back and returns the full error message and stack trace to the client. By default, this option is enabled. On productive systemsIn a production environment, it can be disabled in order to suppress errors that should not be seen by the clientuser of an API (the full error information can still be looked up in the database logs). See [[RESTXQ#Error Handling|RESTXQ Error Handling]] for more details.
|}
|-
| '''Summary'''
|Specifies the maximum length of for strings that are to be indexed by the name, path, value, and full-text stored in [[Indexes|index structures]]. The value of this option will be assigned once to a new database, and cannot can only be changed after thatby creating a new database or doing a [[Commands#OPTIMIZE|full optimization]].
|}
|-
| '''Default'''
|{{Code|10050}}
|-
| '''Summary'''
* Function inlining can be turned off by setting the value to {{Code|0}}.
* The limit can be locally overwritten via the [[XQuery Extensions#Function Inlining|%basex:inline]] annotation (follow the link to get more information on function inlining).
|}
 
===UNROLLLIMIT===
 
{| width='100%'
|-
| width='120' | '''Signature'''
|{{Code|UNROLLLIMIT}}
|-
| '''Default'''
|{{Code|5}}
|-
| '''Summary'''
|This option controls the unroll limit:
* Loops with few iterations are ''unrolled'' by the XQuery compiler to enable further optimizations.
* If the limit is increased, more optimizations will take place, but the memory consumption and compile time will increase.
* See [[XQuery Optimizations#Loop Unrolling|Loop Unrolling]] for more details.
|}
 
===ENFORCEINDEX===
 
{| width='100%'
|-
| width='120' | '''Signature'''
|{{Code|ENFORCEINDEX [boolean]}}
|-
| '''Default'''
|{{Code|false}}
|-
| '''Summary'''
|Enforces index rewritings in path expressions. See [[Indexes#Enforce Rewritings|Enforce Rewritings]] for details.
|}
 
===COPYNODE===
 
{| width='100%'
|-
| width='120' | '''Signature'''
|{{Code|COPYNODE [boolean]}}
|-
| '''Default'''
|{{Code|true}}
|-
| '''Summary'''
|When creating new nodes in XQuery via [https://www.w3.org/TR/xquery-31/#id-constructors Node Constructors], copies of all enclosed nodes will be created, and the copied nodes get new node identities. As a result, the following query yields <code>false</code>:
<syntaxhighlight lang="xquery">
let $a := <a/>
let $b := <b>{ $a }</b>
return $b/a is $a
</syntaxhighlight>
This step can be very expensive and memory consuming. If the option is disabled, child nodes will only be linked to the new parent nodes, and the upper query returns <code>true</code>.<br>The option should be used carefully as it changes the semantics of XQuery. It should preferably be used in [[XQuery Extensions#Database Pragmas|Pragmas]].
|}
| '''Summary'''
|By default, characters from external sources that are invalid in XML will trigger an error. If the option is set to <code>false</code>, these characters will be replaced with the Unicode replacement character <code>FFFD</code> (&#xFFFD;). The option affects [[Java Bindings]] and string conversion and input functions such as [[Archive Module#archive:create|archive:create]], [[Archive Module#archive:extract-text|archive:extract-text]], [[Archive Module#archive:update|archive:update]], and [[ZIP Module#zip:text-entry|zip:text-entry]].
|}
 
===WRAPJAVA===
 
{| width='100%'
|-
| width='120' | '''Signature'''
|{{Code|WRAPJAVA [mode]}}
|-
| '''Default'''
|{{Code|some}}
|-
| '''Summary'''
|Defines the way how values that result from Java code invocation will be converted to XQuery items. Allowed values: {{Code|none}}, {{Code|all}}, {{Code|some}}, {{Code|instance}}, and {{Code|void}}. See [[Java_Bindings#Conversion to XQuery|Java Bindings]] for further details.
|}
|-
| '''Summary'''
|This option specifies the maximum Levenshtein error for fuzzy full-text matching. By default, if {{Code|0}} is assigned, the BaseX-specific fuzzy match optionerror value is calculated dynamically. See the page on [[Full-Text#Fuzzy_Querying|Full-TextsFuzzy Querying]] for more information on fuzzy queryingdetails.
|}
| '''Summary'''
|Specifies how often a query will be evaluated. The result is serialized only once, and the measured times are averages of all runs. This option can also be changed on [[Command-Line Options#BaseX Standalone|command line]] via <code>-r</code>.
|}
 
===ENFORCEINDEX===
 
{| width='100%'
|-
| width='120' | '''Signature'''
|{{Code|ENFORCEINDEX [boolean]}}
|-
| '''Default'''
|{{Code|false}}
|-
| '''Summary'''
|Enforces index rewritings in path expressions (see [[Indexes#Enforce Rewritings|Enforce Rewritings]] for details).
|}
 
===COPYNODE===
 
{| width='100%'
|-
| width='120' | '''Signature'''
|{{Code|COPYNODE [boolean]}}
|-
| '''Default'''
|{{Code|true}}
|-
| '''Summary'''
|When creating new nodes in XQuery via [https://www.w3.org/TR/xquery-31/#id-constructors Node Constructors], all enclosed nodes will be copied, and all resulting nodes will get new node identities. This step can be very expensive, and it can be disabled with this option. The option should be used carefully, as it changes the standard behavior of XQuery. It should preferrably be used in [[XQuery Extensions#Database Pragmas|Pragmas]].
|}
=Changelog=
 
;Version 9.7
* Updated: {{Option|GZIP}}: Support for POST and PUT requests.
 
;Version 9.6
* Added: {{Option|UNROLLLIMIT}}, {{Option|WRAPJAVA}}
 
;Version 9.5
* Updated: {{Option|INLINELIMIT}}: default reduced to 50.
* Updated: {{Option|RESTXQERRORS}}: additionally suppress stack trace in HTTP response
;Version 9.4
;Version 8.5
 
* Added: {{Option|CACHETIMEOUT}}, {{Option|LOGPATH}}
* Updated: {{Option|AUTHMETHOD}}: {{Code|custom}} value added.
;Version 8.4
 
* Added: {{Option|TOKENINDEX}}, {{Option|TOKENINCLUDE}}
* Added: {{Option|SPLITSIZE}} (replacing <code>INDEXSPLITSIZE</code> and <code>FTINDEXSPLITSIZE</code>)
;Version 8.3
 
* Added: {{Option|CACHERESTXQ}}, {{Option|TEXTINCLUDE}}, {{Option|ATTRINCLUDE}}, {{Option|FTINCLUDE}}, {{Option|ARCHIVENAME}}
;Version 8.2
 
* Removed: <code>EVENTPORT</code>, <code>CACHEQUERY</code>
;Version 8.1
 
* Added: {{Option|IGNORECERT}}, {{Option|RESTPATH}}
;Version 8.0
 
* Added: {{Option|MIXUPDATES}}, {{Option|AUTOOPTIMIZE}}, {{Option|AUTHMETHOD}}, {{Option|XINCLUDE}}
* Updated: {{Option|PROXYPORT}}: default set to 0; will be ignored. {{Option|PROXYHOST}}, {{Option|NONPROXYHOSTS}}: empty strings will be ignored.
;Version 7.7
 
* Added: {{Option|ADDCACHE}}, {{Option|CHECKSTRINGS}}, {{Option|FTINDEXSPLITSIZE}}, {{Option|INDEXSPLITSIZE}}
;Version 7.6
 
* Added: {{Option|GLOBALLOCK}}
* Added: store local options in configuration file after {{Code|# Local Options}} comments.
;Version 7.5
 
* Added: options can now be set via system properties
* Added: a pragma expression can be used to locally change database options
;Version 7.3
 
* Updated: {{Option|KEEPALIVE}}, {{Option|TIMEOUT}}: default values changed
* Removed: {{Code|WILDCARDS}}; new index supports both fuzzy and wildcard queries
;Version 7.2
 
* Added: {{Option|PROXYHOST}}, {{Option|PROXYPORT}}, {{Option|NONPROXYHOSTS}}, {{Option|HTMLOPT}}
* Updated: {{Option|TIMEOUT}}: ignore timeout for admin users
;Version 7.1
 
* Added: {{Option|ADDRAW}}, {{Option|MAXLEN}}, {{Option|MAXCATS}}, {{Option|UPDINDEX}}
* Updated: {{Option|BINDINGS}}
;Version 7.0
 
* Added: {{Option|SERVERHOST}}, {{Option|KEEPALIVE}}, {{Option|AUTOFLUSH}}, {{Option|QUERYPATH}}
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu