Skip to main content

uqa_sql/ast/
foreign_wrappers.rs

1//
2// Unified Query Algebra
3//
4// Copyright (c) 2023-2026 Cognica, Inc.
5//
6
7//! Written foreign-wrapper declarations, before catalog lookup and validation.
8
9use serde::{Deserialize, Serialize};
10
11#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
12pub struct CreateForeignWrapper {
13    pub name: String,
14    /// Preserve order and repeated clauses for execution-time `PostgreSQL` diagnostics.
15    pub functions: Vec<ForeignWrapperFunctionOption>,
16    pub options: Vec<(String, String)>,
17}
18
19#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
20pub enum ForeignWrapperFunctionOption {
21    Handler(Option<Vec<String>>),
22    Validator(Option<Vec<String>>),
23}