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]

Reply via email to