public static Arguments[] testSourceDuplicateCheck() {
    return new Arguments[] {
      Arguments.arguments(MIXED_ICEBERG, ID_PRIMARY_KEY_SPEC, PT_SPEC, STATIC, true, true),
      Arguments.arguments(MIXED_ICEBERG, NO_PRIMARY_KEY, PT_SPEC, STATIC, true, false),
      Arguments.arguments(MIXED_ICEBERG, ID_PRIMARY_KEY_SPEC, PT_SPEC, DYNAMIC, true, true),
      Arguments.arguments(MIXED_ICEBERG, NO_PRIMARY_KEY, PT_SPEC, DYNAMIC, true, false),
      Arguments.arguments(MIXED_ICEBERG, ID_PRIMARY_KEY_SPEC, PT_SPEC, DYNAMIC, false, false),
      Arguments.arguments(MIXED_HIVE, ID_PRIMARY_KEY_SPEC, PT_SPEC, STATIC, true, true),
      Arguments.arguments(MIXED_HIVE, NO_PRIMARY_KEY, PT_SPEC, STATIC, true, false),
      Arguments.arguments(MIXED_HIVE, ID_PRIMARY_KEY_SPEC, PT_SPEC, DYNAMIC, true, true),
      Arguments.arguments(MIXED_HIVE, NO_PRIMARY_KEY, PT_SPEC, DYNAMIC, true, false),
      Arguments.arguments(MIXED_HIVE, ID_PRIMARY_KEY_SPEC, PT_SPEC, DYNAMIC, false, false),
    };
  }
1. dynamic insert overwrite 2. static insert overwrite 3. for un-partitioned table 3. duplicate
check for insert overwrite 4. optimize write is work for insert overwrite
amoro-format-mixed/amoro-mixed-spark/v3.2/amoro-mixed-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertOverwriteSQL.java