Ramin Gharib created FLINK-39801:
------------------------------------

             Summary: Skip serializing empty partitionKeys / orderKeys / 
orderDirections in TABLE_ARG_CALL compiled plan
                 Key: FLINK-39801
                 URL: https://issues.apache.org/jira/browse/FLINK-39801
             Project: Flink
          Issue Type: Improvement
          Components: Table SQL / Planner
            Reporter: Ramin Gharib


`RexNodeJsonSerializer.serializeTableArgCall` always writes partitionKeys, 
orderKeys, and orderDirections, even when empty. This bloats compiled plans 
with [ ] entries for the common case where a table argument has no ORDER BY 
(and often no PARTITION BY).

Skip writing each array when empty, matching the existing pattern in 
serializeCall for operands.

The deserializer must tolerate the absent fields. orderDirections already does; 
partitionKeys and orderKeys currently use JsonNode.required(...) and need to 
default to an empty array when missing.

Existing restore-tests plan JSON files that contain the empty arrays need 
regenerating.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to