unitycatalog_client/codegen/tables/
resource.rs1#![allow(unused_imports)]
3use super::builders::*;
4use super::client::TableServiceClient;
5use unitycatalog_common::models::tables::v1::*;
6#[derive(Clone)]
8pub struct TableClient {
9 pub(crate) catalog_name: String,
10 pub(crate) schema_name: String,
11 pub(crate) table_name: String,
12 pub(crate) client: TableServiceClient,
13}
14impl TableClient {
15 pub fn new(
17 catalog_name: impl Into<String>,
18 schema_name: impl Into<String>,
19 table_name: impl Into<String>,
20 client: TableServiceClient,
21 ) -> Self {
22 Self {
23 catalog_name: catalog_name.into(),
24 schema_name: schema_name.into(),
25 table_name: table_name.into(),
26 client,
27 }
28 }
29 pub fn from_full_name(full_name: impl Into<String>, client: TableServiceClient) -> Self {
31 let full_name = full_name.into();
32 let mut parts = full_name.splitn(3usize, '.');
33 let catalog_name = parts.next().unwrap_or_default();
34 let schema_name = parts.next().unwrap_or_default();
35 let table_name = parts.next().unwrap_or_default();
36 Self::new(catalog_name, schema_name, table_name, client)
37 }
38 pub fn catalog_name(&self) -> &str {
40 &self.catalog_name
41 }
42 pub fn schema_name(&self) -> &str {
44 &self.schema_name
45 }
46 pub fn name(&self) -> &str {
48 &self.table_name
49 }
50 pub fn full_name(&self) -> String {
52 format!(
53 "{}.{}.{}",
54 self.catalog_name, self.schema_name, self.table_name
55 )
56 }
57 pub fn get(&self) -> GetTableBuilder {
59 GetTableBuilder::new(
60 self.client.clone(),
61 format!(
62 "{}.{}.{}",
63 self.catalog_name, self.schema_name, self.table_name
64 ),
65 )
66 }
67 pub fn get_table_exists(&self) -> GetTableExistsBuilder {
69 GetTableExistsBuilder::new(
70 self.client.clone(),
71 format!(
72 "{}.{}.{}",
73 self.catalog_name, self.schema_name, self.table_name
74 ),
75 )
76 }
77 pub fn delete(&self) -> DeleteTableBuilder {
79 DeleteTableBuilder::new(
80 self.client.clone(),
81 format!(
82 "{}.{}.{}",
83 self.catalog_name, self.schema_name, self.table_name
84 ),
85 )
86 }
87}