Skip to content

Commit 05539d9

Browse files
committed
simplified api for creating JdbcToDataFrameConverter instances to builder-like pattern
1 parent 699aa38 commit 05539d9

4 files changed

Lines changed: 208 additions & 292 deletions

File tree

dataframe-jdbc/api/dataframe-jdbc.api

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,19 @@ public final class org/jetbrains/kotlinx/dataframe/io/db/H2$Mode$Companion {
192192
public final fun fromValue (Ljava/lang/String;)Lorg/jetbrains/kotlinx/dataframe/io/db/H2$Mode;
193193
}
194194

195-
public class org/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter {
196-
public fun <init> (Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;)V
197-
public fun buildDataColumnOrNull (Ljava/lang/String;Ljava/util/List;Z)Lorg/jetbrains/kotlinx/dataframe/DataColumn;
198-
public fun getColumnBuilder ()Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;
199-
public fun getExpectedJdbcType ()Lkotlin/reflect/KType;
200-
public fun getPreprocessedValueType ()Lkotlin/reflect/KType;
201-
public fun getResultSetReader ()Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;
202-
public fun getTargetSchema ()Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;
203-
public fun getValueFromResultSetOrElse (Ljava/sql/ResultSet;ILkotlin/jvm/functions/Function0;)Ljava/lang/Object;
204-
public fun getValuePreprocessor ()Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;
205-
public fun preprocessOrCast (Ljava/lang/Object;)Ljava/lang/Object;
195+
public final class org/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter {
196+
public fun <init> (Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;)V
197+
public final fun buildDataColumnOrNull (Ljava/lang/String;Ljava/util/List;Z)Lorg/jetbrains/kotlinx/dataframe/DataColumn;
198+
public final fun copy (Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
199+
public static synthetic fun copy$default (Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
200+
public final fun getColumnBuilder ()Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;
201+
public final fun getExpectedJdbcType ()Lkotlin/reflect/KType;
202+
public final fun getPreprocessedValueType ()Lkotlin/reflect/KType;
203+
public final fun getResultSetReader ()Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;
204+
public final fun getTargetSchema ()Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;
205+
public final fun getValueFromResultSetOrElse (Ljava/sql/ResultSet;ILkotlin/jvm/functions/Function0;)Ljava/lang/Object;
206+
public final fun getValuePreprocessor ()Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;
207+
public final fun preprocessOrCast (Ljava/lang/Object;)Ljava/lang/Object;
206208
}
207209

208210
public final class org/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverterKt {
@@ -212,20 +214,13 @@ public final class org/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverte
212214
public static final fun castToAny (Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;)Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;
213215
public static final fun castToAny (Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;)Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;
214216
public static final fun castToAny (Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
215-
public static final fun jdbcToDfConverterFor (Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
216-
public static synthetic fun jdbcToDfConverterFor$default (Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
217-
public static final fun jdbcToDfConverterForValueColumnOf (Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
218-
public static synthetic fun jdbcToDfConverterForValueColumnOf$default (Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
219-
public static final fun jdbcToDfConverterWithPostprocessingFor (Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
220-
public static synthetic fun jdbcToDfConverterWithPostprocessingFor$default (Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
221-
public static final fun jdbcToDfConverterWithPostprocessingForValueColumnOf (Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
222-
public static synthetic fun jdbcToDfConverterWithPostprocessingForValueColumnOf$default (Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
223-
public static final fun jdbcToDfConverterWithPreprocessingFor (Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
224-
public static synthetic fun jdbcToDfConverterWithPreprocessingFor$default (Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
225-
public static final fun jdbcToDfConverterWithPreprocessingForValueColumnOf (Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
226-
public static synthetic fun jdbcToDfConverterWithPreprocessingForValueColumnOf$default (Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
227-
public static final fun jdbcToDfConverterWithProcessingFor (Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
228-
public static synthetic fun jdbcToDfConverterWithProcessingFor$default (Lkotlin/reflect/KType;Lkotlin/reflect/KType;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;Lorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;Lorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
217+
public static final fun jdbcToDfConverterFor (Lkotlin/reflect/KType;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
218+
public static final fun withColumnBuilder (Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;ZLorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
219+
public static synthetic fun withColumnBuilder$default (Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;ZLorg/jetbrains/kotlinx/dataframe/io/db/DbColumnBuilder;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
220+
public static final fun withPreprocessor (Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;Lkotlin/reflect/KType;ZLorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
221+
public static synthetic fun withPreprocessor$default (Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;Lkotlin/reflect/KType;ZLorg/jetbrains/kotlinx/dataframe/io/db/DbValuePreprocessor;ILjava/lang/Object;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
222+
public static final fun withResultReader (Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;Lorg/jetbrains/kotlinx/dataframe/io/db/DbResultSetReader;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
223+
public static final fun withTargetSchema (Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;Lorg/jetbrains/kotlinx/dataframe/schema/ColumnSchema;)Lorg/jetbrains/kotlinx/dataframe/io/db/JdbcToDataFrameConverter;
229224
}
230225

231226
public final class org/jetbrains/kotlinx/dataframe/io/db/MariaDb : org/jetbrains/kotlinx/dataframe/io/db/DbType {

dataframe-jdbc/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/db/AdvancedDbType.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import kotlin.reflect.KType
1111
*
1212
* This can be helpful for JDBC databases that support structured data, like [DuckDb]
1313
* or that need to a lot of type mapping.
14+
*
15+
* This API is experimental and subject to change.
1416
*/
1517
public abstract class AdvancedDbType(dbTypeInJdbcUrl: String) : DbType(dbTypeInJdbcUrl) {
1618

0 commit comments

Comments
 (0)