Create a [`TableReference`] after normalizing the specified ObjectName Examples ```text ['foo'] -> Bare { table: "foo" } ['"foo.bar"]] -> Bare { table: "foo.bar" } ['foo', 'Bar'] -> Partial { schema: "foo", table: "bar" } <-- note lower case "bar" ['foo', 'bar'] -> Partial { schema: "foo", table: "bar" } ['foo', '"Bar"'] -> Partial { schema: "foo", table: "Bar" } ```
(
object_name: ObjectName,
enable_normalization: bool,
)
| 917 | /// ['foo', '"Bar"'] -> Partial { schema: "foo", table: "Bar" } |
| 918 | /// ``` |
| 919 | pub fn object_name_to_table_reference( |
| 920 | object_name: ObjectName, |
| 921 | enable_normalization: bool, |
| 922 | ) -> Result<TableReference> { |
| 923 | // Use destructure to make it clear no fields on ObjectName are ignored |
| 924 | let ObjectName(object_name_parts) = object_name; |
| 925 | let idents = object_name_parts |
| 926 | .into_iter() |
| 927 | .map(|object_name_part| { |
| 928 | object_name_part.as_ident().cloned().ok_or_else(|| { |
| 929 | plan_datafusion_err!( |
| 930 | "Expected identifier, but found: {:?}", |
| 931 | object_name_part |
| 932 | ) |
| 933 | }) |
| 934 | }) |
| 935 | .collect::<Result<Vec<_>>>()?; |
| 936 | idents_to_table_reference(idents, enable_normalization) |
| 937 | } |
| 938 | |
| 939 | struct IdentTaker { |
| 940 | normalizer: IdentNormalizer, |
no test coverage detected
searching dependent graphs…