safe_migrate/model/
function.rs1use crate::ast::identifiers::ObjectId;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub enum Volatility {
6 Volatile,
7 Stable,
8 Immutable,
9}
10
11#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
12pub enum SecurityMode {
13 Invoker,
14 Definer,
15}
16
17#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
18pub struct FunctionState {
19 pub id: ObjectId,
20 pub arg_types: Vec<String>,
21 pub return_type: String,
22 pub volatility: Volatility,
23 pub language: String,
24 pub security: SecurityMode,
25}
26
27#[derive(Debug, Clone, PartialEq)]
28pub enum FunctionOverlay {
29 Present(FunctionState),
30 Dropped,
31}