[
https://issues.apache.org/jira/browse/NIFI-14129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Handermann updated NIFI-14129:
------------------------------------
Fix Version/s: 2.2.0
Resolution: Fixed
Status: Resolved (was: Patch Available)
> Add Database Dialect Service
> ----------------------------
>
> Key: NIFI-14129
> URL: https://issues.apache.org/jira/browse/NIFI-14129
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Extensions
> Reporter: David Handermann
> Assignee: David Handermann
> Priority: Major
> Fix For: 2.2.0
>
> Time Spent: 2.5h
> Remaining Estimate: 0h
>
> Several Processors in the standard bundle use the internal
> {{DatabaseAdapter}} interface to delegate SQL statement generation for
> specific vendors. Although the interface provides a layer of abstraction, it
> requires code changes within the standard bundle and does not support
> extension through external implementations. A new Controller Service
> interface should be added that allows external extension for various database
> dialects. This strategy enables Apache NiFi to continue supporting a core set
> of database vendors while allowing third parties to create new
> implementations.
> The new Database Dialect Service should provide a streamlined approach that
> avoids some of the complexities of the current Database Adapter interface.
> The Service interface should introduce a new Statement Type enumeration to
> cover common types such as SELECT, CREATE, INSERT, and others. Service
> methods should use the Statement Type enumeration instead of defining methods
> for each type of supported or unsupported statement.
> To provide an incremental way forward, the Database Dialect Service should be
> a new allowable value among the existing Database Types. With Database
> Dialect Service selected as the Database Type, the Database Dialect Service
> can be configured as regular Controller Service. This approach avoids
> breaking changes to existing database processors and also allows for
> incremental migration of existing implementations. After the initial
> implementation is completed and existing adapters are migrated as part of
> follow on work, then a separate issue can be considered to use property
> migration methods.
> The initial implementation of the Database Dialect Service should support
> generic ANSI SQL, analogous to the Generic Database Adapter. This will
> provide a representative implementation, and subsequent issues can cover work
> on vendor specific services.
> The Database Dialect Service interface should be defined in an API module and
> included in the nifi-standard-services-api-nar as a common point of extension.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)