Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
a553bde
bump snapshot
itsankit-google Oct 30, 2023
1b508f6
Merge pull request #468 from data-integrations/bump-snapshot
itsankit-google Oct 30, 2023
f949fbe
cdap e2e framework snapshot version fix
itsmekumari Nov 1, 2023
e5b4e3c
Merge pull request #470 from cloudsufi/bump_snapshot_version_fix
Vipinofficial11 Nov 2, 2023
1ea0d68
Redshift source and connector plugin added.
vikasrathee-cs Sep 20, 2023
6bc17b9
Merge pull request #471 from cloudsufi/redshift_addition
vikasrathee-cs Nov 28, 2023
4d8bc97
Fix for connection arguments not getting updated.
vikasrathee-cs Dec 5, 2023
e075690
Redshift Junits
Shubhangi-cs Dec 6, 2023
e076c4c
Merge pull request #475 from cloudsufi/RedshiftTestCases
vikasrathee-cs Dec 15, 2023
2657283
Merge pull request #473 from cloudsufi/mysql-fix-conn-args
vikasrathee-cs Dec 27, 2023
a0ad9bf
ConnectionString calculation refactoring (#476)
MrRahulSharma Jan 3, 2024
e2b5b4d
Fixed Typo in connection function call. (#477)
MrRahulSharma Jan 4, 2024
b6b35aa
Add cucumber report url to the workflow
itsankit-google Jan 4, 2024
2b47611
Merge pull request #478 from data-integrations/add-cucumber-report-url
itsankit-google Jan 4, 2024
84b1f93
Fix non-nullable datetime when zeroDateTimeBehavior is CONVERT_TO_NULL.
damjad Mar 15, 2024
3ab084b
Merge pull request #489 from damjad/develop
itsankit-google May 15, 2024
648826b
oracle issue commit
vikasrathee-cs Jun 14, 2024
e966109
Merge pull request #497 from cloudsufi/oracle-case-issue
vikasrathee-cs Jun 17, 2024
4e33952
Add e2e test case for small case schema.
vikasrathee-cs Jun 18, 2024
aaad414
Merge pull request #500 from cloudsufi/oracle-unit-test-case
vikasrathee-cs Jun 19, 2024
f98c74f
e2e workflow added for release branches
vikasrathee-cs Jun 20, 2024
9641b17
Merge pull request #504 from cloudsufi/e2e-workflow-fix
vikasrathee-cs Jun 21, 2024
eecb77b
Run build with unit tests without elevated permissions
masivesky Sep 2, 2024
a83eaac
Merge pull request #508 from data-integrations/sec-vuln-fix-develop
itsankit-google Sep 3, 2024
e9dd995
Enable TLS Support (DTS - Specific)
Vipinofficial11 Oct 7, 2024
f0347b9
Merge pull request #515 from cloudsufi/enableSSLConnections
Vipinofficial11 Oct 21, 2024
ca328a2
Added fix for date datatype
vikasrathee-cs Oct 15, 2024
acd47fa
Merge pull request #516 from cloudsufi/oracle-date-issue-dev
vikasrathee-cs Oct 23, 2024
7be2c44
Escape column names
Oct 23, 2024
81c8853
Merge pull request #514 from cloudsufi/pathc/escape-column-names-clou…
Nov 5, 2024
9425f0c
Bump CDAP version to 6.11.0-SNAPSHOT
Nov 21, 2024
b4b3db2
Merge pull request #524 from cloudsufi/bump/cdap-version
Nov 21, 2024
2d497ae
upgrade github actions v3 to v4
AnkitCLI Dec 2, 2024
91d0ff7
Merge pull request #525 from cloudsufi/upgradeGithubActions
itsankit-google Dec 2, 2024
26dc98e
Add MysqlErrorDetailsProvider
Dec 5, 2024
23af441
Merge pull request #523 from cloudsufi/fem/mysql
Dec 9, 2024
5a01e86
Bump cdap-data lower bound
Dec 13, 2024
fa9635e
Merge pull request #529 from cloudsufi/bump/cdap-data-lb
itsankit-google Dec 16, 2024
24860ed
Add CloudSQLMySQLErrorDetailsProvider
Dec 17, 2024
2751b6d
Merge pull request #526 from cloudsufi/fem/cloudsql-mysql
Dec 17, 2024
5937192
Add errorCodeType, errorCode & supportedDocURL in exception
Dec 17, 2024
0ef198a
Merge pull request #530 from cloudsufi/patch/errorCodeTypeExtention
Dec 18, 2024
9b9d979
Add PostgresErrorDetailsProvider
Dec 19, 2024
5af79a6
Merge pull request #527 from cloudsufi/fem/postgresql
Dec 20, 2024
206d5c9
Add CloudSQLPostgreSQLErrorDetailsProvider
Dec 20, 2024
6c26773
e2e mysql source additional tests
itsmekumari Dec 18, 2024
00c5e96
Merge pull request #531 from cloudsufi/e2e-tests_mysql
AnkitCLI Dec 20, 2024
80e17e5
Merge pull request #528 from cloudsufi/fem/cloud-postgresql
Dec 27, 2024
954447b
e2e mysql sink additional tests
itsmekumari Dec 20, 2024
9f13a64
Merge pull request #534 from cloudsufi/e2e-mysqlsink-tests
itsankit-google Jan 6, 2025
4bd5971
fix e2e workflow to run on release branches
itsankit-google Jan 15, 2025
df169f8
Merge pull request #537 from data-integrations/update-e2e-workflow
itsankit-google Jan 15, 2025
10288ce
Add ExternalDocumentationLink in abstract sink
Dec 27, 2024
d9493d9
Merge pull request #541 from cloudsufi/cherry-pick/5952ef738031950e35…
Jan 23, 2025
7fdc40e
Return null for ErrorDetailsProvider by default
Jan 23, 2025
a881002
Merge pull request #542 from cloudsufi/cherry-pick/6de940cb40bf9dc23e…
Jan 24, 2025
4137fe9
Bump cdap.plugin.version to 2.13.0-SNAPSHOT
Jan 27, 2025
f50aab5
Merge pull request #547 from cloudsufi/bump/cdap.plugin.version-2.13.…
Jan 27, 2025
35607b5
Revert cdap.plugin.version to 2.13.0-SNAPSHOT
Jan 28, 2025
baa3e8c
Merge pull request #550 from cloudsufi/cherry-pick/69a2af04cfa0984177…
itsankit-google Jan 28, 2025
1d8b968
Remove DBErrorDetailsProvider
Jan 29, 2025
f0ce6d2
Merge pull request #553 from cloudsufi/cherry-pick/8d7e9cd90ae48bd62b…
Jan 29, 2025
35b1f6b
Add OracleErrorDetailsProvider
Jan 24, 2025
268e2c4
Merge pull request #551 from cloudsufi/cherry-pick/96702fdee831722ff3…
Jan 30, 2025
34e08e0
Add SqlServerErrorDetailsProvider
Jan 24, 2025
4b701ad
Merge pull request #552 from cloudsufi/cherry-pick/53cfd3af30e32290c7…
Jan 30, 2025
9e86b11
Show correct DB name in error string
Jan 27, 2025
2acdae1
Merge pull request #554 from cloudsufi/cherry-pick/0d75ef3a945240a677…
Jan 31, 2025
fd55012
e2e tests pipeline preview error fix
itsmekumari Jan 31, 2025
d685d91
Merge pull request #559 from cloudsufi/cherry-pick/f4a420a7cc37e666e3…
Feb 7, 2025
858a7cc
Removing snapshot for 6.11 release
masivesky Mar 9, 2025
6fe7627
Merge pull request #564 from data-integrations/remove-snapshot
masivesky Mar 10, 2025
a3a0613
Updating cdap version to 6.11
masivesky Mar 13, 2025
e2336f4
Merge pull request #565 from data-integrations/cdap-version-update
itsankit-google Mar 17, 2025
2721685
Bump 1.12.1-SNAPSHOT
Apr 2, 2025
4268940
Merge pull request #572 from cloudsufi/bump/plugin-version
Apr 2, 2025
30bf808
Bumped to 2.13.1-SNAPSHOT
Apr 2, 2025
85943f2
Merge pull request #571 from cloudsufi/bump/cdap.plugin.version
Apr 2, 2025
525cf2e
Error Management AbstractDBAction
Mar 17, 2025
4db86b4
Merge pull request #575 from cloudsufi/cherry-pick/9b368503054ab58786…
Apr 2, 2025
adf1d23
Add MariadbDBRecord implementations
Apr 14, 2025
8cd1678
Merge pull request #576 from cloudsufi/cherry-pick/acd511cbf194305faa…
Apr 15, 2025
0805c05
Add MariadbErrorDetailsProvider
Apr 11, 2025
a4664b3
Merge pull request #581 from cloudsufi/cherry-pick/5b997a08b718a2dfab…
Apr 16, 2025
8777c32
Remove snapshot to release 1.12.1
Apr 16, 2025
b6ae33a
Merge pull request #582 from cloudsufi/bump/rc-1.12.1
Apr 17, 2025
cf99b4d
Bump version to 1.12.2-SNAPSHOT in pom.xml for all database plugins
May 5, 2025
a88d9f0
Merge pull request #590 from cloudsufi/bump/1.12.2-snapshot
May 5, 2025
1c0c4b6
Skip field validation for compatiblity
May 2, 2025
b54b240
Merge pull request #591 from cloudsufi/cherry-pick/2a56874ce8f8c8c19d…
May 5, 2025
9e3be1d
Set TRANSACTION_ISOLATION_LEVEL config in MySQL, PostgreSQL & MSSQL p…
Apr 21, 2025
5b58f8a
Merge pull request #594 from cloudsufi/cherry-pick/f4650e13274f73e8c1…
sgarg-CS May 6, 2025
829e0e7
Added changes for New committer to have commit/rollback in commit/abo…
vikasrathee-cs Apr 23, 2025
1770ecf
Merge pull request #593 from cloudsufi/cherry-pick/e00f23f51a8e6834e8…
vikasrathee-cs May 7, 2025
213bb8d
Update version to 1.12.2 in pom.xml for all database plugins
May 7, 2025
ddc782a
Merge pull request #596 from cloudsufi/bump/remove-snapshot/rc-1-12-2
May 7, 2025
a96b7da
[PLUGIN-1893] Adding fields in Oracle source and connector which acts…
sahusanket Jun 3, 2025
13520c4
Bumping Snapshot.
sahusanket Jun 3, 2025
af4b031
Merge pull request #602 from data-integrations/cherry_PLUGIN-1893_6_11
sahusanket Jun 4, 2025
525a91d
removing Snapshot for hub release
sahusanket Jun 4, 2025
33d3d22
Merge pull request #604 from data-integrations/removing_snap_for_hub_rel
sahusanket Jun 4, 2025
59e9484
CDAP OSS migration for CDF 6.11
dj-smart Jul 11, 2025
7dcb680
Merge pull request #610 from data-integrations/mig_oss_cdf_611
dj-smart Jul 11, 2025
c78ec82
mark dependencies as test scope
itsankit-google Jul 21, 2025
0fa83f6
Merge pull request #613 from data-integrations/remove-test-deps
itsankit-google Jul 21, 2025
768575e
Add required for maven central publishing
itsankit-google Aug 6, 2025
57f9b19
Merge pull request #616 from data-integrations/fix-maven-publishing-c…
itsankit-google Aug 6, 2025
c60c688
Remove -SNAPSHOT from Version
Aug 20, 2025
f648392
Merge pull request #617 from data-integrations/snapshot-remove
itsankit-google Aug 20, 2025
86f19de
Verify Goal Removal
AnkitCLI Sep 10, 2025
a2b3ae1
Merge pull request #622 from data-integrations/cherrypick/6552c287853…
AnkitCLI Sep 12, 2025
f10bbf9
bump up to 1.12.4-SNAPSHOT
vikasrathee-cs Oct 7, 2025
7a3fca6
Add hidden treatTimestampLTZAsTimestamp
Amit-CloudSufi Sep 30, 2025
3474cad
Merge pull request #631 from data-integrations/timestampLTZ-change
vikasrathee-cs Oct 8, 2025
7a62d47
oracle sink update upsert
Mar 30, 2026
99951d3
cdap e2e framework version
itsmekumari Apr 6, 2026
081c0d5
updated cdap-e2e-framework from 0.4.1 to 0.4.2
vedanshugarg04 May 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .github/workflows/build-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Copyright © 2024 Cask Data, Inc.
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.

# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
# Note: Any changes to this workflow would be used only after merging into develop
name: Build Unit Tests Report

on:
workflow_run:
workflows:
- Build with unit tests
types:
- completed

jobs:
build:
runs-on: ubuntu-latest

if: ${{ github.event.workflow_run.conclusion != 'skipped' }}

steps:
# Pinned 1.0.0 version
- uses: marocchino/action-workflow_run-status@54b6e87d6cb552fc5f36dbe9a722a6048725917a

- name: Download artifact
uses: actions/download-artifact@v4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
run-id: ${{ github.event.workflow_run.id }}
path: artifacts/

- name: Surefire Report
# Pinned 3.5.2 version
uses: mikepenz/action-junit-report@16a9560bd02f11e7e3bf6b3e2ef6bba6c9d07c32
if: always()
with:
report_paths: '**/target/surefire-reports/TEST-*.xml'
github_token: ${{ secrets.GITHUB_TOKEN }}
detailed_summary: true
commit: ${{ github.event.workflow_run.head_sha }}
check_name: Build Test Report

45 changes: 21 additions & 24 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,28 +15,34 @@
name: Build with unit tests

on:
workflow_run:
workflows:
- Trigger build
types:
- completed
push:
branches: [ develop, release/** ]
pull_request:
branches: [ develop, release/** ]
types: [opened, synchronize, reopened, labeled]

jobs:
build:
runs-on: k8s-runner-build

if: ${{ github.event.workflow_run.conclusion != 'skipped' }}

# We allow builds:
# 1) When it's a merge into a branch
# 2) For PRs that are labeled as build and
# - It's a code change
# - A build label was just added
# A bit complex, but prevents builds when other labels are manipulated
if: >
github.event_name == 'push'
|| (contains(github.event.pull_request.labels.*.name, 'build')
&& (github.event.action != 'labeled' || github.event.label.name == 'build')
)
steps:
# Pinned 1.0.0 version
- uses: haya14busa/action-workflow_run-status@967ed83efa565c257675ed70cfe5231f062ddd94

- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.event.workflow_run.head_sha }}

- name: Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ github.workflow }}-${{ hashFiles('**/pom.xml') }}
Expand All @@ -47,21 +53,12 @@ jobs:
run: mvn clean test -fae -T 2 -B -V -Dmaven.wagon.http.retryHandler.count=3 -Dmaven.wagon.httpconnectionManager.ttlSeconds=25

- name: Archive build artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: Build debug files
name: reports-${{ github.run_id }}
path: |
**/target/rat.txt
**/target/surefire-reports/*

- name: Surefire Report
# Pinned 3.5.2 version
uses: mikepenz/action-junit-report@16a9560bd02f11e7e3bf6b3e2ef6bba6c9d07c32
if: always()
with:
report_paths: '**/target/surefire-reports/TEST-*.xml'
github_token: ${{ secrets.GITHUB_TOKEN }}
detailed_summary: true
commit: ${{ github.event.workflow_run.head_sha }}
check_name: Test Report

26 changes: 12 additions & 14 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ name: Build e2e tests

on:
push:
branches: [ develop ]
branches: [ develop, release/** ]
pull_request:
branches: [ develop ]
branches: [ develop, release/** ]
types: [ opened, synchronize, reopened, labeled ]
workflow_dispatch:

Expand All @@ -45,7 +45,7 @@ jobs:

steps:
# Pinned 1.0.0 version
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
path: plugin
submodules: 'recursive'
Expand All @@ -61,13 +61,14 @@ jobs:
- '${{ matrix.module }}/**/e2e-test/**'

- name: Checkout e2e test repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: cdapio/cdap-e2e-tests
path: e2e
ref: release/6.11

- name: Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ github.workflow }}-${{ hashFiles('**/pom.xml') }}
Expand Down Expand Up @@ -156,24 +157,21 @@ jobs:
CLOUDSQL_MYSQL_PASSWORD: ${{ steps.secrets.outputs.CLOUDSQL_MYSQL_PASSWORD }}
CLOUDSQL_MYSQL_CONNECTION_NAME: ${{ steps.secrets.outputs.CLOUDSQL_MYSQL_CONNECTION_NAME }}

- name: Upload report
uses: actions/upload-artifact@v3
if: always()
with:
name: Cucumber report - ${{ matrix.module }}
path: ./**/target/cucumber-reports

- name: Upload debug files
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: Debug files - ${{ matrix.module }}
path: ./**/target/e2e-debug

- name: Upload files to GCS
uses: google-github-actions/upload-cloud-storage@v0
uses: google-github-actions/upload-cloud-storage@v2
if: always()
with:
path: ./plugin
destination: e2e-tests-cucumber-reports/${{ github.event.repository.name }}/${{ github.ref }}
glob: '**/target/cucumber-reports/**'

- name: Cucumber Report URL
if: always()
run: echo "https://storage.googleapis.com/e2e-tests-cucumber-reports/${{ github.event.repository.name }}/${{ github.ref }}/plugin/${{ matrix.module }}/target/cucumber-reports/advanced-reports/cucumber-html-reports/overview-features.html"
46 changes: 0 additions & 46 deletions .github/workflows/trigger.yml

This file was deleted.

102 changes: 102 additions & 0 deletions amazon-redshift-plugin/docs/Redshift-batchsource.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Amazon Redshift Batch Source

Description
-----------
Reads from an Amazon Redshift database using a configurable SQL query.
Outputs one record for each row returned by the query.


Use Case
--------
The source is used whenever you need to read from an Amazon Redshift database. For example, you may want
to create daily snapshots of a database table by using this source and writing to
a TimePartitionedFileSet.


Properties
----------
**Reference Name:** Name used to uniquely identify this source for lineage, annotating metadata, etc.

**JDBC Driver name:** Name of the JDBC driver to use.

**Host:** Host URL of the current master instance of Redshift cluster.

**Port:** Port that Redshift master instance is listening to.

**Database:** Redshift database name.

**Import Query:** The SELECT query to use to import data from the specified table.
You can specify an arbitrary number of columns to import, or import all columns using \*. The Query should
contain the '$CONDITIONS' string. For example, 'SELECT * FROM table WHERE $CONDITIONS'.
The '$CONDITIONS' string will be replaced by 'splitBy' field limits specified by the bounding query.
The '$CONDITIONS' string is not required if numSplits is set to one.

**Bounding Query:** Bounding Query should return the min and max of the values of the 'splitBy' field.
For example, 'SELECT MIN(id),MAX(id) FROM table'. Not required if numSplits is set to one.

**Split-By Field Name:** Field Name which will be used to generate splits. Not required if numSplits is set to one.

**Number of Splits to Generate:** Number of splits to generate.

**Username:** User identity for connecting to the specified database.

**Password:** Password to use to connect to the specified database.

**Connection Arguments:** A list of arbitrary string key/value pairs as connection arguments. These arguments
will be passed to the JDBC driver as connection arguments for JDBC drivers that may need additional configurations.

**Schema:** The schema of records output by the source. This will be used in place of whatever schema comes
back from the query. However, it must match the schema that comes back from the query,
except it can mark fields as nullable and can contain a subset of the fields.

**Fetch Size:** The number of rows to fetch at a time per split. Larger fetch size can result in faster import,
with the tradeoff of higher memory usage.

Example
------
Suppose you want to read data from an Amazon Redshift database named "prod" that is running on
"redshift.xyz.eu-central-1.redshift.amazonaws.com", port 5439, as "sa" user with "Test11" password.
Ensure that the driver for Redshift is installed (you can also provide driver name for some specific driver,
otherwise "redshift" will be used), then configure the plugin with:then configure plugin with:

```
Reference Name: "src1"
Driver Name: "redshift"
Host: "redshift.xyz.eu-central-1.redshift.amazonaws.com"
Port: 5439
Database: "prod"
Import Query: "select id, name, email, phone from users;"
Number of Splits to Generate: 1
Username: "sa"
Password: "Test11"
```

Data Types Mapping
------------------

Mapping of Redshift types to CDAP schema:

| Redshift Data Type | CDAP Schema Data Type | Comment |
|-----------------------------------------------------|-----------------------|----------------------------------|
| bigint | long | |
| boolean | boolean | |
| character | string | |
| character varying | string | |
| double precision | double | |
| integer | int | |
| numeric(precision, scale)/decimal(precision, scale) | decimal | |
| numeric(with 0 precision) | string | |
| real | float | |
| smallint | int | |
| smallserial | int | |
| text | string | |
| date | date | |
| time [ (p) ] [ without time zone ] | time | |
| time [ (p) ] with time zone | string | |
| timestamp [ (p) ] [ without time zone ] | timestamp | |
| timestamp [ (p) ] with time zone | timestamp | stored in UTC format in database |
| xml | string | |
| json | string | |
| super | string | |
| geometry | bytes | |
| hllsketch | string | |
26 changes: 26 additions & 0 deletions amazon-redshift-plugin/docs/Redshift-connector.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Amazon Redshift Connection

Description
-----------
Use this connection to access data in an Amazon Redshift database using JDBC.

Properties
----------
**Name:** Name of the connection. Connection names must be unique in a namespace.

**Description:** Description of the connection.

**JDBC Driver name:** Name of the JDBC driver to use.

**Host:** Host of the current master instance of Redshift cluster.

**Port:** Port that Redshift master instance is listening to.

**Database:** Redshift database name.

**Username:** User identity for connecting to the specified database.

**Password:** Password to use to connect to the specified database.

**Connection Arguments:** A list of arbitrary string key/value pairs as connection arguments. These arguments
will be passed to the JDBC driver as connection arguments for JDBC drivers that may need additional configurations.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading