Skip to content

Commit a657196

Browse files
committed
Add MariadbDBRecord implementations
1 parent 0e2579a commit a657196

File tree

4 files changed

+46
-0
lines changed

4 files changed

+46
-0
lines changed

mariadb-plugin/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,12 @@
8383
<version>RELEASE</version>
8484
<scope>compile</scope>
8585
</dependency>
86+
<dependency>
87+
<groupId>io.cdap.plugin</groupId>
88+
<artifactId>mysql-plugin</artifactId>
89+
<version>${project.version}</version>
90+
<scope>compile</scope>
91+
</dependency>
8692
</dependencies>
8793
<build>
8894
<plugins>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* Copyright © 2025 Cask Data, Inc.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
5+
* use this file except in compliance with the License. You may obtain a copy of
6+
* the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations under
14+
* the License.
15+
*/
16+
17+
package io.cdap.plugin.mariadb;
18+
19+
import io.cdap.plugin.mysql.MysqlDBRecord;
20+
21+
/**
22+
* Writable class for MariaDB Source/Sink.
23+
*/
24+
public class MariadbDBRecord extends MysqlDBRecord {
25+
26+
}

mariadb-plugin/src/main/java/io/cdap/plugin/mariadb/MariadbSink.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@
1919
import io.cdap.cdap.api.annotation.Description;
2020
import io.cdap.cdap.api.annotation.Name;
2121
import io.cdap.cdap.api.annotation.Plugin;
22+
import io.cdap.cdap.api.data.format.StructuredRecord;
2223
import io.cdap.cdap.etl.api.batch.BatchSink;
24+
import io.cdap.plugin.db.DBRecord;
2325
import io.cdap.plugin.db.config.DBSpecificSinkConfig;
2426
import io.cdap.plugin.db.sink.AbstractDBSink;
2527

28+
import io.cdap.plugin.mysql.MysqlDBRecord;
2629
import java.util.Map;
2730
import javax.annotation.Nullable;
2831

@@ -45,6 +48,11 @@ public MariadbSink(MariadbSinkConfig mariadbSinkConfig) {
4548
this.mariadbSinkConfig = mariadbSinkConfig;
4649
}
4750

51+
@Override
52+
protected DBRecord getDBRecord(StructuredRecord output) {
53+
return new MysqlDBRecord(output, columnTypes);
54+
}
55+
4856
/**
4957
* MariaDB Sink Config.
5058
*/

mariadb-plugin/src/main/java/io/cdap/plugin/mariadb/MariadbSource.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.cdap.cdap.etl.api.batch.BatchSource;
2323
import io.cdap.plugin.db.config.DBSpecificSourceConfig;
2424
import io.cdap.plugin.db.source.AbstractDBSource;
25+
import org.apache.hadoop.mapreduce.lib.db.DBWritable;
2526

2627
import java.util.List;
2728
import java.util.Map;
@@ -53,6 +54,11 @@ protected String createConnectionString() {
5354
mariadbSourceConfig.host, mariadbSourceConfig.port, mariadbSourceConfig.database);
5455
}
5556

57+
@Override
58+
protected Class<? extends DBWritable> getDBRecordType() {
59+
return MariadbDBRecord.class;
60+
}
61+
5662
/**
5763
* MaraiDB source mariadbSourceConfig.
5864
*/

0 commit comments

Comments
 (0)