#[derive(Debug, Clone, Copy)]
pub(super) struct BuiltinRoutineCatalogEntry {
pub(super) oid: i64,
pub(super) name: &'static str,
pub(super) kind: &'static str,
pub(super) strict: bool,
pub(super) volatility: &'static str,
pub(super) parallel: &'static str,
pub(super) leakproof: bool,
pub(super) return_type: i64,
pub(super) argument_types: &'static [i64],
pub(super) argument_names: &'static [&'static str],
pub(super) default_arguments: usize,
pub(super) argument_defaults: Option<&'static str>,
pub(super) source: &'static str,
}
impl BuiltinRoutineCatalogEntry {
pub(super) const fn language(self) -> i64 {
match self.oid {
1810 | 1811 => 14,
_ => 12,
}
}
pub(super) fn sql_body(self) -> Option<String> {
let (function_oid, parameter_type, collation_oid) = match self.oid {
1810 => (720, 17, 0),
1811 => (1374, 25, 100),
_ => return None,
};
let mut body = String::from(BIT_LENGTH_SQL_BODY_PREFIX);
body.push_str(&function_oid.to_string());
body.push_str(BIT_LENGTH_SQL_BODY_AFTER_FUNCTION);
body.push_str(&collation_oid.to_string());
body.push_str(BIT_LENGTH_SQL_BODY_AFTER_INPUT_COLLATION);
body.push_str(¶meter_type.to_string());
body.push_str(BIT_LENGTH_SQL_BODY_AFTER_PARAMETER_TYPE);
body.push_str(&collation_oid.to_string());
body.push_str(BIT_LENGTH_SQL_BODY_SUFFIX);
Some(body)
}
pub(super) const fn variadic_type(self) -> i64 {
match self.oid {
4282 => 3904,
4285 => 3906,
4288 => 3908,
4291 => 3910,
4294 => 3912,
4297 => 3926,
_ => 0,
}
}
}
macro_rules! range_routine {
($oid:literal, $name:literal, $strict:literal, $return_type:literal, [$($argument_type:literal),*], $source:literal) => {
BuiltinRoutineCatalogEntry {
oid: $oid,
name: $name,
kind: "f",
strict: $strict,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: $return_type,
argument_types: &[$($argument_type),*],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: $source,
}
};
}
const BIT_LENGTH_SQL_BODY_PREFIX: &str = concat!(
"{QUERY :commandType 1 :querySource 0 :canSetTag true :utilityStmt <> ",
":resultRelation 0 :hasAggs false :hasWindowFuncs false :hasTargetSRFs false ",
":hasSubLinks false :hasDistinctOn false :hasRecursive false :hasModifyingCTE false ",
":hasForUpdate false :hasRowSecurity false :hasGroupRTE false :isReturn true :cteList <> ",
":rtable <> :rteperminfos <> :jointree {FROMEXPR :fromlist <> :quals <>} ",
":mergeActionList <> :mergeTargetRelation 0 :mergeJoinCondition <> ",
":targetList ({TARGETENTRY :expr {OPEXPR :opno 514 :opfuncid 141 :opresulttype 23 ",
":opretset false :opcollid 0 :inputcollid 0 :args ({FUNCEXPR :funcid "
);
const BIT_LENGTH_SQL_BODY_AFTER_FUNCTION: &str = concat!(
" :funcresulttype 23 :funcretset false :funcvariadic false :funcformat 0 ",
":funccollid 0 :inputcollid "
);
const BIT_LENGTH_SQL_BODY_AFTER_INPUT_COLLATION: &str =
" :args ({PARAM :paramkind 0 :paramid 1 :paramtype ";
const BIT_LENGTH_SQL_BODY_AFTER_PARAMETER_TYPE: &str = " :paramtypmod -1 :paramcollid ";
const BIT_LENGTH_SQL_BODY_SUFFIX: &str = concat!(
" :location -1}) :location -1} {CONST :consttype 23 :consttypmod -1 :constcollid 0 ",
":constlen 4 :constbyval true :constisnull false :location -1 ",
":constvalue 4 [ 8 0 0 0 0 0 0 0 ]}) :location -1} :resno 1 :resname <> ",
":ressortgroupref 0 :resorigtbl 0 :resorigcol 0 :resjunk false}) :override 0 ",
":onConflict <> :returningOldAlias <> :returningNewAlias <> :returningList <> ",
":groupClause <> :groupDistinct false :groupingSets <> :havingQual <> :windowClause <> ",
":distinctClause <> :sortClause <> :limitOffset <> :limitCount <> :limitOption 0 ",
":rowMarks <> :setOperations <> :constraintDeps <> :withCheckOptions <> ",
":stmt_location -1 :stmt_len -1}"
);
const FALSE_NODE: &str = "({CONST :consttype 16 :consttypmod -1 :constcollid 0 :constlen 1 :constbyval true :constisnull false :location -1 :constvalue 1 [ 0 0 0 0 0 0 0 0 ]})";
pub(super) const PG18_BUILTIN_ROUTINES: &[BuiltinRoutineCatalogEntry] = &[
BuiltinRoutineCatalogEntry {
oid: 1574,
name: "nextval",
kind: "f",
strict: true,
volatility: "v",
parallel: "u",
leakproof: false,
return_type: 20,
argument_types: &[2205],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "nextval_oid",
},
BuiltinRoutineCatalogEntry {
oid: 1575,
name: "currval",
kind: "f",
strict: true,
volatility: "v",
parallel: "u",
leakproof: false,
return_type: 20,
argument_types: &[2205],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "currval_oid",
},
BuiltinRoutineCatalogEntry {
oid: 1576,
name: "setval",
kind: "f",
strict: true,
volatility: "v",
parallel: "u",
leakproof: false,
return_type: 20,
argument_types: &[2205, 20],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "setval_oid",
},
BuiltinRoutineCatalogEntry {
oid: 1765,
name: "setval",
kind: "f",
strict: true,
volatility: "v",
parallel: "u",
leakproof: false,
return_type: 20,
argument_types: &[2205, 20, 16],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "setval3_oid",
},
BuiltinRoutineCatalogEntry {
oid: 1716,
name: "pg_get_expr",
kind: "f",
strict: true,
volatility: "s",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[194, 26],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "pg_get_expr",
},
BuiltinRoutineCatalogEntry {
oid: 2509,
name: "pg_get_expr",
kind: "f",
strict: true,
volatility: "s",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[194, 26, 16],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "pg_get_expr_ext",
},
BuiltinRoutineCatalogEntry {
oid: 3352,
name: "pg_get_partkeydef",
kind: "f",
strict: true,
volatility: "s",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[26],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "pg_get_partkeydef",
},
BuiltinRoutineCatalogEntry {
oid: 1662,
name: "pg_get_triggerdef",
kind: "f",
strict: true,
volatility: "s",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[26],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "pg_get_triggerdef",
},
BuiltinRoutineCatalogEntry {
oid: 2730,
name: "pg_get_triggerdef",
kind: "f",
strict: true,
volatility: "s",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[26, 16],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "pg_get_triggerdef_ext",
},
BuiltinRoutineCatalogEntry {
oid: 1573,
name: "pg_get_ruledef",
kind: "f",
strict: true,
volatility: "s",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[26],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "pg_get_ruledef",
},
BuiltinRoutineCatalogEntry {
oid: 2504,
name: "pg_get_ruledef",
kind: "f",
strict: true,
volatility: "s",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[26, 16],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "pg_get_ruledef_ext",
},
BuiltinRoutineCatalogEntry {
oid: 6381,
name: "array_reverse",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 2277,
argument_types: &[2277],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "array_reverse",
},
BuiltinRoutineCatalogEntry {
oid: 6388,
name: "array_sort",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 2277,
argument_types: &[2277],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "array_sort",
},
BuiltinRoutineCatalogEntry {
oid: 6389,
name: "array_sort",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 2277,
argument_types: &[2277, 16],
argument_names: &["array", "descending"],
default_arguments: 0,
argument_defaults: None,
source: "array_sort_order",
},
BuiltinRoutineCatalogEntry {
oid: 6390,
name: "array_sort",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 2277,
argument_types: &[2277, 16, 16],
argument_names: &["array", "descending", "nulls_first"],
default_arguments: 0,
argument_defaults: None,
source: "array_sort_order_nulls_first",
},
BuiltinRoutineCatalogEntry {
oid: 1810,
name: "bit_length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[17],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "",
},
BuiltinRoutineCatalogEntry {
oid: 1811,
name: "bit_length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[25],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "",
},
BuiltinRoutineCatalogEntry {
oid: 6412,
name: "casefold",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[25],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "casefold",
},
BuiltinRoutineCatalogEntry {
oid: 1372,
name: "char_length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[1042],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "bpcharlen",
},
BuiltinRoutineCatalogEntry {
oid: 1381,
name: "char_length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[25],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "textlen",
},
BuiltinRoutineCatalogEntry {
oid: 1367,
name: "character_length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[1042],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "bpcharlen",
},
BuiltinRoutineCatalogEntry {
oid: 1369,
name: "character_length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[25],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "textlen",
},
BuiltinRoutineCatalogEntry {
oid: 6364,
name: "crc32",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: true,
return_type: 20,
argument_types: &[17],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "crc32_bytea",
},
BuiltinRoutineCatalogEntry {
oid: 6365,
name: "crc32c",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: true,
return_type: 20,
argument_types: &[17],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "crc32c_bytea",
},
BuiltinRoutineCatalogEntry {
oid: 6383,
name: "gamma",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 701,
argument_types: &[701],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "dgamma",
},
BuiltinRoutineCatalogEntry {
oid: 6384,
name: "lgamma",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 701,
argument_types: &[701],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "dlgamma",
},
BuiltinRoutineCatalogEntry {
oid: 1317,
name: "length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[25],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "textlen",
},
BuiltinRoutineCatalogEntry {
oid: 1318,
name: "length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[1042],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "bpcharlen",
},
BuiltinRoutineCatalogEntry {
oid: 2010,
name: "length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[17],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "byteaoctetlen",
},
BuiltinRoutineCatalogEntry {
oid: 3261,
name: "json_strip_nulls",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 114,
argument_types: &[114, 16],
argument_names: &["target", "strip_in_arrays"],
default_arguments: 1,
argument_defaults: Some(FALSE_NODE),
source: "json_strip_nulls",
},
BuiltinRoutineCatalogEntry {
oid: 3262,
name: "jsonb_strip_nulls",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 3802,
argument_types: &[3802, 16],
argument_names: &["target", "strip_in_arrays"],
default_arguments: 1,
argument_defaults: Some(FALSE_NODE),
source: "jsonb_strip_nulls",
},
BuiltinRoutineCatalogEntry {
oid: 2050,
name: "max",
kind: "a",
strict: false,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 2277,
argument_types: &[2277],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "aggregate_dummy",
},
BuiltinRoutineCatalogEntry {
oid: 6373,
name: "max",
kind: "a",
strict: false,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 2249,
argument_types: &[2249],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "aggregate_dummy",
},
BuiltinRoutineCatalogEntry {
oid: 6395,
name: "max",
kind: "a",
strict: false,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 17,
argument_types: &[17],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "aggregate_dummy",
},
BuiltinRoutineCatalogEntry {
oid: 2311,
name: "md5",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: true,
return_type: 25,
argument_types: &[25],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "md5_text",
},
BuiltinRoutineCatalogEntry {
oid: 2321,
name: "md5",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: true,
return_type: 25,
argument_types: &[17],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "md5_bytea",
},
BuiltinRoutineCatalogEntry {
oid: 2051,
name: "min",
kind: "a",
strict: false,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 2277,
argument_types: &[2277],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "aggregate_dummy",
},
BuiltinRoutineCatalogEntry {
oid: 6374,
name: "min",
kind: "a",
strict: false,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 2249,
argument_types: &[2249],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "aggregate_dummy",
},
BuiltinRoutineCatalogEntry {
oid: 6396,
name: "min",
kind: "a",
strict: false,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 17,
argument_types: &[17],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "aggregate_dummy",
},
BuiltinRoutineCatalogEntry {
oid: 720,
name: "octet_length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[17],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "byteaoctetlen",
},
BuiltinRoutineCatalogEntry {
oid: 1374,
name: "octet_length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[25],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "textoctetlen",
},
BuiltinRoutineCatalogEntry {
oid: 1375,
name: "octet_length",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 23,
argument_types: &[1042],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "bpcharoctetlen",
},
BuiltinRoutineCatalogEntry {
oid: 1598,
name: "random",
kind: "f",
strict: true,
volatility: "v",
parallel: "r",
leakproof: false,
return_type: 701,
argument_types: &[],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "drandom",
},
BuiltinRoutineCatalogEntry {
oid: 6339,
name: "random",
kind: "f",
strict: true,
volatility: "v",
parallel: "r",
leakproof: false,
return_type: 23,
argument_types: &[23, 23],
argument_names: &["min", "max"],
default_arguments: 0,
argument_defaults: None,
source: "int4random",
},
BuiltinRoutineCatalogEntry {
oid: 6340,
name: "random",
kind: "f",
strict: true,
volatility: "v",
parallel: "r",
leakproof: false,
return_type: 20,
argument_types: &[20, 20],
argument_names: &["min", "max"],
default_arguments: 0,
argument_defaults: None,
source: "int8random",
},
BuiltinRoutineCatalogEntry {
oid: 6341,
name: "random",
kind: "f",
strict: true,
volatility: "v",
parallel: "r",
leakproof: false,
return_type: 1700,
argument_types: &[1700, 1700],
argument_names: &["min", "max"],
default_arguments: 0,
argument_defaults: None,
source: "numeric_random",
},
BuiltinRoutineCatalogEntry {
oid: 6382,
name: "reverse",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 17,
argument_types: &[17],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "bytea_reverse",
},
BuiltinRoutineCatalogEntry {
oid: 3062,
name: "reverse",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[25],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "text_reverse",
},
BuiltinRoutineCatalogEntry {
oid: 6330,
name: "to_bin",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[23],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "to_bin32",
},
BuiltinRoutineCatalogEntry {
oid: 6331,
name: "to_bin",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[20],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "to_bin64",
},
BuiltinRoutineCatalogEntry {
oid: 2089,
name: "to_hex",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[23],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "to_hex32",
},
BuiltinRoutineCatalogEntry {
oid: 2090,
name: "to_hex",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[20],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "to_hex64",
},
BuiltinRoutineCatalogEntry {
oid: 6332,
name: "to_oct",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[23],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "to_oct32",
},
BuiltinRoutineCatalogEntry {
oid: 6333,
name: "to_oct",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 25,
argument_types: &[20],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "to_oct64",
},
BuiltinRoutineCatalogEntry {
oid: 6342,
name: "uuid_extract_timestamp",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 1184,
argument_types: &[2950],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "uuid_extract_timestamp",
},
BuiltinRoutineCatalogEntry {
oid: 6343,
name: "uuid_extract_version",
kind: "f",
strict: true,
volatility: "i",
parallel: "s",
leakproof: false,
return_type: 21,
argument_types: &[2950],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "uuid_extract_version",
},
BuiltinRoutineCatalogEntry {
oid: 3432,
name: "gen_random_uuid",
kind: "f",
strict: true,
volatility: "v",
parallel: "s",
leakproof: false,
return_type: 2950,
argument_types: &[],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "gen_random_uuid",
},
BuiltinRoutineCatalogEntry {
oid: 6428,
name: "uuidv4",
kind: "f",
strict: true,
volatility: "v",
parallel: "s",
leakproof: false,
return_type: 2950,
argument_types: &[],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "gen_random_uuid",
},
BuiltinRoutineCatalogEntry {
oid: 6429,
name: "uuidv7",
kind: "f",
strict: true,
volatility: "v",
parallel: "s",
leakproof: false,
return_type: 2950,
argument_types: &[],
argument_names: &[],
default_arguments: 0,
argument_defaults: None,
source: "uuidv7",
},
BuiltinRoutineCatalogEntry {
oid: 6430,
name: "uuidv7",
kind: "f",
strict: true,
volatility: "v",
parallel: "s",
leakproof: false,
return_type: 2950,
argument_types: &[1186],
argument_names: &["shift"],
default_arguments: 0,
argument_defaults: None,
source: "uuidv7_interval",
},
range_routine!(
3840,
"int4range",
false,
3904,
[23, 23],
"range_constructor2"
),
range_routine!(
3841,
"int4range",
false,
3904,
[23, 23, 25],
"range_constructor3"
),
range_routine!(
3844,
"numrange",
false,
3906,
[1700, 1700],
"range_constructor2"
),
range_routine!(
3845,
"numrange",
false,
3906,
[1700, 1700, 25],
"range_constructor3"
),
range_routine!(
3933,
"tsrange",
false,
3908,
[1114, 1114],
"range_constructor2"
),
range_routine!(
3934,
"tsrange",
false,
3908,
[1114, 1114, 25],
"range_constructor3"
),
range_routine!(
3937,
"tstzrange",
false,
3910,
[1184, 1184],
"range_constructor2"
),
range_routine!(
3938,
"tstzrange",
false,
3910,
[1184, 1184, 25],
"range_constructor3"
),
range_routine!(
3941,
"daterange",
false,
3912,
[1082, 1082],
"range_constructor2"
),
range_routine!(
3942,
"daterange",
false,
3912,
[1082, 1082, 25],
"range_constructor3"
),
range_routine!(
3945,
"int8range",
false,
3926,
[20, 20],
"range_constructor2"
),
range_routine!(
3946,
"int8range",
false,
3926,
[20, 20, 25],
"range_constructor3"
),
range_routine!(3848, "lower", true, 2283, [3831], "range_lower"),
range_routine!(3849, "upper", true, 2283, [3831], "range_upper"),
range_routine!(3850, "isempty", true, 16, [3831], "range_empty"),
range_routine!(3851, "lower_inc", true, 16, [3831], "range_lower_inc"),
range_routine!(3852, "upper_inc", true, 16, [3831], "range_upper_inc"),
range_routine!(3853, "lower_inf", true, 16, [3831], "range_lower_inf"),
range_routine!(3854, "upper_inf", true, 16, [3831], "range_upper_inf"),
range_routine!(4057, "range_merge", true, 3831, [3831, 3831], "range_merge"),
range_routine!(
4228,
"range_merge",
true,
3831,
[4537],
"range_merge_from_multirange"
),
range_routine!(4235, "lower", true, 2283, [4537], "multirange_lower"),
range_routine!(4236, "upper", true, 2283, [4537], "multirange_upper"),
range_routine!(4237, "isempty", true, 16, [4537], "multirange_empty"),
range_routine!(4238, "lower_inc", true, 16, [4537], "multirange_lower_inc"),
range_routine!(4239, "upper_inc", true, 16, [4537], "multirange_upper_inc"),
range_routine!(4240, "lower_inf", true, 16, [4537], "multirange_lower_inf"),
range_routine!(4241, "upper_inf", true, 16, [4537], "multirange_upper_inf"),
range_routine!(
4280,
"int4multirange",
true,
4451,
[],
"multirange_constructor0"
),
range_routine!(
4281,
"int4multirange",
true,
4451,
[3904],
"multirange_constructor1"
),
range_routine!(
4282,
"int4multirange",
true,
4451,
[3905],
"multirange_constructor2"
),
range_routine!(
4283,
"nummultirange",
true,
4532,
[],
"multirange_constructor0"
),
range_routine!(
4284,
"nummultirange",
true,
4532,
[3906],
"multirange_constructor1"
),
range_routine!(
4285,
"nummultirange",
true,
4532,
[3907],
"multirange_constructor2"
),
range_routine!(
4286,
"tsmultirange",
true,
4533,
[],
"multirange_constructor0"
),
range_routine!(
4287,
"tsmultirange",
true,
4533,
[3908],
"multirange_constructor1"
),
range_routine!(
4288,
"tsmultirange",
true,
4533,
[3909],
"multirange_constructor2"
),
range_routine!(
4289,
"tstzmultirange",
true,
4534,
[],
"multirange_constructor0"
),
range_routine!(
4290,
"tstzmultirange",
true,
4534,
[3910],
"multirange_constructor1"
),
range_routine!(
4291,
"tstzmultirange",
true,
4534,
[3911],
"multirange_constructor2"
),
range_routine!(
4292,
"datemultirange",
true,
4535,
[],
"multirange_constructor0"
),
range_routine!(
4293,
"datemultirange",
true,
4535,
[3912],
"multirange_constructor1"
),
range_routine!(
4294,
"datemultirange",
true,
4535,
[3913],
"multirange_constructor2"
),
range_routine!(
4295,
"int8multirange",
true,
4536,
[],
"multirange_constructor0"
),
range_routine!(
4296,
"int8multirange",
true,
4536,
[3926],
"multirange_constructor1"
),
range_routine!(
4297,
"int8multirange",
true,
4536,
[3927],
"multirange_constructor2"
),
range_routine!(
4298,
"multirange",
true,
4537,
[3831],
"multirange_constructor1"
),
];