@@ -30,31 +30,60 @@ pub const RESERVED_FIELD_ID_FILE: i32 = 2147483646;
3030/// Reserved column name for the file path metadata column
3131pub const RESERVED_COL_NAME_FILE : & str = "_file" ;
3232
33- /// Returns the field name for a reserved field ID.
33+ /// Returns the column name for a metadata field ID.
3434///
3535/// # Arguments
36- /// * `field_id` - The reserved field ID
36+ /// * `field_id` - The metadata field ID
3737///
3838/// # Returns
39- /// The name of the reserved field , or an error if the field ID is not recognized
40- pub fn get_reserved_field_name ( field_id : i32 ) -> Result < & ' static str > {
39+ /// The name of the metadata column , or an error if the field ID is not recognized
40+ pub fn get_metadata_column_name ( field_id : i32 ) -> Result < & ' static str > {
4141 match field_id {
4242 RESERVED_FIELD_ID_FILE => Ok ( RESERVED_COL_NAME_FILE ) ,
4343 _ => Err ( Error :: new (
4444 ErrorKind :: Unexpected ,
45- format ! ( "Unknown reserved field ID: {field_id}" ) ,
45+ format ! ( "Unknown metadata field ID: {field_id}" ) ,
4646 ) ) ,
4747 }
4848}
4949
50- /// Checks if a field ID is a reserved (virtual/metadata) field.
50+ /// Returns the field ID for a metadata column name.
51+ ///
52+ /// # Arguments
53+ /// * `column_name` - The metadata column name
54+ ///
55+ /// # Returns
56+ /// The field ID of the metadata column, or an error if the column name is not recognized
57+ pub fn get_metadata_field_id ( column_name : & str ) -> Result < i32 > {
58+ match column_name {
59+ RESERVED_COL_NAME_FILE => Ok ( RESERVED_FIELD_ID_FILE ) ,
60+ _ => Err ( Error :: new (
61+ ErrorKind :: Unexpected ,
62+ format ! ( "Unknown metadata column name: {column_name}" ) ,
63+ ) ) ,
64+ }
65+ }
66+
67+ /// Checks if a field ID is a metadata field.
5168///
5269/// # Arguments
5370/// * `field_id` - The field ID to check
5471///
5572/// # Returns
56- /// `true` if the field ID is reserved , `false` otherwise
57- pub fn is_reserved_field ( field_id : i32 ) -> bool {
73+ /// `true` if the field ID is a metadata field , `false` otherwise
74+ pub fn is_metadata_field ( field_id : i32 ) -> bool {
5875 field_id == RESERVED_FIELD_ID_FILE
59- // Additional reserved fields can be checked here in the future
76+ // Additional metadata fields can be checked here in the future
77+ }
78+
79+ /// Checks if a column name is a metadata column.
80+ ///
81+ /// # Arguments
82+ /// * `column_name` - The column name to check
83+ ///
84+ /// # Returns
85+ /// `true` if the column name is a metadata column, `false` otherwise
86+ pub fn is_metadata_column_name ( column_name : & str ) -> bool {
87+ column_name == RESERVED_COL_NAME_FILE
88+ // Additional metadata column names can be checked here in the future
6089}
0 commit comments