Picking the right API
This section outlines the differences between the ODBC server API and the REST one. The CData JDBC Driver for MarkLogic offers the possibility to connect to either of the APIs using the connection property API. Both APIs model the same data model (catalogs, schemas, views, and columns).
The ODBC Server API
The ODBC version connects with a PostgreSQL front end on the client by means of the PostgreSQL message protocol. Everything is offloaded to the API. This API is more performant than the REST API. By default, the CData JDBC Driver for MarkLogic will use the ODBC server API. SupportEnhancedSQL is not supported when the ODBC API is selected.
The REST API
The REST API uses the Optic API to query documents. Unlike the ODBC server, some operations are not supported server-side. Some of these operations include formula columns without namespaces, group by, and having expressions in some instances. These operations are instead handled on the client side. The property SupportEnhancedSQL can be used to control this behaviour.