Shekharrajak opened a new pull request, #2538:
URL: https://github.com/apache/fluss/pull/2538

   ### Purpose                                                                  
                                                                                
                              
                                                                                
                                                                                
                                
     <!-- Linking this pull request to the issue -->                            
                                                                                
                                
     Linked issue: Ref https://github.com/apache/fluss/issues/2536
                                                                                
                                                                                
                                
     <!-- What is the purpose of the change -->                                 
                                                                                
                                
     Add foundation type system support for Iceberg V3 nanosecond timestamp 
types. This is the first step toward full Iceberg V3 support in Fluss, enabling 
storage of timestamps with          
     nanosecond precision as required by the V3 specification.                  
                                                                                
                                
                                                                                
                                                                                
                                
     ### Brief change log                                                       
                                                                                
                                
                                                                                
                                                                                
                                
     - Add `TIMESTAMP_NANO_WITHOUT_TIME_ZONE` and 
`TIMESTAMP_NANO_WITH_LOCAL_TIME_ZONE` to `DataTypeRoot` enum                    
                                                              
     - Add `TimestampNanoType` class for timestamps without timezone (stored as 
64-bit nanoseconds from epoch)                                                  
                                
     - Add `LocalZonedTimestampNanoType` class for timestamps with local 
timezone                                                                        
                                       
     - Update `DataTypeVisitor` and `DataTypeDefaultVisitor` with new visit 
methods                                                                         
                                    
     - Add `TIMESTAMP_NS()` and `TIMESTAMP_NS_LTZ()` factory methods to 
`DataTypes`                                                                     
                                        
     - Add Iceberg type conversion in `FlussDataTypeToIcebergDataType` mapping 
to `Types.TimestampNanoType`                                                    
                                 
                                                                                
                                                                                
                                
     ### Tests                                                                  
                                                                                
                                
                                                                                
                                                                                
                                
     - `DataTypesTest#testTimestampNanoType` - Validates type creation, 
nullability, serialization, and type family membership                          
                                        
     - `DataTypesTest#testLocalZonedTimestampNanoType` - Validates timezone 
variant with same coverage                                                      
                                    
     - Existing `IcebergTieringTest` passes with new type converter methods     
                                                                                
                                
                                                                                
                                                                                
                                
     ### API and Format                                                         
                                                                                
                                
                                                                                
                                                                                
                                
     - **API**: Adds new public types `TimestampNanoType` and 
`LocalZonedTimestampNanoType` to the type system                                
                                                  
     - **Format**: No storage format changes in this PR. Types will be used 
when V3 table support is enabled.                                               
                                    
                                                                                
                                                


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