[ 
https://issues.apache.org/jira/browse/NIFI-14129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17916091#comment-17916091
 ] 

ASF subversion and git services commented on NIFI-14129:
--------------------------------------------------------

Commit 253a07663ce83b8092735c98f59395d93fd534d5 in nifi's branch 
refs/heads/main from David Handermann
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=253a07663c ]

NIFI-14129 Added Database Dialect Service

- Added database-dialect-service-api
- Added Standard Database Dialect Service implementation
- Added Database Adapter implementation
- Added Database Dialect Service property descriptor to Database Processors
- Refactored Database Processors with optional Database Dialect Service
- Adjusted Derby implementation to throw an exception for more than one column 
in an ALTER TABLE statement construction

This closes #9640.

Signed-off-by: Tamas Palfy <[email protected]>


> 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
>          Time Spent: 2h 10m
>  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)

Reply via email to