1use reqwest;
13use serde::{Deserialize, Serialize, de::Error as _};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration, ContentType};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum AlterTableAddColumnsError {
22 Status400(models::ErrorResponse),
23 Status401(models::ErrorResponse),
24 Status403(models::ErrorResponse),
25 Status404(models::ErrorResponse),
26 Status503(models::ErrorResponse),
27 Status5XX(models::ErrorResponse),
28 UnknownValue(serde_json::Value),
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum AlterTableAlterColumnsError {
35 Status400(models::ErrorResponse),
36 Status401(models::ErrorResponse),
37 Status403(models::ErrorResponse),
38 Status404(models::ErrorResponse),
39 Status503(models::ErrorResponse),
40 Status5XX(models::ErrorResponse),
41 UnknownValue(serde_json::Value),
42}
43
44#[derive(Debug, Clone, Serialize, Deserialize)]
46#[serde(untagged)]
47pub enum AlterTableDropColumnsError {
48 Status400(models::ErrorResponse),
49 Status401(models::ErrorResponse),
50 Status403(models::ErrorResponse),
51 Status404(models::ErrorResponse),
52 Status503(models::ErrorResponse),
53 Status5XX(models::ErrorResponse),
54 UnknownValue(serde_json::Value),
55}
56
57#[derive(Debug, Clone, Serialize, Deserialize)]
59#[serde(untagged)]
60pub enum AnalyzeTableQueryPlanError {
61 Status400(models::ErrorResponse),
62 Status401(models::ErrorResponse),
63 Status403(models::ErrorResponse),
64 Status404(models::ErrorResponse),
65 Status503(models::ErrorResponse),
66 Status5XX(models::ErrorResponse),
67 UnknownValue(serde_json::Value),
68}
69
70#[derive(Debug, Clone, Serialize, Deserialize)]
72#[serde(untagged)]
73pub enum CountTableRowsError {
74 Status400(models::ErrorResponse),
75 Status401(models::ErrorResponse),
76 Status403(models::ErrorResponse),
77 Status404(models::ErrorResponse),
78 Status503(models::ErrorResponse),
79 Status5XX(models::ErrorResponse),
80 UnknownValue(serde_json::Value),
81}
82
83#[derive(Debug, Clone, Serialize, Deserialize)]
85#[serde(untagged)]
86pub enum CreateEmptyTableError {
87 Status400(models::ErrorResponse),
88 Status401(models::ErrorResponse),
89 Status403(models::ErrorResponse),
90 Status404(models::ErrorResponse),
91 Status409(models::ErrorResponse),
92 Status503(models::ErrorResponse),
93 Status5XX(models::ErrorResponse),
94 UnknownValue(serde_json::Value),
95}
96
97#[derive(Debug, Clone, Serialize, Deserialize)]
99#[serde(untagged)]
100pub enum CreateTableError {
101 Status400(models::ErrorResponse),
102 Status401(models::ErrorResponse),
103 Status403(models::ErrorResponse),
104 Status404(models::ErrorResponse),
105 Status503(models::ErrorResponse),
106 Status5XX(models::ErrorResponse),
107 UnknownValue(serde_json::Value),
108}
109
110#[derive(Debug, Clone, Serialize, Deserialize)]
112#[serde(untagged)]
113pub enum CreateTableIndexError {
114 Status400(models::ErrorResponse),
115 Status401(models::ErrorResponse),
116 Status403(models::ErrorResponse),
117 Status404(models::ErrorResponse),
118 Status503(models::ErrorResponse),
119 Status5XX(models::ErrorResponse),
120 UnknownValue(serde_json::Value),
121}
122
123#[derive(Debug, Clone, Serialize, Deserialize)]
125#[serde(untagged)]
126pub enum CreateTableTagError {
127 Status400(models::ErrorResponse),
128 Status401(models::ErrorResponse),
129 Status403(models::ErrorResponse),
130 Status404(models::ErrorResponse),
131 Status409(models::ErrorResponse),
132 Status503(models::ErrorResponse),
133 Status5XX(models::ErrorResponse),
134 UnknownValue(serde_json::Value),
135}
136
137#[derive(Debug, Clone, Serialize, Deserialize)]
139#[serde(untagged)]
140pub enum DeleteFromTableError {
141 Status400(models::ErrorResponse),
142 Status401(models::ErrorResponse),
143 Status403(models::ErrorResponse),
144 Status404(models::ErrorResponse),
145 Status503(models::ErrorResponse),
146 Status5XX(models::ErrorResponse),
147 UnknownValue(serde_json::Value),
148}
149
150#[derive(Debug, Clone, Serialize, Deserialize)]
152#[serde(untagged)]
153pub enum DeleteTableTagError {
154 Status400(models::ErrorResponse),
155 Status401(models::ErrorResponse),
156 Status403(models::ErrorResponse),
157 Status404(models::ErrorResponse),
158 Status503(models::ErrorResponse),
159 Status5XX(models::ErrorResponse),
160 UnknownValue(serde_json::Value),
161}
162
163#[derive(Debug, Clone, Serialize, Deserialize)]
165#[serde(untagged)]
166pub enum DeregisterTableError {
167 Status400(models::ErrorResponse),
168 Status401(models::ErrorResponse),
169 Status403(models::ErrorResponse),
170 Status404(models::ErrorResponse),
171 Status503(models::ErrorResponse),
172 Status5XX(models::ErrorResponse),
173 UnknownValue(serde_json::Value),
174}
175
176#[derive(Debug, Clone, Serialize, Deserialize)]
178#[serde(untagged)]
179pub enum DescribeTableError {
180 Status400(models::ErrorResponse),
181 Status401(models::ErrorResponse),
182 Status403(models::ErrorResponse),
183 Status404(models::ErrorResponse),
184 Status503(models::ErrorResponse),
185 Status5XX(models::ErrorResponse),
186 UnknownValue(serde_json::Value),
187}
188
189#[derive(Debug, Clone, Serialize, Deserialize)]
191#[serde(untagged)]
192pub enum DescribeTableIndexStatsError {
193 Status400(models::ErrorResponse),
194 Status401(models::ErrorResponse),
195 Status403(models::ErrorResponse),
196 Status404(models::ErrorResponse),
197 Status503(models::ErrorResponse),
198 Status5XX(models::ErrorResponse),
199 UnknownValue(serde_json::Value),
200}
201
202#[derive(Debug, Clone, Serialize, Deserialize)]
204#[serde(untagged)]
205pub enum DropTableError {
206 Status400(models::ErrorResponse),
207 Status401(models::ErrorResponse),
208 Status403(models::ErrorResponse),
209 Status404(models::ErrorResponse),
210 Status503(models::ErrorResponse),
211 Status5XX(models::ErrorResponse),
212 UnknownValue(serde_json::Value),
213}
214
215#[derive(Debug, Clone, Serialize, Deserialize)]
217#[serde(untagged)]
218pub enum DropTableIndexError {
219 Status400(models::ErrorResponse),
220 Status401(models::ErrorResponse),
221 Status403(models::ErrorResponse),
222 Status404(models::ErrorResponse),
223 Status503(models::ErrorResponse),
224 Status5XX(models::ErrorResponse),
225 UnknownValue(serde_json::Value),
226}
227
228#[derive(Debug, Clone, Serialize, Deserialize)]
230#[serde(untagged)]
231pub enum ExplainTableQueryPlanError {
232 Status400(models::ErrorResponse),
233 Status401(models::ErrorResponse),
234 Status403(models::ErrorResponse),
235 Status404(models::ErrorResponse),
236 Status503(models::ErrorResponse),
237 Status5XX(models::ErrorResponse),
238 UnknownValue(serde_json::Value),
239}
240
241#[derive(Debug, Clone, Serialize, Deserialize)]
243#[serde(untagged)]
244pub enum GetTableStatsError {
245 Status400(models::ErrorResponse),
246 Status401(models::ErrorResponse),
247 Status403(models::ErrorResponse),
248 Status404(models::ErrorResponse),
249 Status503(models::ErrorResponse),
250 Status5XX(models::ErrorResponse),
251 UnknownValue(serde_json::Value),
252}
253
254#[derive(Debug, Clone, Serialize, Deserialize)]
256#[serde(untagged)]
257pub enum GetTableTagVersionError {
258 Status400(models::ErrorResponse),
259 Status401(models::ErrorResponse),
260 Status403(models::ErrorResponse),
261 Status404(models::ErrorResponse),
262 Status503(models::ErrorResponse),
263 Status5XX(models::ErrorResponse),
264 UnknownValue(serde_json::Value),
265}
266
267#[derive(Debug, Clone, Serialize, Deserialize)]
269#[serde(untagged)]
270pub enum InsertIntoTableError {
271 Status400(models::ErrorResponse),
272 Status401(models::ErrorResponse),
273 Status403(models::ErrorResponse),
274 Status404(models::ErrorResponse),
275 Status503(models::ErrorResponse),
276 Status5XX(models::ErrorResponse),
277 UnknownValue(serde_json::Value),
278}
279
280#[derive(Debug, Clone, Serialize, Deserialize)]
282#[serde(untagged)]
283pub enum ListTableIndicesError {
284 Status400(models::ErrorResponse),
285 Status401(models::ErrorResponse),
286 Status403(models::ErrorResponse),
287 Status404(models::ErrorResponse),
288 Status503(models::ErrorResponse),
289 Status5XX(models::ErrorResponse),
290 UnknownValue(serde_json::Value),
291}
292
293#[derive(Debug, Clone, Serialize, Deserialize)]
295#[serde(untagged)]
296pub enum ListTableTagsError {
297 Status400(models::ErrorResponse),
298 Status401(models::ErrorResponse),
299 Status403(models::ErrorResponse),
300 Status404(models::ErrorResponse),
301 Status503(models::ErrorResponse),
302 Status5XX(models::ErrorResponse),
303 UnknownValue(serde_json::Value),
304}
305
306#[derive(Debug, Clone, Serialize, Deserialize)]
308#[serde(untagged)]
309pub enum ListTableVersionsError {
310 Status400(models::ErrorResponse),
311 Status401(models::ErrorResponse),
312 Status403(models::ErrorResponse),
313 Status404(models::ErrorResponse),
314 Status503(models::ErrorResponse),
315 Status5XX(models::ErrorResponse),
316 UnknownValue(serde_json::Value),
317}
318
319#[derive(Debug, Clone, Serialize, Deserialize)]
321#[serde(untagged)]
322pub enum ListTablesError {
323 Status400(models::ErrorResponse),
324 Status401(models::ErrorResponse),
325 Status403(models::ErrorResponse),
326 Status404(models::ErrorResponse),
327 Status406(models::ErrorResponse),
328 Status503(models::ErrorResponse),
329 Status5XX(models::ErrorResponse),
330 UnknownValue(serde_json::Value),
331}
332
333#[derive(Debug, Clone, Serialize, Deserialize)]
335#[serde(untagged)]
336pub enum MergeInsertIntoTableError {
337 Status400(models::ErrorResponse),
338 Status401(models::ErrorResponse),
339 Status403(models::ErrorResponse),
340 Status404(models::ErrorResponse),
341 Status503(models::ErrorResponse),
342 Status5XX(models::ErrorResponse),
343 UnknownValue(serde_json::Value),
344}
345
346#[derive(Debug, Clone, Serialize, Deserialize)]
348#[serde(untagged)]
349pub enum QueryTableError {
350 Status400(models::ErrorResponse),
351 Status401(models::ErrorResponse),
352 Status403(models::ErrorResponse),
353 Status404(models::ErrorResponse),
354 Status503(models::ErrorResponse),
355 Status5XX(models::ErrorResponse),
356 UnknownValue(serde_json::Value),
357}
358
359#[derive(Debug, Clone, Serialize, Deserialize)]
361#[serde(untagged)]
362pub enum RegisterTableError {
363 Status400(models::ErrorResponse),
364 Status401(models::ErrorResponse),
365 Status403(models::ErrorResponse),
366 Status404(models::ErrorResponse),
367 Status406(models::ErrorResponse),
368 Status409(models::ErrorResponse),
369 Status503(models::ErrorResponse),
370 Status5XX(models::ErrorResponse),
371 UnknownValue(serde_json::Value),
372}
373
374#[derive(Debug, Clone, Serialize, Deserialize)]
376#[serde(untagged)]
377pub enum RestoreTableError {
378 Status400(models::ErrorResponse),
379 Status401(models::ErrorResponse),
380 Status403(models::ErrorResponse),
381 Status404(models::ErrorResponse),
382 Status503(models::ErrorResponse),
383 Status5XX(models::ErrorResponse),
384 UnknownValue(serde_json::Value),
385}
386
387#[derive(Debug, Clone, Serialize, Deserialize)]
389#[serde(untagged)]
390pub enum TableExistsError {
391 Status400(models::ErrorResponse),
392 Status401(models::ErrorResponse),
393 Status403(models::ErrorResponse),
394 Status404(models::ErrorResponse),
395 Status503(models::ErrorResponse),
396 Status5XX(models::ErrorResponse),
397 UnknownValue(serde_json::Value),
398}
399
400#[derive(Debug, Clone, Serialize, Deserialize)]
402#[serde(untagged)]
403pub enum UpdateTableError {
404 Status400(models::ErrorResponse),
405 Status401(models::ErrorResponse),
406 Status403(models::ErrorResponse),
407 Status404(models::ErrorResponse),
408 Status503(models::ErrorResponse),
409 Status5XX(models::ErrorResponse),
410 UnknownValue(serde_json::Value),
411}
412
413#[derive(Debug, Clone, Serialize, Deserialize)]
415#[serde(untagged)]
416pub enum UpdateTableTagError {
417 Status400(models::ErrorResponse),
418 Status401(models::ErrorResponse),
419 Status403(models::ErrorResponse),
420 Status404(models::ErrorResponse),
421 Status503(models::ErrorResponse),
422 Status5XX(models::ErrorResponse),
423 UnknownValue(serde_json::Value),
424}
425
426
427pub async fn alter_table_add_columns(configuration: &configuration::Configuration, id: &str, alter_table_add_columns_request: models::AlterTableAddColumnsRequest, delimiter: Option<&str>) -> Result<models::AlterTableAddColumnsResponse, Error<AlterTableAddColumnsError>> {
429 let p_id = id;
431 let p_alter_table_add_columns_request = alter_table_add_columns_request;
432 let p_delimiter = delimiter;
433
434 let uri_str = format!("{}/v1/table/{id}/add_columns", configuration.base_path, id=crate::apis::urlencode(p_id));
435 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
436
437 if let Some(ref param_value) = p_delimiter {
438 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
439 }
440 if let Some(ref user_agent) = configuration.user_agent {
441 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
442 }
443 req_builder = req_builder.json(&p_alter_table_add_columns_request);
444
445 let req = req_builder.build()?;
446 let resp = configuration.client.execute(req).await?;
447
448 let status = resp.status();
449 let content_type = resp
450 .headers()
451 .get("content-type")
452 .and_then(|v| v.to_str().ok())
453 .unwrap_or("application/octet-stream");
454 let content_type = super::ContentType::from(content_type);
455
456 if !status.is_client_error() && !status.is_server_error() {
457 let content = resp.text().await?;
458 match content_type {
459 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
460 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::AlterTableAddColumnsResponse`"))),
461 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::AlterTableAddColumnsResponse`")))),
462 }
463 } else {
464 let content = resp.text().await?;
465 let entity: Option<AlterTableAddColumnsError> = serde_json::from_str(&content).ok();
466 Err(Error::ResponseError(ResponseContent { status, content, entity }))
467 }
468}
469
470pub async fn alter_table_alter_columns(configuration: &configuration::Configuration, id: &str, alter_table_alter_columns_request: models::AlterTableAlterColumnsRequest, delimiter: Option<&str>) -> Result<models::AlterTableAlterColumnsResponse, Error<AlterTableAlterColumnsError>> {
472 let p_id = id;
474 let p_alter_table_alter_columns_request = alter_table_alter_columns_request;
475 let p_delimiter = delimiter;
476
477 let uri_str = format!("{}/v1/table/{id}/alter_columns", configuration.base_path, id=crate::apis::urlencode(p_id));
478 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
479
480 if let Some(ref param_value) = p_delimiter {
481 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
482 }
483 if let Some(ref user_agent) = configuration.user_agent {
484 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
485 }
486 req_builder = req_builder.json(&p_alter_table_alter_columns_request);
487
488 let req = req_builder.build()?;
489 let resp = configuration.client.execute(req).await?;
490
491 let status = resp.status();
492 let content_type = resp
493 .headers()
494 .get("content-type")
495 .and_then(|v| v.to_str().ok())
496 .unwrap_or("application/octet-stream");
497 let content_type = super::ContentType::from(content_type);
498
499 if !status.is_client_error() && !status.is_server_error() {
500 let content = resp.text().await?;
501 match content_type {
502 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
503 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::AlterTableAlterColumnsResponse`"))),
504 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::AlterTableAlterColumnsResponse`")))),
505 }
506 } else {
507 let content = resp.text().await?;
508 let entity: Option<AlterTableAlterColumnsError> = serde_json::from_str(&content).ok();
509 Err(Error::ResponseError(ResponseContent { status, content, entity }))
510 }
511}
512
513pub async fn alter_table_drop_columns(configuration: &configuration::Configuration, id: &str, alter_table_drop_columns_request: models::AlterTableDropColumnsRequest, delimiter: Option<&str>) -> Result<models::AlterTableDropColumnsResponse, Error<AlterTableDropColumnsError>> {
515 let p_id = id;
517 let p_alter_table_drop_columns_request = alter_table_drop_columns_request;
518 let p_delimiter = delimiter;
519
520 let uri_str = format!("{}/v1/table/{id}/drop_columns", configuration.base_path, id=crate::apis::urlencode(p_id));
521 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
522
523 if let Some(ref param_value) = p_delimiter {
524 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
525 }
526 if let Some(ref user_agent) = configuration.user_agent {
527 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
528 }
529 req_builder = req_builder.json(&p_alter_table_drop_columns_request);
530
531 let req = req_builder.build()?;
532 let resp = configuration.client.execute(req).await?;
533
534 let status = resp.status();
535 let content_type = resp
536 .headers()
537 .get("content-type")
538 .and_then(|v| v.to_str().ok())
539 .unwrap_or("application/octet-stream");
540 let content_type = super::ContentType::from(content_type);
541
542 if !status.is_client_error() && !status.is_server_error() {
543 let content = resp.text().await?;
544 match content_type {
545 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
546 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::AlterTableDropColumnsResponse`"))),
547 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::AlterTableDropColumnsResponse`")))),
548 }
549 } else {
550 let content = resp.text().await?;
551 let entity: Option<AlterTableDropColumnsError> = serde_json::from_str(&content).ok();
552 Err(Error::ResponseError(ResponseContent { status, content, entity }))
553 }
554}
555
556pub async fn analyze_table_query_plan(configuration: &configuration::Configuration, id: &str, analyze_table_query_plan_request: models::AnalyzeTableQueryPlanRequest, delimiter: Option<&str>) -> Result<models::AnalyzeTableQueryPlanResponse, Error<AnalyzeTableQueryPlanError>> {
558 let p_id = id;
560 let p_analyze_table_query_plan_request = analyze_table_query_plan_request;
561 let p_delimiter = delimiter;
562
563 let uri_str = format!("{}/v1/table/{id}/analyze_plan", configuration.base_path, id=crate::apis::urlencode(p_id));
564 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
565
566 if let Some(ref param_value) = p_delimiter {
567 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
568 }
569 if let Some(ref user_agent) = configuration.user_agent {
570 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
571 }
572 req_builder = req_builder.json(&p_analyze_table_query_plan_request);
573
574 let req = req_builder.build()?;
575 let resp = configuration.client.execute(req).await?;
576
577 let status = resp.status();
578 let content_type = resp
579 .headers()
580 .get("content-type")
581 .and_then(|v| v.to_str().ok())
582 .unwrap_or("application/octet-stream");
583 let content_type = super::ContentType::from(content_type);
584
585 if !status.is_client_error() && !status.is_server_error() {
586 let content = resp.text().await?;
587 match content_type {
588 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
589 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::AnalyzeTableQueryPlanResponse`"))),
590 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::AnalyzeTableQueryPlanResponse`")))),
591 }
592 } else {
593 let content = resp.text().await?;
594 let entity: Option<AnalyzeTableQueryPlanError> = serde_json::from_str(&content).ok();
595 Err(Error::ResponseError(ResponseContent { status, content, entity }))
596 }
597}
598
599pub async fn count_table_rows(configuration: &configuration::Configuration, id: &str, count_table_rows_request: models::CountTableRowsRequest, delimiter: Option<&str>) -> Result<i64, Error<CountTableRowsError>> {
601 let p_id = id;
603 let p_count_table_rows_request = count_table_rows_request;
604 let p_delimiter = delimiter;
605
606 let uri_str = format!("{}/v1/table/{id}/count_rows", configuration.base_path, id=crate::apis::urlencode(p_id));
607 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
608
609 if let Some(ref param_value) = p_delimiter {
610 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
611 }
612 if let Some(ref user_agent) = configuration.user_agent {
613 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
614 }
615 req_builder = req_builder.json(&p_count_table_rows_request);
616
617 let req = req_builder.build()?;
618 let resp = configuration.client.execute(req).await?;
619
620 let status = resp.status();
621 let content_type = resp
622 .headers()
623 .get("content-type")
624 .and_then(|v| v.to_str().ok())
625 .unwrap_or("application/octet-stream");
626 let content_type = super::ContentType::from(content_type);
627
628 if !status.is_client_error() && !status.is_server_error() {
629 let content = resp.text().await?;
630 match content_type {
631 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
632 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `i64`"))),
633 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `i64`")))),
634 }
635 } else {
636 let content = resp.text().await?;
637 let entity: Option<CountTableRowsError> = serde_json::from_str(&content).ok();
638 Err(Error::ResponseError(ResponseContent { status, content, entity }))
639 }
640}
641
642pub async fn create_empty_table(configuration: &configuration::Configuration, id: &str, create_empty_table_request: models::CreateEmptyTableRequest, delimiter: Option<&str>) -> Result<models::CreateEmptyTableResponse, Error<CreateEmptyTableError>> {
644 let p_id = id;
646 let p_create_empty_table_request = create_empty_table_request;
647 let p_delimiter = delimiter;
648
649 let uri_str = format!("{}/v1/table/{id}/create-empty", configuration.base_path, id=crate::apis::urlencode(p_id));
650 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
651
652 if let Some(ref param_value) = p_delimiter {
653 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
654 }
655 if let Some(ref user_agent) = configuration.user_agent {
656 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
657 }
658 req_builder = req_builder.json(&p_create_empty_table_request);
659
660 let req = req_builder.build()?;
661 let resp = configuration.client.execute(req).await?;
662
663 let status = resp.status();
664 let content_type = resp
665 .headers()
666 .get("content-type")
667 .and_then(|v| v.to_str().ok())
668 .unwrap_or("application/octet-stream");
669 let content_type = super::ContentType::from(content_type);
670
671 if !status.is_client_error() && !status.is_server_error() {
672 let content = resp.text().await?;
673 match content_type {
674 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
675 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::CreateEmptyTableResponse`"))),
676 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::CreateEmptyTableResponse`")))),
677 }
678 } else {
679 let content = resp.text().await?;
680 let entity: Option<CreateEmptyTableError> = serde_json::from_str(&content).ok();
681 Err(Error::ResponseError(ResponseContent { status, content, entity }))
682 }
683}
684
685pub async fn create_table(configuration: &configuration::Configuration, id: &str, body: Vec<u8>, delimiter: Option<&str>, mode: Option<&str>, x_lance_table_location: Option<&str>, x_lance_table_properties: Option<&str>) -> Result<models::CreateTableResponse, Error<CreateTableError>> {
687 let p_id = id;
689 let p_body = body;
690 let p_delimiter = delimiter;
691 let p_mode = mode;
692 let p_x_lance_table_location = x_lance_table_location;
693 let p_x_lance_table_properties = x_lance_table_properties;
694
695 let uri_str = format!("{}/v1/table/{id}/create", configuration.base_path, id=crate::apis::urlencode(p_id));
696 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
697
698 if let Some(ref param_value) = p_delimiter {
699 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
700 }
701 if let Some(ref param_value) = p_mode {
702 req_builder = req_builder.query(&[("mode", ¶m_value.to_string())]);
703 }
704 if let Some(ref user_agent) = configuration.user_agent {
705 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
706 }
707 if let Some(param_value) = p_x_lance_table_location {
708 req_builder = req_builder.header("x-lance-table-location", param_value.to_string());
709 }
710 if let Some(param_value) = p_x_lance_table_properties {
711 req_builder = req_builder.header("x-lance-table-properties", param_value.to_string());
712 }
713 req_builder = req_builder.body(p_body);
714
715 let req = req_builder.build()?;
716 let resp = configuration.client.execute(req).await?;
717
718 let status = resp.status();
719 let content_type = resp
720 .headers()
721 .get("content-type")
722 .and_then(|v| v.to_str().ok())
723 .unwrap_or("application/octet-stream");
724 let content_type = super::ContentType::from(content_type);
725
726 if !status.is_client_error() && !status.is_server_error() {
727 let content = resp.text().await?;
728 match content_type {
729 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
730 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::CreateTableResponse`"))),
731 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::CreateTableResponse`")))),
732 }
733 } else {
734 let content = resp.text().await?;
735 let entity: Option<CreateTableError> = serde_json::from_str(&content).ok();
736 Err(Error::ResponseError(ResponseContent { status, content, entity }))
737 }
738}
739
740pub async fn create_table_index(configuration: &configuration::Configuration, id: &str, create_table_index_request: models::CreateTableIndexRequest, delimiter: Option<&str>) -> Result<models::CreateTableIndexResponse, Error<CreateTableIndexError>> {
742 let p_id = id;
744 let p_create_table_index_request = create_table_index_request;
745 let p_delimiter = delimiter;
746
747 let uri_str = format!("{}/v1/table/{id}/create_index", configuration.base_path, id=crate::apis::urlencode(p_id));
748 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
749
750 if let Some(ref param_value) = p_delimiter {
751 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
752 }
753 if let Some(ref user_agent) = configuration.user_agent {
754 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
755 }
756 req_builder = req_builder.json(&p_create_table_index_request);
757
758 let req = req_builder.build()?;
759 let resp = configuration.client.execute(req).await?;
760
761 let status = resp.status();
762 let content_type = resp
763 .headers()
764 .get("content-type")
765 .and_then(|v| v.to_str().ok())
766 .unwrap_or("application/octet-stream");
767 let content_type = super::ContentType::from(content_type);
768
769 if !status.is_client_error() && !status.is_server_error() {
770 let content = resp.text().await?;
771 match content_type {
772 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
773 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::CreateTableIndexResponse`"))),
774 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::CreateTableIndexResponse`")))),
775 }
776 } else {
777 let content = resp.text().await?;
778 let entity: Option<CreateTableIndexError> = serde_json::from_str(&content).ok();
779 Err(Error::ResponseError(ResponseContent { status, content, entity }))
780 }
781}
782
783pub async fn create_table_tag(configuration: &configuration::Configuration, id: &str, create_table_tag_request: models::CreateTableTagRequest, delimiter: Option<&str>) -> Result<(), Error<CreateTableTagError>> {
785 let p_id = id;
787 let p_create_table_tag_request = create_table_tag_request;
788 let p_delimiter = delimiter;
789
790 let uri_str = format!("{}/v1/table/{id}/tags/create", configuration.base_path, id=crate::apis::urlencode(p_id));
791 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
792
793 if let Some(ref param_value) = p_delimiter {
794 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
795 }
796 if let Some(ref user_agent) = configuration.user_agent {
797 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
798 }
799 req_builder = req_builder.json(&p_create_table_tag_request);
800
801 let req = req_builder.build()?;
802 let resp = configuration.client.execute(req).await?;
803
804 let status = resp.status();
805
806 if !status.is_client_error() && !status.is_server_error() {
807 Ok(())
808 } else {
809 let content = resp.text().await?;
810 let entity: Option<CreateTableTagError> = serde_json::from_str(&content).ok();
811 Err(Error::ResponseError(ResponseContent { status, content, entity }))
812 }
813}
814
815pub async fn delete_from_table(configuration: &configuration::Configuration, id: &str, delete_from_table_request: models::DeleteFromTableRequest, delimiter: Option<&str>) -> Result<models::DeleteFromTableResponse, Error<DeleteFromTableError>> {
817 let p_id = id;
819 let p_delete_from_table_request = delete_from_table_request;
820 let p_delimiter = delimiter;
821
822 let uri_str = format!("{}/v1/table/{id}/delete", configuration.base_path, id=crate::apis::urlencode(p_id));
823 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
824
825 if let Some(ref param_value) = p_delimiter {
826 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
827 }
828 if let Some(ref user_agent) = configuration.user_agent {
829 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
830 }
831 req_builder = req_builder.json(&p_delete_from_table_request);
832
833 let req = req_builder.build()?;
834 let resp = configuration.client.execute(req).await?;
835
836 let status = resp.status();
837 let content_type = resp
838 .headers()
839 .get("content-type")
840 .and_then(|v| v.to_str().ok())
841 .unwrap_or("application/octet-stream");
842 let content_type = super::ContentType::from(content_type);
843
844 if !status.is_client_error() && !status.is_server_error() {
845 let content = resp.text().await?;
846 match content_type {
847 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
848 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::DeleteFromTableResponse`"))),
849 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::DeleteFromTableResponse`")))),
850 }
851 } else {
852 let content = resp.text().await?;
853 let entity: Option<DeleteFromTableError> = serde_json::from_str(&content).ok();
854 Err(Error::ResponseError(ResponseContent { status, content, entity }))
855 }
856}
857
858pub async fn delete_table_tag(configuration: &configuration::Configuration, id: &str, delete_table_tag_request: models::DeleteTableTagRequest, delimiter: Option<&str>) -> Result<(), Error<DeleteTableTagError>> {
860 let p_id = id;
862 let p_delete_table_tag_request = delete_table_tag_request;
863 let p_delimiter = delimiter;
864
865 let uri_str = format!("{}/v1/table/{id}/tags/delete", configuration.base_path, id=crate::apis::urlencode(p_id));
866 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
867
868 if let Some(ref param_value) = p_delimiter {
869 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
870 }
871 if let Some(ref user_agent) = configuration.user_agent {
872 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
873 }
874 req_builder = req_builder.json(&p_delete_table_tag_request);
875
876 let req = req_builder.build()?;
877 let resp = configuration.client.execute(req).await?;
878
879 let status = resp.status();
880
881 if !status.is_client_error() && !status.is_server_error() {
882 Ok(())
883 } else {
884 let content = resp.text().await?;
885 let entity: Option<DeleteTableTagError> = serde_json::from_str(&content).ok();
886 Err(Error::ResponseError(ResponseContent { status, content, entity }))
887 }
888}
889
890pub async fn deregister_table(configuration: &configuration::Configuration, id: &str, deregister_table_request: models::DeregisterTableRequest, delimiter: Option<&str>) -> Result<models::DeregisterTableResponse, Error<DeregisterTableError>> {
892 let p_id = id;
894 let p_deregister_table_request = deregister_table_request;
895 let p_delimiter = delimiter;
896
897 let uri_str = format!("{}/v1/table/{id}/deregister", configuration.base_path, id=crate::apis::urlencode(p_id));
898 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
899
900 if let Some(ref param_value) = p_delimiter {
901 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
902 }
903 if let Some(ref user_agent) = configuration.user_agent {
904 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
905 }
906 req_builder = req_builder.json(&p_deregister_table_request);
907
908 let req = req_builder.build()?;
909 let resp = configuration.client.execute(req).await?;
910
911 let status = resp.status();
912 let content_type = resp
913 .headers()
914 .get("content-type")
915 .and_then(|v| v.to_str().ok())
916 .unwrap_or("application/octet-stream");
917 let content_type = super::ContentType::from(content_type);
918
919 if !status.is_client_error() && !status.is_server_error() {
920 let content = resp.text().await?;
921 match content_type {
922 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
923 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::DeregisterTableResponse`"))),
924 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::DeregisterTableResponse`")))),
925 }
926 } else {
927 let content = resp.text().await?;
928 let entity: Option<DeregisterTableError> = serde_json::from_str(&content).ok();
929 Err(Error::ResponseError(ResponseContent { status, content, entity }))
930 }
931}
932
933pub async fn describe_table(configuration: &configuration::Configuration, id: &str, describe_table_request: models::DescribeTableRequest, delimiter: Option<&str>) -> Result<models::DescribeTableResponse, Error<DescribeTableError>> {
935 let p_id = id;
937 let p_describe_table_request = describe_table_request;
938 let p_delimiter = delimiter;
939
940 let uri_str = format!("{}/v1/table/{id}/describe", configuration.base_path, id=crate::apis::urlencode(p_id));
941 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
942
943 if let Some(ref param_value) = p_delimiter {
944 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
945 }
946 if let Some(ref user_agent) = configuration.user_agent {
947 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
948 }
949 req_builder = req_builder.json(&p_describe_table_request);
950
951 let req = req_builder.build()?;
952 let resp = configuration.client.execute(req).await?;
953
954 let status = resp.status();
955 let content_type = resp
956 .headers()
957 .get("content-type")
958 .and_then(|v| v.to_str().ok())
959 .unwrap_or("application/octet-stream");
960 let content_type = super::ContentType::from(content_type);
961
962 if !status.is_client_error() && !status.is_server_error() {
963 let content = resp.text().await?;
964 match content_type {
965 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
966 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::DescribeTableResponse`"))),
967 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::DescribeTableResponse`")))),
968 }
969 } else {
970 let content = resp.text().await?;
971 let entity: Option<DescribeTableError> = serde_json::from_str(&content).ok();
972 Err(Error::ResponseError(ResponseContent { status, content, entity }))
973 }
974}
975
976pub async fn describe_table_index_stats(configuration: &configuration::Configuration, id: &str, index_name: &str, describe_table_index_stats_request: models::DescribeTableIndexStatsRequest, delimiter: Option<&str>) -> Result<models::DescribeTableIndexStatsResponse, Error<DescribeTableIndexStatsError>> {
978 let p_id = id;
980 let p_index_name = index_name;
981 let p_describe_table_index_stats_request = describe_table_index_stats_request;
982 let p_delimiter = delimiter;
983
984 let uri_str = format!("{}/v1/table/{id}/index/{index_name}/stats", configuration.base_path, id=crate::apis::urlencode(p_id), index_name=crate::apis::urlencode(p_index_name));
985 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
986
987 if let Some(ref param_value) = p_delimiter {
988 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
989 }
990 if let Some(ref user_agent) = configuration.user_agent {
991 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
992 }
993 req_builder = req_builder.json(&p_describe_table_index_stats_request);
994
995 let req = req_builder.build()?;
996 let resp = configuration.client.execute(req).await?;
997
998 let status = resp.status();
999 let content_type = resp
1000 .headers()
1001 .get("content-type")
1002 .and_then(|v| v.to_str().ok())
1003 .unwrap_or("application/octet-stream");
1004 let content_type = super::ContentType::from(content_type);
1005
1006 if !status.is_client_error() && !status.is_server_error() {
1007 let content = resp.text().await?;
1008 match content_type {
1009 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1010 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::DescribeTableIndexStatsResponse`"))),
1011 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::DescribeTableIndexStatsResponse`")))),
1012 }
1013 } else {
1014 let content = resp.text().await?;
1015 let entity: Option<DescribeTableIndexStatsError> = serde_json::from_str(&content).ok();
1016 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1017 }
1018}
1019
1020pub async fn drop_table(configuration: &configuration::Configuration, id: &str, drop_table_request: models::DropTableRequest, delimiter: Option<&str>) -> Result<models::DropTableResponse, Error<DropTableError>> {
1022 let p_id = id;
1024 let p_drop_table_request = drop_table_request;
1025 let p_delimiter = delimiter;
1026
1027 let uri_str = format!("{}/v1/table/{id}/drop", configuration.base_path, id=crate::apis::urlencode(p_id));
1028 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1029
1030 if let Some(ref param_value) = p_delimiter {
1031 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1032 }
1033 if let Some(ref user_agent) = configuration.user_agent {
1034 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1035 }
1036 req_builder = req_builder.json(&p_drop_table_request);
1037
1038 let req = req_builder.build()?;
1039 let resp = configuration.client.execute(req).await?;
1040
1041 let status = resp.status();
1042 let content_type = resp
1043 .headers()
1044 .get("content-type")
1045 .and_then(|v| v.to_str().ok())
1046 .unwrap_or("application/octet-stream");
1047 let content_type = super::ContentType::from(content_type);
1048
1049 if !status.is_client_error() && !status.is_server_error() {
1050 let content = resp.text().await?;
1051 match content_type {
1052 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1053 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::DropTableResponse`"))),
1054 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::DropTableResponse`")))),
1055 }
1056 } else {
1057 let content = resp.text().await?;
1058 let entity: Option<DropTableError> = serde_json::from_str(&content).ok();
1059 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1060 }
1061}
1062
1063pub async fn drop_table_index(configuration: &configuration::Configuration, id: &str, index_name: &str, drop_table_index_request: models::DropTableIndexRequest, delimiter: Option<&str>) -> Result<models::DropTableIndexResponse, Error<DropTableIndexError>> {
1065 let p_id = id;
1067 let p_index_name = index_name;
1068 let p_drop_table_index_request = drop_table_index_request;
1069 let p_delimiter = delimiter;
1070
1071 let uri_str = format!("{}/v1/table/{id}/index/{index_name}/drop", configuration.base_path, id=crate::apis::urlencode(p_id), index_name=crate::apis::urlencode(p_index_name));
1072 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1073
1074 if let Some(ref param_value) = p_delimiter {
1075 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1076 }
1077 if let Some(ref user_agent) = configuration.user_agent {
1078 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1079 }
1080 req_builder = req_builder.json(&p_drop_table_index_request);
1081
1082 let req = req_builder.build()?;
1083 let resp = configuration.client.execute(req).await?;
1084
1085 let status = resp.status();
1086 let content_type = resp
1087 .headers()
1088 .get("content-type")
1089 .and_then(|v| v.to_str().ok())
1090 .unwrap_or("application/octet-stream");
1091 let content_type = super::ContentType::from(content_type);
1092
1093 if !status.is_client_error() && !status.is_server_error() {
1094 let content = resp.text().await?;
1095 match content_type {
1096 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1097 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::DropTableIndexResponse`"))),
1098 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::DropTableIndexResponse`")))),
1099 }
1100 } else {
1101 let content = resp.text().await?;
1102 let entity: Option<DropTableIndexError> = serde_json::from_str(&content).ok();
1103 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1104 }
1105}
1106
1107pub async fn explain_table_query_plan(configuration: &configuration::Configuration, id: &str, explain_table_query_plan_request: models::ExplainTableQueryPlanRequest, delimiter: Option<&str>) -> Result<models::ExplainTableQueryPlanResponse, Error<ExplainTableQueryPlanError>> {
1109 let p_id = id;
1111 let p_explain_table_query_plan_request = explain_table_query_plan_request;
1112 let p_delimiter = delimiter;
1113
1114 let uri_str = format!("{}/v1/table/{id}/explain_plan", configuration.base_path, id=crate::apis::urlencode(p_id));
1115 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1116
1117 if let Some(ref param_value) = p_delimiter {
1118 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1119 }
1120 if let Some(ref user_agent) = configuration.user_agent {
1121 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1122 }
1123 req_builder = req_builder.json(&p_explain_table_query_plan_request);
1124
1125 let req = req_builder.build()?;
1126 let resp = configuration.client.execute(req).await?;
1127
1128 let status = resp.status();
1129 let content_type = resp
1130 .headers()
1131 .get("content-type")
1132 .and_then(|v| v.to_str().ok())
1133 .unwrap_or("application/octet-stream");
1134 let content_type = super::ContentType::from(content_type);
1135
1136 if !status.is_client_error() && !status.is_server_error() {
1137 let content = resp.text().await?;
1138 match content_type {
1139 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1140 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ExplainTableQueryPlanResponse`"))),
1141 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ExplainTableQueryPlanResponse`")))),
1142 }
1143 } else {
1144 let content = resp.text().await?;
1145 let entity: Option<ExplainTableQueryPlanError> = serde_json::from_str(&content).ok();
1146 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1147 }
1148}
1149
1150pub async fn get_table_stats(configuration: &configuration::Configuration, id: &str, get_table_stats_request: models::GetTableStatsRequest, delimiter: Option<&str>) -> Result<models::GetTableStatsResponse, Error<GetTableStatsError>> {
1152 let p_id = id;
1154 let p_get_table_stats_request = get_table_stats_request;
1155 let p_delimiter = delimiter;
1156
1157 let uri_str = format!("{}/v1/table/{id}/stats", configuration.base_path, id=crate::apis::urlencode(p_id));
1158 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1159
1160 if let Some(ref param_value) = p_delimiter {
1161 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1162 }
1163 if let Some(ref user_agent) = configuration.user_agent {
1164 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1165 }
1166 req_builder = req_builder.json(&p_get_table_stats_request);
1167
1168 let req = req_builder.build()?;
1169 let resp = configuration.client.execute(req).await?;
1170
1171 let status = resp.status();
1172 let content_type = resp
1173 .headers()
1174 .get("content-type")
1175 .and_then(|v| v.to_str().ok())
1176 .unwrap_or("application/octet-stream");
1177 let content_type = super::ContentType::from(content_type);
1178
1179 if !status.is_client_error() && !status.is_server_error() {
1180 let content = resp.text().await?;
1181 match content_type {
1182 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1183 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::GetTableStatsResponse`"))),
1184 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::GetTableStatsResponse`")))),
1185 }
1186 } else {
1187 let content = resp.text().await?;
1188 let entity: Option<GetTableStatsError> = serde_json::from_str(&content).ok();
1189 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1190 }
1191}
1192
1193pub async fn get_table_tag_version(configuration: &configuration::Configuration, id: &str, get_table_tag_version_request: models::GetTableTagVersionRequest, delimiter: Option<&str>) -> Result<models::GetTableTagVersionResponse, Error<GetTableTagVersionError>> {
1195 let p_id = id;
1197 let p_get_table_tag_version_request = get_table_tag_version_request;
1198 let p_delimiter = delimiter;
1199
1200 let uri_str = format!("{}/v1/table/{id}/tags/version", configuration.base_path, id=crate::apis::urlencode(p_id));
1201 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1202
1203 if let Some(ref param_value) = p_delimiter {
1204 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1205 }
1206 if let Some(ref user_agent) = configuration.user_agent {
1207 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1208 }
1209 req_builder = req_builder.json(&p_get_table_tag_version_request);
1210
1211 let req = req_builder.build()?;
1212 let resp = configuration.client.execute(req).await?;
1213
1214 let status = resp.status();
1215 let content_type = resp
1216 .headers()
1217 .get("content-type")
1218 .and_then(|v| v.to_str().ok())
1219 .unwrap_or("application/octet-stream");
1220 let content_type = super::ContentType::from(content_type);
1221
1222 if !status.is_client_error() && !status.is_server_error() {
1223 let content = resp.text().await?;
1224 match content_type {
1225 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1226 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::GetTableTagVersionResponse`"))),
1227 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::GetTableTagVersionResponse`")))),
1228 }
1229 } else {
1230 let content = resp.text().await?;
1231 let entity: Option<GetTableTagVersionError> = serde_json::from_str(&content).ok();
1232 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1233 }
1234}
1235
1236pub async fn insert_into_table(configuration: &configuration::Configuration, id: &str, body: Vec<u8>, delimiter: Option<&str>, mode: Option<&str>) -> Result<models::InsertIntoTableResponse, Error<InsertIntoTableError>> {
1238 let p_id = id;
1240 let p_body = body;
1241 let p_delimiter = delimiter;
1242 let p_mode = mode;
1243
1244 let uri_str = format!("{}/v1/table/{id}/insert", configuration.base_path, id=crate::apis::urlencode(p_id));
1245 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1246
1247 if let Some(ref param_value) = p_delimiter {
1248 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1249 }
1250 if let Some(ref param_value) = p_mode {
1251 req_builder = req_builder.query(&[("mode", ¶m_value.to_string())]);
1252 }
1253 if let Some(ref user_agent) = configuration.user_agent {
1254 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1255 }
1256 req_builder = req_builder.body(p_body);
1257
1258 let req = req_builder.build()?;
1259 let resp = configuration.client.execute(req).await?;
1260
1261 let status = resp.status();
1262 let content_type = resp
1263 .headers()
1264 .get("content-type")
1265 .and_then(|v| v.to_str().ok())
1266 .unwrap_or("application/octet-stream");
1267 let content_type = super::ContentType::from(content_type);
1268
1269 if !status.is_client_error() && !status.is_server_error() {
1270 let content = resp.text().await?;
1271 match content_type {
1272 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1273 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::InsertIntoTableResponse`"))),
1274 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::InsertIntoTableResponse`")))),
1275 }
1276 } else {
1277 let content = resp.text().await?;
1278 let entity: Option<InsertIntoTableError> = serde_json::from_str(&content).ok();
1279 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1280 }
1281}
1282
1283pub async fn list_table_indices(configuration: &configuration::Configuration, id: &str, list_table_indices_request: models::ListTableIndicesRequest, delimiter: Option<&str>) -> Result<models::ListTableIndicesResponse, Error<ListTableIndicesError>> {
1285 let p_id = id;
1287 let p_list_table_indices_request = list_table_indices_request;
1288 let p_delimiter = delimiter;
1289
1290 let uri_str = format!("{}/v1/table/{id}/index/list", configuration.base_path, id=crate::apis::urlencode(p_id));
1291 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1292
1293 if let Some(ref param_value) = p_delimiter {
1294 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1295 }
1296 if let Some(ref user_agent) = configuration.user_agent {
1297 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1298 }
1299 req_builder = req_builder.json(&p_list_table_indices_request);
1300
1301 let req = req_builder.build()?;
1302 let resp = configuration.client.execute(req).await?;
1303
1304 let status = resp.status();
1305 let content_type = resp
1306 .headers()
1307 .get("content-type")
1308 .and_then(|v| v.to_str().ok())
1309 .unwrap_or("application/octet-stream");
1310 let content_type = super::ContentType::from(content_type);
1311
1312 if !status.is_client_error() && !status.is_server_error() {
1313 let content = resp.text().await?;
1314 match content_type {
1315 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1316 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListTableIndicesResponse`"))),
1317 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListTableIndicesResponse`")))),
1318 }
1319 } else {
1320 let content = resp.text().await?;
1321 let entity: Option<ListTableIndicesError> = serde_json::from_str(&content).ok();
1322 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1323 }
1324}
1325
1326pub async fn list_table_tags(configuration: &configuration::Configuration, id: &str, delimiter: Option<&str>, page_token: Option<&str>, limit: Option<i32>) -> Result<models::ListTableTagsResponse, Error<ListTableTagsError>> {
1328 let p_id = id;
1330 let p_delimiter = delimiter;
1331 let p_page_token = page_token;
1332 let p_limit = limit;
1333
1334 let uri_str = format!("{}/v1/table/{id}/tags/list", configuration.base_path, id=crate::apis::urlencode(p_id));
1335 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1336
1337 if let Some(ref param_value) = p_delimiter {
1338 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1339 }
1340 if let Some(ref param_value) = p_page_token {
1341 req_builder = req_builder.query(&[("page_token", ¶m_value.to_string())]);
1342 }
1343 if let Some(ref param_value) = p_limit {
1344 req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]);
1345 }
1346 if let Some(ref user_agent) = configuration.user_agent {
1347 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1348 }
1349
1350 let req = req_builder.build()?;
1351 let resp = configuration.client.execute(req).await?;
1352
1353 let status = resp.status();
1354 let content_type = resp
1355 .headers()
1356 .get("content-type")
1357 .and_then(|v| v.to_str().ok())
1358 .unwrap_or("application/octet-stream");
1359 let content_type = super::ContentType::from(content_type);
1360
1361 if !status.is_client_error() && !status.is_server_error() {
1362 let content = resp.text().await?;
1363 match content_type {
1364 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1365 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListTableTagsResponse`"))),
1366 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListTableTagsResponse`")))),
1367 }
1368 } else {
1369 let content = resp.text().await?;
1370 let entity: Option<ListTableTagsError> = serde_json::from_str(&content).ok();
1371 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1372 }
1373}
1374
1375pub async fn list_table_versions(configuration: &configuration::Configuration, id: &str, list_table_versions_request: models::ListTableVersionsRequest, delimiter: Option<&str>) -> Result<models::ListTableVersionsResponse, Error<ListTableVersionsError>> {
1377 let p_id = id;
1379 let p_list_table_versions_request = list_table_versions_request;
1380 let p_delimiter = delimiter;
1381
1382 let uri_str = format!("{}/v1/table/{id}/version/list", configuration.base_path, id=crate::apis::urlencode(p_id));
1383 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1384
1385 if let Some(ref param_value) = p_delimiter {
1386 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1387 }
1388 if let Some(ref user_agent) = configuration.user_agent {
1389 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1390 }
1391 req_builder = req_builder.json(&p_list_table_versions_request);
1392
1393 let req = req_builder.build()?;
1394 let resp = configuration.client.execute(req).await?;
1395
1396 let status = resp.status();
1397 let content_type = resp
1398 .headers()
1399 .get("content-type")
1400 .and_then(|v| v.to_str().ok())
1401 .unwrap_or("application/octet-stream");
1402 let content_type = super::ContentType::from(content_type);
1403
1404 if !status.is_client_error() && !status.is_server_error() {
1405 let content = resp.text().await?;
1406 match content_type {
1407 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1408 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListTableVersionsResponse`"))),
1409 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListTableVersionsResponse`")))),
1410 }
1411 } else {
1412 let content = resp.text().await?;
1413 let entity: Option<ListTableVersionsError> = serde_json::from_str(&content).ok();
1414 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1415 }
1416}
1417
1418pub async fn list_tables(configuration: &configuration::Configuration, id: &str, delimiter: Option<&str>, page_token: Option<&str>, limit: Option<i32>) -> Result<models::ListTablesResponse, Error<ListTablesError>> {
1420 let p_id = id;
1422 let p_delimiter = delimiter;
1423 let p_page_token = page_token;
1424 let p_limit = limit;
1425
1426 let uri_str = format!("{}/v1/namespace/{id}/table/list", configuration.base_path, id=crate::apis::urlencode(p_id));
1427 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1428
1429 if let Some(ref param_value) = p_delimiter {
1430 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1431 }
1432 if let Some(ref param_value) = p_page_token {
1433 req_builder = req_builder.query(&[("page_token", ¶m_value.to_string())]);
1434 }
1435 if let Some(ref param_value) = p_limit {
1436 req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]);
1437 }
1438 if let Some(ref user_agent) = configuration.user_agent {
1439 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1440 }
1441
1442 let req = req_builder.build()?;
1443 let resp = configuration.client.execute(req).await?;
1444
1445 let status = resp.status();
1446 let content_type = resp
1447 .headers()
1448 .get("content-type")
1449 .and_then(|v| v.to_str().ok())
1450 .unwrap_or("application/octet-stream");
1451 let content_type = super::ContentType::from(content_type);
1452
1453 if !status.is_client_error() && !status.is_server_error() {
1454 let content = resp.text().await?;
1455 match content_type {
1456 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1457 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListTablesResponse`"))),
1458 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListTablesResponse`")))),
1459 }
1460 } else {
1461 let content = resp.text().await?;
1462 let entity: Option<ListTablesError> = serde_json::from_str(&content).ok();
1463 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1464 }
1465}
1466
1467pub async fn merge_insert_into_table(configuration: &configuration::Configuration, id: &str, on: &str, body: Vec<u8>, delimiter: Option<&str>, when_matched_update_all: Option<bool>, when_matched_update_all_filt: Option<&str>, when_not_matched_insert_all: Option<bool>, when_not_matched_by_source_delete: Option<bool>, when_not_matched_by_source_delete_filt: Option<&str>) -> Result<models::MergeInsertIntoTableResponse, Error<MergeInsertIntoTableError>> {
1469 let p_id = id;
1471 let p_on = on;
1472 let p_body = body;
1473 let p_delimiter = delimiter;
1474 let p_when_matched_update_all = when_matched_update_all;
1475 let p_when_matched_update_all_filt = when_matched_update_all_filt;
1476 let p_when_not_matched_insert_all = when_not_matched_insert_all;
1477 let p_when_not_matched_by_source_delete = when_not_matched_by_source_delete;
1478 let p_when_not_matched_by_source_delete_filt = when_not_matched_by_source_delete_filt;
1479
1480 let uri_str = format!("{}/v1/table/{id}/merge_insert", configuration.base_path, id=crate::apis::urlencode(p_id));
1481 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1482
1483 if let Some(ref param_value) = p_delimiter {
1484 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1485 }
1486 req_builder = req_builder.query(&[("on", &p_on.to_string())]);
1487 if let Some(ref param_value) = p_when_matched_update_all {
1488 req_builder = req_builder.query(&[("when_matched_update_all", ¶m_value.to_string())]);
1489 }
1490 if let Some(ref param_value) = p_when_matched_update_all_filt {
1491 req_builder = req_builder.query(&[("when_matched_update_all_filt", ¶m_value.to_string())]);
1492 }
1493 if let Some(ref param_value) = p_when_not_matched_insert_all {
1494 req_builder = req_builder.query(&[("when_not_matched_insert_all", ¶m_value.to_string())]);
1495 }
1496 if let Some(ref param_value) = p_when_not_matched_by_source_delete {
1497 req_builder = req_builder.query(&[("when_not_matched_by_source_delete", ¶m_value.to_string())]);
1498 }
1499 if let Some(ref param_value) = p_when_not_matched_by_source_delete_filt {
1500 req_builder = req_builder.query(&[("when_not_matched_by_source_delete_filt", ¶m_value.to_string())]);
1501 }
1502 if let Some(ref user_agent) = configuration.user_agent {
1503 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1504 }
1505 req_builder = req_builder.body(p_body);
1506
1507 let req = req_builder.build()?;
1508 let resp = configuration.client.execute(req).await?;
1509
1510 let status = resp.status();
1511 let content_type = resp
1512 .headers()
1513 .get("content-type")
1514 .and_then(|v| v.to_str().ok())
1515 .unwrap_or("application/octet-stream");
1516 let content_type = super::ContentType::from(content_type);
1517
1518 if !status.is_client_error() && !status.is_server_error() {
1519 let content = resp.text().await?;
1520 match content_type {
1521 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1522 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::MergeInsertIntoTableResponse`"))),
1523 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::MergeInsertIntoTableResponse`")))),
1524 }
1525 } else {
1526 let content = resp.text().await?;
1527 let entity: Option<MergeInsertIntoTableError> = serde_json::from_str(&content).ok();
1528 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1529 }
1530}
1531
1532pub async fn query_table(configuration: &configuration::Configuration, id: &str, query_table_request: models::QueryTableRequest, delimiter: Option<&str>) -> Result<reqwest::Response, Error<QueryTableError>> {
1534 let p_id = id;
1536 let p_query_table_request = query_table_request;
1537 let p_delimiter = delimiter;
1538
1539 let uri_str = format!("{}/v1/table/{id}/query", configuration.base_path, id=crate::apis::urlencode(p_id));
1540 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1541
1542 if let Some(ref param_value) = p_delimiter {
1543 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1544 }
1545 if let Some(ref user_agent) = configuration.user_agent {
1546 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1547 }
1548 req_builder = req_builder.json(&p_query_table_request);
1549
1550 let req = req_builder.build()?;
1551 let resp = configuration.client.execute(req).await?;
1552
1553 let status = resp.status();
1554
1555 if !status.is_client_error() && !status.is_server_error() {
1556 Ok(resp)
1557 } else {
1558 let content = resp.text().await?;
1559 let entity: Option<QueryTableError> = serde_json::from_str(&content).ok();
1560 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1561 }
1562}
1563
1564pub async fn register_table(configuration: &configuration::Configuration, id: &str, register_table_request: models::RegisterTableRequest, delimiter: Option<&str>) -> Result<models::RegisterTableResponse, Error<RegisterTableError>> {
1566 let p_id = id;
1568 let p_register_table_request = register_table_request;
1569 let p_delimiter = delimiter;
1570
1571 let uri_str = format!("{}/v1/table/{id}/register", configuration.base_path, id=crate::apis::urlencode(p_id));
1572 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1573
1574 if let Some(ref param_value) = p_delimiter {
1575 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1576 }
1577 if let Some(ref user_agent) = configuration.user_agent {
1578 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1579 }
1580 req_builder = req_builder.json(&p_register_table_request);
1581
1582 let req = req_builder.build()?;
1583 let resp = configuration.client.execute(req).await?;
1584
1585 let status = resp.status();
1586 let content_type = resp
1587 .headers()
1588 .get("content-type")
1589 .and_then(|v| v.to_str().ok())
1590 .unwrap_or("application/octet-stream");
1591 let content_type = super::ContentType::from(content_type);
1592
1593 if !status.is_client_error() && !status.is_server_error() {
1594 let content = resp.text().await?;
1595 match content_type {
1596 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1597 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::RegisterTableResponse`"))),
1598 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::RegisterTableResponse`")))),
1599 }
1600 } else {
1601 let content = resp.text().await?;
1602 let entity: Option<RegisterTableError> = serde_json::from_str(&content).ok();
1603 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1604 }
1605}
1606
1607pub async fn restore_table(configuration: &configuration::Configuration, id: &str, restore_table_request: models::RestoreTableRequest, delimiter: Option<&str>) -> Result<models::RestoreTableResponse, Error<RestoreTableError>> {
1609 let p_id = id;
1611 let p_restore_table_request = restore_table_request;
1612 let p_delimiter = delimiter;
1613
1614 let uri_str = format!("{}/v1/table/{id}/restore", configuration.base_path, id=crate::apis::urlencode(p_id));
1615 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1616
1617 if let Some(ref param_value) = p_delimiter {
1618 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1619 }
1620 if let Some(ref user_agent) = configuration.user_agent {
1621 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1622 }
1623 req_builder = req_builder.json(&p_restore_table_request);
1624
1625 let req = req_builder.build()?;
1626 let resp = configuration.client.execute(req).await?;
1627
1628 let status = resp.status();
1629 let content_type = resp
1630 .headers()
1631 .get("content-type")
1632 .and_then(|v| v.to_str().ok())
1633 .unwrap_or("application/octet-stream");
1634 let content_type = super::ContentType::from(content_type);
1635
1636 if !status.is_client_error() && !status.is_server_error() {
1637 let content = resp.text().await?;
1638 match content_type {
1639 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1640 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::RestoreTableResponse`"))),
1641 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::RestoreTableResponse`")))),
1642 }
1643 } else {
1644 let content = resp.text().await?;
1645 let entity: Option<RestoreTableError> = serde_json::from_str(&content).ok();
1646 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1647 }
1648}
1649
1650pub async fn table_exists(configuration: &configuration::Configuration, id: &str, table_exists_request: models::TableExistsRequest, delimiter: Option<&str>) -> Result<(), Error<TableExistsError>> {
1652 let p_id = id;
1654 let p_table_exists_request = table_exists_request;
1655 let p_delimiter = delimiter;
1656
1657 let uri_str = format!("{}/v1/table/{id}/exists", configuration.base_path, id=crate::apis::urlencode(p_id));
1658 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1659
1660 if let Some(ref param_value) = p_delimiter {
1661 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1662 }
1663 if let Some(ref user_agent) = configuration.user_agent {
1664 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1665 }
1666 req_builder = req_builder.json(&p_table_exists_request);
1667
1668 let req = req_builder.build()?;
1669 let resp = configuration.client.execute(req).await?;
1670
1671 let status = resp.status();
1672
1673 if !status.is_client_error() && !status.is_server_error() {
1674 Ok(())
1675 } else {
1676 let content = resp.text().await?;
1677 let entity: Option<TableExistsError> = serde_json::from_str(&content).ok();
1678 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1679 }
1680}
1681
1682pub async fn update_table(configuration: &configuration::Configuration, id: &str, update_table_request: models::UpdateTableRequest, delimiter: Option<&str>) -> Result<models::UpdateTableResponse, Error<UpdateTableError>> {
1684 let p_id = id;
1686 let p_update_table_request = update_table_request;
1687 let p_delimiter = delimiter;
1688
1689 let uri_str = format!("{}/v1/table/{id}/update", configuration.base_path, id=crate::apis::urlencode(p_id));
1690 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1691
1692 if let Some(ref param_value) = p_delimiter {
1693 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1694 }
1695 if let Some(ref user_agent) = configuration.user_agent {
1696 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1697 }
1698 req_builder = req_builder.json(&p_update_table_request);
1699
1700 let req = req_builder.build()?;
1701 let resp = configuration.client.execute(req).await?;
1702
1703 let status = resp.status();
1704 let content_type = resp
1705 .headers()
1706 .get("content-type")
1707 .and_then(|v| v.to_str().ok())
1708 .unwrap_or("application/octet-stream");
1709 let content_type = super::ContentType::from(content_type);
1710
1711 if !status.is_client_error() && !status.is_server_error() {
1712 let content = resp.text().await?;
1713 match content_type {
1714 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1715 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::UpdateTableResponse`"))),
1716 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::UpdateTableResponse`")))),
1717 }
1718 } else {
1719 let content = resp.text().await?;
1720 let entity: Option<UpdateTableError> = serde_json::from_str(&content).ok();
1721 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1722 }
1723}
1724
1725pub async fn update_table_tag(configuration: &configuration::Configuration, id: &str, update_table_tag_request: models::UpdateTableTagRequest, delimiter: Option<&str>) -> Result<(), Error<UpdateTableTagError>> {
1727 let p_id = id;
1729 let p_update_table_tag_request = update_table_tag_request;
1730 let p_delimiter = delimiter;
1731
1732 let uri_str = format!("{}/v1/table/{id}/tags/update", configuration.base_path, id=crate::apis::urlencode(p_id));
1733 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1734
1735 if let Some(ref param_value) = p_delimiter {
1736 req_builder = req_builder.query(&[("delimiter", ¶m_value.to_string())]);
1737 }
1738 if let Some(ref user_agent) = configuration.user_agent {
1739 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1740 }
1741 req_builder = req_builder.json(&p_update_table_tag_request);
1742
1743 let req = req_builder.build()?;
1744 let resp = configuration.client.execute(req).await?;
1745
1746 let status = resp.status();
1747
1748 if !status.is_client_error() && !status.is_server_error() {
1749 Ok(())
1750 } else {
1751 let content = resp.text().await?;
1752 let entity: Option<UpdateTableTagError> = serde_json::from_str(&content).ok();
1753 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1754 }
1755}
1756