## Description - Update the Oracle plugin code to use newer error framework infra. - Add support to fetch DB schema and show dynamic query templates. - The following info is shown to the users as part of the DB schema: table names, column names for each table, column types, primary key, foreign key - Update static query templates. - Update datasource form to show mandatory fields with asterik mark - Update datasource validity check to return error on empty password field - Improve data read for the following types: `timestamp with local time zone` , `clob`, `nclob` - Minor refactor into modular re-usable functions Fixes #20794 #20795 ## Type of change - New feature (non-breaking change which adds functionality) ## How Has This Been Tested? - Manual - JUnit TC to be added via separate PR. Another issue it open to track it. ### Test Plan [Test plan links](https://github.com/appsmithorg/TestSmith/issues?q=is%3Aopen+is%3Aissue+label%3A%22Oracle+SQL+DB%22) ### Issues raised during DP testing https://github.com/appsmithorg/appsmith/issues/21487 ## Checklist: ### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [x] PR is being merged under a feature flag ### QA activity: - [ ] Test plan has been approved by relevant developers - [x] Test plan has been peer-reviewed by QA - [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA - [ ] Cypress test cases have been added and approved by either SDET or manual QA - [ ] Added Test Plan Approved label after reviewing all Cypress tests - [ ] Added Test Plan Approved label after developers review JUnit tests
82 lines
2.8 KiB
XML
Executable File
82 lines
2.8 KiB
XML
Executable File
<?xml version="1.0"?>
|
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>com.appsmith</groupId>
|
|
<artifactId>appsmith-plugins</artifactId>
|
|
<version>1.0-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<groupId>com.external.plugins</groupId>
|
|
<artifactId>oraclePlugin</artifactId>
|
|
<version>1.0-SNAPSHOT</version>
|
|
<name>oraclePlugin</name>
|
|
<url>http://maven.apache.org</url>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<java.version>11</java.version>
|
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.zaxxer</groupId>
|
|
<artifactId>HikariCP</artifactId>
|
|
<version>5.0.1</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<!-- Test Dependencies -->
|
|
<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 -->
|
|
<dependency>
|
|
<groupId>com.oracle.database.jdbc</groupId>
|
|
<artifactId>ojdbc8</artifactId>
|
|
<version>21.9.0.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>oracle-xe</artifactId>
|
|
<version>1.17.2</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>jdbc-test</artifactId>
|
|
<version>1.11.4</version>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-dependencies</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>copy-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<includeScope>runtime</includeScope>
|
|
<outputDirectory>${project.build.directory}/lib</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|