@@ -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