@DisplayName("TestSQL: INSERT OVERWRITE un-partitioned")
  @ParameterizedTest(name = "{index} {0} {1} partitionOverwriteMode={2}")
  @MethodSource
  public void testUnPartitioned(TableFormat format, PrimaryKeySpec keySpec, String mode) {
    spark().conf().set(OVERWRITE_MODE_KEY, mode);
    initTargetTable(keySpec, PartitionSpec.unpartitioned());

    sql("INSERT OVERWRITE " + target() + " SELECT * FROM " + source());

    table.refresh();
    List<Record> expects = Lists.newArrayList(source);
    List<Record> actual = TestTableUtil.tableRecords(table);
    DataComparator.build(expects, actual).ignoreOrder("pt", "id").assertRecordsEqual();

    assertFileLayout(format);
  }
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.3/amoro-mixed-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertOverwriteSQL.java