JackieTien97 opened a new pull request, #16967:
URL: https://github.com/apache/iotdb/pull/16967

   This pull request enhances the handling of the `READ_OBJECT` function in the 
query engine by adding support for dynamic offset and length parameters, 
improving test coverage, and making related codebase adjustments. The main 
changes include introducing new column transformers to support dynamic 
arguments, updating the query planner, and extending integration tests to 
verify the new functionality.
   
   **Enhancements to `READ_OBJECT` function support:**
   
   * Added `ReadObject2ColumnTransformer` and `ReadObject3ColumnTransformer` 
classes to handle `READ_OBJECT` with dynamic offset and length parameters, 
enabling the function to accept column-based arguments instead of just 
literals. 
[[1]](diffhunk://#diff-61f0e0fe70cce37f1d9274358521200446a61dafb3b5f7c8b448ccb10893f0b3R1-R78)
 
[[2]](diffhunk://#diff-8d743eda9782d45ca5b46bbe97fc69b0e3a7875429139588d9bd7a305e935732R1-R99)
   * Updated `ColumnTransformerBuilder` to utilize the new transformers when 
`READ_OBJECT` is called with column arguments, and refactored the logic to 
distinguish between literal and column inputs for offset and length. 
[[1]](diffhunk://#diff-3b0b89be6f0edd72821d73b79d483f69cff0bcd87b29b4d645fc733c0f9ad4e8R88)
 
[[2]](diffhunk://#diff-3b0b89be6f0edd72821d73b79d483f69cff0bcd87b29b4d645fc733c0f9ad4e8R109)
 
[[3]](diffhunk://#diff-3b0b89be6f0edd72821d73b79d483f69cff0bcd87b29b4d645fc733c0f9ad4e8R1472-R1497)
   
   **Query planner and type handling improvements:**
   
   * Modified the operator tree generator to support linear fill for columns of 
type `OBJECT`, ensuring consistent behavior with other supported types.
   
   **Test and codebase updates:**
   
   * Expanded integration tests in `IoTDBObjectQueryIT.java` to cover various 
usages of `READ_OBJECT` with dynamic parameters and linear fill, verifying 
correct results for the new scenarios. 
[[1]](diffhunk://#diff-bd61f394b4a6948411de6d47468782dcaf5d703bd823de99592ee0ab83dd968cL65-R73)
 
[[2]](diffhunk://#diff-bd61f394b4a6948411de6d47468782dcaf5d703bd823de99592ee0ab83dd968cR137-R213)
   * Renamed the test class `IoTDBObjectQueryIT2.java` to 
`IoTDBObjectQuery2IT.java` for consistency with naming conventions.
   
   **Refactoring and API improvements:**
   
   * Refactored the `ReadObjectColumnTransformer` to expose its `transform` and 
`readObject` methods as static, enabling reuse by the new transformer classes 
and supporting the extended API. 
[[1]](diffhunk://#diff-7656e0490139c4332e111ee0c7952c7b3dd647236fe45024d2fd5098b5af08caL76-R76)
 
[[2]](diffhunk://#diff-7656e0490139c4332e111ee0c7952c7b3dd647236fe45024d2fd5098b5af08caL87-R114)


-- 
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