pgrx_pg_sys/submodules/
sql_translatable.rs

1//LICENSE Portions Copyright 2019-2021 ZomboDB, LLC.
2//LICENSE
3//LICENSE Portions Copyright 2021-2023 Technology Concepts & Design, Inc.
4//LICENSE
5//LICENSE Portions Copyright 2023-2023 PgCentral Foundation, Inc. <contact@pgcentral.org>
6//LICENSE
7//LICENSE All rights reserved.
8//LICENSE
9//LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file.
10use pgrx_sql_entity_graph::metadata::{
11    ArgumentError, Returns, ReturnsError, SqlMapping, SqlTranslatable,
12};
13
14unsafe impl SqlTranslatable for crate::FunctionCallInfoBaseData {
15    fn argument_sql() -> Result<SqlMapping, ArgumentError> {
16        Ok(SqlMapping::Skip)
17    }
18    fn return_sql() -> Result<Returns, ReturnsError> {
19        Ok(Returns::One(SqlMapping::Skip))
20    }
21}
22
23unsafe impl SqlTranslatable for crate::PlannerInfo {
24    fn argument_sql() -> Result<SqlMapping, ArgumentError> {
25        Ok(SqlMapping::literal("internal"))
26    }
27    fn return_sql() -> Result<Returns, ReturnsError> {
28        Ok(Returns::One(SqlMapping::literal("internal")))
29    }
30}
31
32unsafe impl SqlTranslatable for crate::IndexAmRoutine {
33    fn argument_sql() -> Result<SqlMapping, ArgumentError> {
34        Ok(SqlMapping::literal("internal"))
35    }
36    fn return_sql() -> Result<Returns, ReturnsError> {
37        Ok(Returns::One(SqlMapping::literal("internal")))
38    }
39}
40
41unsafe impl SqlTranslatable for crate::TableAmRoutine {
42    fn argument_sql() -> Result<SqlMapping, ArgumentError> {
43        Ok(SqlMapping::literal("internal"))
44    }
45    fn return_sql() -> Result<Returns, ReturnsError> {
46        Ok(Returns::One(SqlMapping::literal("internal")))
47    }
48}
49
50unsafe impl SqlTranslatable for crate::FdwRoutine {
51    fn argument_sql() -> Result<SqlMapping, ArgumentError> {
52        Ok(SqlMapping::literal("fdw_handler"))
53    }
54    fn return_sql() -> Result<Returns, ReturnsError> {
55        Ok(Returns::One(SqlMapping::literal("fdw_handler")))
56    }
57}
58
59unsafe impl SqlTranslatable for crate::BOX {
60    fn argument_sql() -> Result<SqlMapping, ArgumentError> {
61        Ok(SqlMapping::literal("box"))
62    }
63    fn return_sql() -> Result<Returns, ReturnsError> {
64        Ok(Returns::One(SqlMapping::literal("box")))
65    }
66}
67
68unsafe impl SqlTranslatable for crate::Point {
69    fn argument_sql() -> Result<SqlMapping, ArgumentError> {
70        Ok(SqlMapping::literal("point"))
71    }
72    fn return_sql() -> Result<Returns, ReturnsError> {
73        Ok(Returns::One(SqlMapping::literal("point")))
74    }
75}
76
77unsafe impl SqlTranslatable for crate::ItemPointerData {
78    fn argument_sql() -> Result<SqlMapping, ArgumentError> {
79        Ok(SqlMapping::literal("tid"))
80    }
81    fn return_sql() -> Result<Returns, ReturnsError> {
82        Ok(Returns::One(SqlMapping::literal("tid")))
83    }
84}
85
86unsafe impl SqlTranslatable for crate::Datum {
87    fn argument_sql() -> Result<SqlMapping, ArgumentError> {
88        Err(ArgumentError::Datum)
89    }
90    fn return_sql() -> Result<Returns, ReturnsError> {
91        Err(ReturnsError::Datum)
92    }
93}