Skip to content

Commit 05b4423

Browse files
author
psainics
committed
Fixed partition Field Validation
1 parent 3171ef2 commit 05b4423

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

src/main/java/io/cdap/plugin/gcp/bigquery/sink/BigQuerySinkConfig.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,10 @@ private void validatePartitionProperties(@Nullable Schema schema, FailureCollect
410410
String tableName = getTable();
411411
String serviceAccount = getServiceAccount();
412412

413+
if (shouldCreatePartitionedTable()) {
414+
validateColumnForPartition(partitionByField, schema, collector);
415+
}
416+
413417
if (project == null || dataset == null || tableName == null || serviceAccount == null) {
414418
return;
415419
}
@@ -435,11 +439,6 @@ private void validatePartitionProperties(@Nullable Schema schema, FailureCollect
435439
} else if (rangePartitioning != null) {
436440
validateRangePartitionTableWithInputConfiguration(table, rangePartitioning, collector);
437441
}
438-
validateColumnForPartition(partitionByField, schema, collector);
439-
return;
440-
}
441-
if (shouldCreatePartitionedTable()) {
442-
validateColumnForPartition(partitionByField, schema, collector);
443442
}
444443
}
445444

@@ -560,6 +559,14 @@ private void validateIntegerPartitioningRange(Long rangeStart, Long rangeEnd, Lo
560559
.withConfigProperty(NAME_RANGE_END);
561560
}
562561

562+
if (!containsMacro(NAME_RANGE_START) && !containsMacro(NAME_RANGE_END) && rangeStart != null && rangeEnd != null) {
563+
if (rangeEnd <= rangeStart) {
564+
collector.addFailure("Range End is less than or equal to Range Start.",
565+
"Range End must be greater than Range Start.")
566+
.withConfigProperty(NAME_RANGE_END);
567+
}
568+
}
569+
563570
if (!containsMacro(NAME_RANGE_INTERVAL)) {
564571
if (rangeInterval == null) {
565572
collector.addFailure(

0 commit comments

Comments
 (0)