thswlsqls opened a new issue, #10737: URL: https://github.com/apache/paimon/issues/10737
**Search before asking** - [x] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar. **Paimon version** master @ 2620ab68c1 (2.2-SNAPSHOT) **Compute Engine** Spark **Minimal reproduce step** 1. `CREATE TABLE T (id INT, hh STRING) PARTITIONED BY (hh) TBLPROPERTIES ('bucket'='-1', 'write-only'='true')`. 2. Write two files each into partitions `hh='08'` and `hh='8'`. 3. `CALL sys.compact(table => 'T', partitions => 'hh=08', options => 'compaction.min.file-num=2')`. `SparkProcedureUtils.parsePartitionValue()` parses each value with the Spark SQL parser and returns `literalValue.toString()`, so `08` becomes `8` (`-01` becomes `-1`, `1e3` becomes `1000.0`). **What doesn't meet your expectations?** Expected: partition `08` is compacted. Actual: the procedure returns `true`, compacts partition `8` instead, and leaves `08` untouched. If `8` does not exist, nothing is compacted. **Anything else?** Also affected: compact, rescale, create/drop_global_index, reassign_row_id, materialize_deletion_vectors and compact_chain_table. It came in when #8390 routed these procedures through the normalizer that #7313 added for strict overwrite specs. Flink passes the raw value to `PredicateBuilder.partitions`, which keeps `08`. **Are you willing to submit a PR?** - [x] I'm willing to submit a PR! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
