Progress DataDirect Autonomous REST Connector for JDBC
An asterisk (*) indicates support that was added in a hotfix or software patch subsequent to a release.
Version 6.0.1
ENHANCEMENTS
- The following enhancements have been made to improve how the driver handles
assigning primary keys for tables:
- The logic the driver uses to assign the default primary key has been
improved to provide more accurate results.
- A list of viable primary key candidates can be reviewed by querying the
INFORMATION_SCHEMA.SYSTEM_SAMPLING_STATUS system table. If you need to
designate a primary key other than the default, the PRIMARY_KEY_CANDIDATES
column provides you with a quick reference of candidates ranked by the how
well they meet the primary key criteria.
- The driver has been enhanced to generate a primary key column, ROWID, if no
viable candidates were discovered during sampling.
See Determining the primary key for more details.*
Available: 9/10/2024 | 6.0.1.006612
- The driver has been enhanced to detect JSON roots in endpoint responses
during sampling. When mapping the response, the driver maps the embedded
objects in the root to a dedicated table. You can modify the detected JSON
root for an endpoint using the JSON Root field in the Autonomous REST
Composer or the JSONRoot property. See Sampling REST endpoints and JSONRoot for more details.*
Available: 9/10/2024 | 6.0.1.006612 - The driver has been enhanced to successfully connect and expose a schema even
if some of the endpoints in the Model are unable to be sampled. To support
this new behavior, the following new features have been introduced:
- The driver now supports configurable failure tolerance when sampling
endpoints. By configuring the new SamplingFailureTolerence property, you
can specify the number of endpoints for which sampling can fail before the
driver fails the connection. See SamplingFailureTolerance for more details.*
- The driver has been enhanced to allow you to review the status of endpoints
to verify that they have been successfully sampled. You can query the
statuses of your endpoints in the new
INFORMATION_SCHEMA.SYSTEM_SAMPLING_STATUS system table. See Reviewing the status of your endpoints for more details.*
Available: 3/1/2024 | 6.0.1.006338
- The driver has been enhanced to support OAuth 2.0 flows that require client
credentials be specified in only a basic authentication header or only as a
URL parameter to request an access token. You can configure how client
credentials are sent in a request using the ClientCredentialsMode property. See ClientCredentialsMode and OAuth 2.0 authentication for more details.*
Available: 3/1/2024 | 6.0.1.006338
- The driver has been enhanced to support specifying default filter values
(WHERE clauses) for SQL queries. You can specify your list of default
parameters using the DefaultQueryOptions property. See DefaultQueryOptions for more details.*
Available: 3/1/2024 | 6.0.1.006338
- The driver's next page token paging support has been enhanced to use URLs,
query parameter values, and HTTP header values that are returned in either a
response body and header. To configure these mechanisms, the driver has added
support for the new nextPageRequestHeader and nextPageResponseHeader
parameters in the Model files. See Paging for more details.*
Available: 3/1/2024 | 6.0.1.006338
- The Autonomous REST Composer has been enhanced with a new SQL Editor tool.
The new SQL Editor allows you to execute test queries with an improved
interface, which includes a view of your schemas, table details, and results.*
Available: 12/7/2023 | 6.0.1.006190
- The Configuration Manager has been enhanced to simplify configuring OAuth 2.0
authentication. When specifying one of the new grant flow specific values for
the AuthenticationMethod property, the Configuration Manager exposes only
properties related to your grant flow. This functionality assists you in
configuring your grant flow by showing you what information the driver needs
to authenticate. Note that the existing OAuth2 value for the
AuthenticationMethod property will continue to be supported.*
Available: 11/21/2023 | 6.0.1.006171
- The driver has been enhanced to support the PKCE grant type for OAuth 2.0
authentication.*
Available: 11/21/2023 | 6.0.1.006171
- The driver has been enhanced to the support the JWT (JSON Web Token) bearer
grant type for OAuth 2.0 authentication. You can configure the JWT bearer
grant authentication using the new ClaimsIssuer, ClaimsSubject,
JWTCertAlias, JWTCertPassword, and JWTCertStore properties.*
Available: 11/21/2023 | 6.0.1.006171
- The driver has been enhanced to support fetching access and refresh tokens
at connection when OAuth 2.0 is enabled. When using the new dynamic
authorization code grant, you can initiate an authorization code grant flow
by specifying login credentials using the login prompt for your REST service,
thereby providing a method to authenticate without fetching access and
refresh tokens via the Configuration Manager or third-party application. In
addition, the new EnableLoginPrompt property has been added to configure this
functionality.*
Available: 11/21/2023 | 6.0.1.006171 - The driver has been enhanced to support next token paging for APIs that use
a query parameter (for example, starting_after) to determine what data value
to start after, when returning the next page of results.*
Available: 11/21/2023 | 6.0.1.006171 - The driver has been enhanced to support modifying documents in document stores using pre-defined stored procedures. The prebuilt Model files for the following data stores have been updated to allow your applications to fetch, insert, update, and delete documents:*
- Amazon S3
- Box
- Dropbox
- Google Drive
- Microsoft Azure Data Lake Storage
- The driver has been enhanced to support user-defined functions and procedures. To be used by the driver, user-defined functions and procedures can be defined in the Model file or by the application.
- Update operation functionality has been enhanced to support APIs that require using PATCH, PUT, or POST methods that send only changed fields in the body. You can configure update operations using the #update and #sendonlyupdated parameters in the
Model file. *
- The driver has been enhanced to support designating columns as read-only using the model file with the new #readonly element. See for more information. *
- The driver has been enhanced to support flagging columns as nullable using the model file with the new #notnull element. See for more information. *
- The driver has been enhanced to support write operations, including Insert, Update, and Delete statements. To enable write operations for an endpoint, you must configure the new #insert, #update, #delete parameters in the Model file.*
- The Autonomous REST Composer has been enhanced to allow you to define parameter values in endpoints as variables. This functionality simplifies the sharing of Model files by allowing you to designate user-specific values as variables. Users with whom
you share the file can then provide default values for these variables that are replaced across their REST model file, allowing them to quickly customize the endpoints according to their use cases.*
- The driver has been updated with the new JSONRoot connection property, which allows you to limit the results mapped to tables to only the specified object when you have multiple objects in an endpoint. This option provides a method to map only the
data relevant to your application.*
- The Autonomous REST Composer has been enhanced to allow you to limit the values displayed in the Authentication Method drop-down field to only those supported by the data source, instead of all those supported by the driver. You can select which fields
you want to display by selecting them from the Configure Authentication Method(s) field on the Connection tab.*
- The driver now includes a library of Progress developed Recipe (input REST) files to connect to publicly accessible REST services. The Recipe files fully define the requests and pagination settings for a data source, eliminating the need to create
your own input REST file. After selecting your data source from the Configuration Manager, you only need to provide your authentication credentials to begin accessing your data.*
- The Configuration Manager has been enhanced with role-specific work flows:*
- The developer view of the Configuration Manager provides access to the new Recipes library, REST Management Tool, and configuration properties. In addition, the Hub window has been added that includes access to training videos, documentation,
and technical support. The developer's view can be launched through the new desktop and Start menu icons.
- The user's view provides a simplified interface that allows you to configure and test your connection. You can launch the user's view by double-clicking on the autorest.jar file or launching it from a command prompt.
- The driver now supports responses returned in XML and CSV formats in addition to JSON. When sampling an endpoint, the driver detects the format of the response before mapping the objects to the relational view of the data. If multiple formats are
supported by the service, the driver defaults to using JSON; however, you can also configure the driver to use your preferred format.*
- The driver has been enhanced to support passing custom HTTP headers when using OAuth 2.0 authentication. When OAuth 2.0 is enabled (AuthenticationMethod=OAuth2), you can now pass the HTTP header name with the AuthHeader property and the ID value with
the SecurityToken property. This functionality can be used for passing the ID string for tenant ID authentication.*
- The driver has been enhanced to support AWS (Amazon Web Services) credentials authentication. When AWS credentials authentication is enabled (AuthenticationMethod=AWS), you can configure AWS credentials using the new AccessKey, Region, and SecretKey
properties.
- The driver has been enhanced to support issuing POST requests that use custom parameters. This allows for filtering in scenarios where complex parameter syntax is employed, such as using complicated JSON data or empty arrays.*
- The driver has been enhanced to support issuing GET requests that use custom parameters, such as those supported by JQL or SOQL, when filtering results. Using the custom parameters supported by your service allows queries to be processed before returning
results to the driver, thereby resulting in more efficient processing.*
- Includes the DataDirect JDBC Driver Configuration Manager for quick configuration and testing of your driver. This tool allows you to:
- Generate and edit connection URLs
- Test connect connection URLs
- Execute SQL commands for testing
- Fetch OAuth tokens
- Access connection property descriptions and the full product documentation
- The Data Direct JDBC Configuration Manger has been enhanced to support the generation of input REST files. This provides you with a method to quickly generate and edit a REST input file.
- The driver has been enhanced to support bearer token and digest authentication.
- The new HealthURI connection property provides a method to allow you test connectivity for authentication methods, such as Basic, Digest, URL Parameter-based, or HTTP header-based, that do not perform an explicit action upon connection.
- The new TransactionMode connection property allows you to determine how the driver handles manual transactions.
- The driver has been enhanced to use proxy server settings defined in the JVM system properties by default. If no proxy settings are defined in the connection string or data source, the driver will attempt to use the values of the http.proxyHost and
http.proxyPort JVM system properties to connect to the database.
- The driver has been enhanced to support the following new paging parameters in the input REST file: fieldListParameter, hasMoreElement, pageSizeElement, totalPagesElement, and totalRowsElement.
- The driver has been enhanced to include timestamp in the Spy and JDBC packet logs by default. If required, you can disable the timestamp logging by specifying the following at connection: For Spy logs, set spyAttributes=(log=(file)Spy.log;timestamp=no)
and for JDBC packet logs, set ddtdbg.ProtocolTraceShowTime=false.
- Interactive SQL for JDBC (JDBCISQL) is now installed with the product. JDBCISQL is a command-line interface that supports connecting your driver to a data source, executing SQL statements and retrieving results in a terminal. This tool provides a
method to quickly test your drivers in an environment that does not support GUIs.
- The driver has been enhanced to allow you to define custom authentication requests, including the new CustomAuthParams connection property. If your service does not support one of the standard authentication methods supported by the driver, you can
modify the input REST file to define a custom authentication flow.
- The driver has been enhanced to allow you to customize how HTTP response status codes are processed by the driver. By configuring the input REST file, you can define error responses for codes that are returned by the service, including driver actions
and error messages.
- The driver has been enhanced to support OAuth 2.0 authentication.
- The driver has been enhanced to support requests for endpoints that use custom HTTP-headers.
CHANGED BEHAVIOR
- The driver has been updated to remove all sensitive values from the string
returned by calling getURL(). You might be impacted if your applications or
tests expect these values when calling the function.*
Available: 12/10/2024 - Terminology changes in the product interface and documentation:
- The input REST files and Recipe files are now collectively referred to as Model files. The functionality of the files has not been modified as a result of this change.
- The REST Management Tool is now referred to as the Autonomous REST Composer. The functionality of the tool has not been modified as a result of this change.
- The CreateMap and SchemaMap properties are no longer supported. The driver now generates the schema map for each session and stores it internal memory.
- The LoginTimeout property is no longer supported. The LoginTimeout property was used to specify the amount of time that the driver waited for a connection to be established before timing out the connection request.
Version 6.0.0
CERTIFICATIONS
- The driver has been certified with Oracle JDK 11*
Driver version 6.0.0.000191 (C0075.F000174.U000090) - The driver has been certified with OpenJDK 11*
Driver version 6.0.0.000191 (C0075.F000174.U000090) - The driver has been certified with OpenJDK 8 on Windows and Linux*
Driver version 6.0.0.000191 (C0075.F000174.U000090)
FEATURES
- Supports SQL read-only access to REST API endpoints returning JSON payloads
- Supports JDBC core functions
- Supports standard JSON data types and additional data types through data type inference
- Supports using internal memory or a configurable REST file to define REST responses and relational mapping
- Heuristically maps data types, eliminating the need to define native data types in most scenarios
- Supports basic, HTTP-header based, URL-Parameter based and no authentication
- Supports the handling of large result sets with configurable paging and the FetchSize and WSFetchSize connection properties