This chapter provides guidelines and warnings for preparing for changes expected in a future release, such as announcements of deprecated interfaces. You are not required to make changes related to the topics in this section at this time, but you should plan to do so in the future.
The XQuery 0.9-ml dialect has been deprecated and will no longer be supported in a future release. MarkLogic recommends that you port any legacy 0.9-ml XQuery code to either enhanced XQuery dialect (1.0-ml) or strict XQuery dialect (1.0). For more information, see Porting 0.9-ml XQuery Code to Enhanced 1.0-ml in the XQuery and XSLT Reference Guide.
Template Driven Extraction (TDE) functions are also affected by this deprecation. The function cts:valid-index-path may throw error messages if you do not upgrade your code to XQuery dialect 1.0-ml or 1.0.
In MarkLogic 9, the Packaging API was deprecated. It has been removed from the product in MarkLogic 10.
For information about the deprecated endpoints and the alternative endpoints to use instead, see
The following table lists the deprecated endpoints and the new alternative.
The XQuery library modules in the info
and infodev
namespaces are deprecated as of MarkLogic 9 and will be removed from the product in a future release. For example, the functions info:ticket and infodev:ticket-create are deprecated.
The search:parse XQuery function and search.parse Server-Side JavaScript functions can return an annotated cts:query
if you pass in "cts:annotated-query"
as the output format parameter value. As of MarkLogic 9, use of "cts:annotated-query"
is deprecated. Support for this format will be removed in a future release.
If you currently use the annotated query output as an intermediate step in a transformation, you should use the structured query ("search:query"
) output format instead. Runtime modification of queries is a primary use case for structured query. For more details, see Searching Using Structured Queries in the Search Developer's Guide.
If you currently use the annotated query output format to recover the original query text using search:unparse, you should cache the original query text yourself.
Customizing the string query grammar through the Search API grammar
query option is now deprecated. Support for this feature will be removed in a future release.
If your application currently relies on a Search API grammar customization, you should consider alternatives such as the following:
Due to security and performance considerations, beginning in MarkLogic 9.0-10, the searchable-expression
property/element in query options is deprecated.
In addition, in 9.0-10 and moving forward, the searchable-expression
requires the eval-search-string
privilege.
Before MarkLogic 11, Search API users should modify queries that use query options with searchable expressions to remove the searchable-expression
. The replacement is as follows:
The -tolerate_error
s option of the mlcp import
command is deprecated (and ignored) as of MarkLogic 9.0-2. The option will be removed in a future release. mlcp now always tolerates errors.
The XQuery prolog option xdmp:transaction-mode
is deprecated as of MarkLogic 9.0-2. Use the xdmp:commit and xdmp:update
prolog options instead.
Note that the new prolog options differ from xdmp:transaction-mode
in that they affect only the transaction create after their declaration, where as xdmp:transaction-mode
settings persist across an entire session.
The following table illustrates the correspondence between the old and new options settings.
Note that the default values for xdmp:commit and xdmp:update
are both auto, so you do not need to set this value explicitly in most cases.
For more details, see xdmp:update and xdmp:commit in the XQuery and XSLT Reference Guide.
The transaction-mode
option of the xdmp:eval XQuery function and the xdmp.eval JavaScript function is deprecated as of MarkLogic 9.0-2. Use the commit
and update
options instead. For more details, see the function reference documentation for xdmp:eval (XQuery) and xdmp.eval (JavaScript).
This option deprecation (and alternative option settings apply to the following functions:
XQuery | JavaScript |
---|---|
xdmp:eval | xdmp.eval |
xdmp:javascript-eval | xdmp.xqueryEval |
xdmp:invoke | xdmp.invoke |
xdmp:invoke-function | xdmp.invokeFunction |
xdmp:spawn | xdmp.spawn |
xdmp:spawn-function |
The following table illustrates the correspondence between the old and new option settings:
Use of Session.setTransactionMode
to specify commit semantics and transaction type is deprecated as MarkLogic 9.0-2. This function will be removed in a future version. Use the new Session.setAutoCommit
and Session.setUpdate
methods instead.
The following table illustrates how to replace calls to setTransactionMode
with equivalent calls to setAutoCommit
and setUpdate
.
Java Client API 4.0.2 introduces the following deprecations.
The com.marklogic.client.extra.httpclient.HttpClientConfigurator
interface is deprecated and will be removed in a future release. Use the new com.marklogic.client.extra.okhttpclient.OkHttpClientConfigurator
interface instead. Attaching a configurator based on HttpClientConfigurator
to a DatabaseClientFactory
object no longer has any effect on the HTTP configuration.
The single parameter version of DatabaseClientFactory.SecurityContext.withSSLContext
has been deprecated and will be removed in a future release. Instead, use the new version that requires an X509TrustManager
as its second parameter. This change affects all classes that implement DatabaseClientFactory.SecurityContext
, such as DatabaseClientFactory.CertificateAuthContext
, DatabaseClientFactory.KerberosAuthContext
, and DatabaseClientFactory.DigestAuthContext
.
Java Client API 4.0.4 deprecates the following interfaces:
The Java Client API interfaces for configuration namespace bindings are deprecated as of version 4.0.4 and will be removed in a future release.
Instead, you should use the REST Management API to define namespace bindings for your App Server. For details, see the namespaces
property of the payload for PUT:/manage/v2/servers/{id|name}/properties
.
This deprecation notice affects the following components of the Java Client API:
The method QueryBatcher.getQuerySuccessListeners
is deprecated as of Java Client API 4.0.0 and will be removed in a future release. Use QueryBatcher.getUrisReaderListeners
instead.
Both methods do the same thing in the same way. You do not need to change anything but the method name.
The REST Client API methods for configuring namespace bindings are deprecated as of MarkLogic 9.0-5 and will be removed in a future release.
Instead, you should use the REST Management API to define namespace bindings for your App Server. For details, see the namespaces
property of the payload for PUT:/manage/v2/servers/{id|name}/properties
.
This deprecation notice affects the following methods of the REST Client API:
In MarkLogic 9.0-5, the Configuration Packaging XQuery API library has been deprecated. It will be removed from the product in a future release.
The following table lists the deprecated methods and the new alternative.
Deprecated Methods | Alternative |
---|---|
Configuration Packaging (pkg: ) library:
|
Use the following methods of the Configuration Management ( For more details, see Configuration Management API (CMA) XQuery and JavaScript Libraries. |
The Configuration Manager tool is deprecated starting with MarkLogic 9.0-5 and removed from MarkLogic Server in version 10.0-3.
The Hadoop Connector is deprecated starting with MarkLogic release 10.0-3 and will be removed from the product in a future release.
Database searches using only one or two characters have been deprecated.