You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by lz...@apache.org on 2021/05/13 06:26:32 UTC
[flink] branch master updated: [FLINK-22640] [datagen] Fix DataGen
SQL Connector does not support defining fields min/max option of decimal
type field
This is an automated email from the ASF dual-hosted git repository.
lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new e5435bb [FLINK-22640] [datagen] Fix DataGen SQL Connector does not support defining fields min/max option of decimal type field
e5435bb is described below
commit e5435bb2ca00f81ca0cf9543c47c56157d431e40
Author: lincoln lee <li...@gmail.com>
AuthorDate: Thu May 13 14:26:10 2021 +0800
[FLINK-22640] [datagen] Fix DataGen SQL Connector does not support defining fields min/max option of decimal type field
This closes #15900
---
.../table/factories/datagen/RandomGeneratorVisitor.java | 4 +++-
.../table/factories/DataGenTableSourceFactoryTest.java | 16 ++++++++++++++++
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/flink-table/flink-table-api-java-bridge/src/main/java/org/apache/flink/table/factories/datagen/RandomGeneratorVisitor.java b/flink-table/flink-table-api-java-bridge/src/main/java/org/apache/flink/table/factories/datagen/RandomGeneratorVisitor.java
index 88bfc7e..f18a851 100644
--- a/flink-table/flink-table-api-java-bridge/src/main/java/org/apache/flink/table/factories/datagen/RandomGeneratorVisitor.java
+++ b/flink-table/flink-table-api-java-bridge/src/main/java/org/apache/flink/table/factories/datagen/RandomGeneratorVisitor.java
@@ -166,7 +166,9 @@ public class RandomGeneratorVisitor extends DataGenVisitorBase {
return DataGeneratorContainer.of(
new DecimalDataRandomGenerator(
decimalType.getPrecision(), decimalType.getScale(),
- config.get(min), config.get(max)));
+ config.get(min), config.get(max)),
+ min,
+ max);
}
@Override
diff --git a/flink-table/flink-table-api-java-bridge/src/test/java/org/apache/flink/table/factories/DataGenTableSourceFactoryTest.java b/flink-table/flink-table-api-java-bridge/src/test/java/org/apache/flink/table/factories/DataGenTableSourceFactoryTest.java
index 0a65bd9..fc07257 100644
--- a/flink-table/flink-table-api-java-bridge/src/test/java/org/apache/flink/table/factories/DataGenTableSourceFactoryTest.java
+++ b/flink-table/flink-table-api-java-bridge/src/test/java/org/apache/flink/table/factories/DataGenTableSourceFactoryTest.java
@@ -106,6 +106,22 @@ public class DataGenTableSourceFactoryTest {
descriptor.putString(FactoryUtil.CONNECTOR.key(), "datagen");
descriptor.putString(NUMBER_OF_ROWS.key(), "10");
+ // add min max option for numeric types
+ descriptor.putString("fields.f4.min", "1.0");
+ descriptor.putString("fields.f4.max", "1000.0");
+ descriptor.putString("fields.f5.min", "0");
+ descriptor.putString("fields.f5.max", "127");
+ descriptor.putString("fields.f6.min", "0");
+ descriptor.putString("fields.f6.max", "32767");
+ descriptor.putString("fields.f7.min", "0");
+ descriptor.putString("fields.f7.max", "65535");
+ descriptor.putString("fields.f8.min", "0");
+ descriptor.putString("fields.f8.max", String.valueOf(Long.MAX_VALUE));
+ descriptor.putString("fields.f9.min", "0");
+ descriptor.putString("fields.f9.max", String.valueOf(Float.MAX_VALUE));
+ descriptor.putString("fields.f10.min", "0");
+ descriptor.putString("fields.f10.max", String.valueOf(Double.MAX_VALUE));
+
List<RowData> results = runGenerator(schema, descriptor);
Assert.assertEquals("Failed to generate all rows", 10, results.size());