Add support for multiranges

This commit is contained in:
Joseph Koshakow 2022-11-21 15:24:21 -05:00
parent 664345f9ec
commit f413e66b14
3 changed files with 990 additions and 475 deletions

View File

@ -185,6 +185,15 @@ fn parse_types() -> BTreeMap<u32, Type> {
)
})
.collect::<HashMap<_, _>>();
let multi_range_elements = raw_ranges
.iter()
.map(|m| {
(
oids_by_name[&*m["rngmultitypid"]],
oids_by_name[&*m["rngsubtype"]],
)
})
.collect::<HashMap<_, _>>();
let range_vector_re = Regex::new("(range|vector)$").unwrap();
let array_re = Regex::new("^_(.*)").unwrap();
@ -209,7 +218,11 @@ fn parse_types() -> BTreeMap<u32, Type> {
}
let element = match &*kind {
"R" => range_elements[&oid],
"R" => match &*raw_type["typtype"] {
"r" => range_elements[&oid],
"m" => multi_range_elements[&oid],
typtype => panic!("invalid range typtype {}", typtype),
}
"A" => oids_by_name[&raw_type["typelem"]],
_ => 0,
};

View File

@ -1,7 +1,7 @@
// Autogenerated file - DO NOT EDIT
use std::sync::Arc;
use crate::{Kind, Oid, Type};
use crate::{Type, Oid, Kind};
#[derive(PartialEq, Eq, Debug, Hash)]
pub struct Other {
@ -174,6 +174,16 @@ pub enum Inner {
RegroleArray,
Regcollation,
RegcollationArray,
Int4multiRange,
NummultiRange,
TsmultiRange,
TstzmultiRange,
DatemultiRange,
Int8multiRange,
AnymultiRange,
AnycompatiblemultiRange,
PgBrinBloomSummary,
PgBrinMinmaxMultiSummary,
PgMcvList,
PgSnapshot,
PgSnapshotArray,
@ -182,6 +192,12 @@ pub enum Inner {
Anycompatiblearray,
Anycompatiblenonarray,
AnycompatibleRange,
Int4multiRangeArray,
NummultiRangeArray,
TsmultiRangeArray,
TstzmultiRangeArray,
DatemultiRangeArray,
Int8multiRangeArray,
Other(Arc<Other>),
}
@ -349,6 +365,16 @@ impl Inner {
4097 => Some(Inner::RegroleArray),
4191 => Some(Inner::Regcollation),
4192 => Some(Inner::RegcollationArray),
4451 => Some(Inner::Int4multiRange),
4532 => Some(Inner::NummultiRange),
4533 => Some(Inner::TsmultiRange),
4534 => Some(Inner::TstzmultiRange),
4535 => Some(Inner::DatemultiRange),
4536 => Some(Inner::Int8multiRange),
4537 => Some(Inner::AnymultiRange),
4538 => Some(Inner::AnycompatiblemultiRange),
4600 => Some(Inner::PgBrinBloomSummary),
4601 => Some(Inner::PgBrinMinmaxMultiSummary),
5017 => Some(Inner::PgMcvList),
5038 => Some(Inner::PgSnapshot),
5039 => Some(Inner::PgSnapshotArray),
@ -357,6 +383,12 @@ impl Inner {
5078 => Some(Inner::Anycompatiblearray),
5079 => Some(Inner::Anycompatiblenonarray),
5080 => Some(Inner::AnycompatibleRange),
6150 => Some(Inner::Int4multiRangeArray),
6151 => Some(Inner::NummultiRangeArray),
6152 => Some(Inner::TsmultiRangeArray),
6153 => Some(Inner::TstzmultiRangeArray),
6155 => Some(Inner::DatemultiRangeArray),
6157 => Some(Inner::Int8multiRangeArray),
_ => None,
}
}
@ -524,6 +556,16 @@ impl Inner {
Inner::RegroleArray => 4097,
Inner::Regcollation => 4191,
Inner::RegcollationArray => 4192,
Inner::Int4multiRange => 4451,
Inner::NummultiRange => 4532,
Inner::TsmultiRange => 4533,
Inner::TstzmultiRange => 4534,
Inner::DatemultiRange => 4535,
Inner::Int8multiRange => 4536,
Inner::AnymultiRange => 4537,
Inner::AnycompatiblemultiRange => 4538,
Inner::PgBrinBloomSummary => 4600,
Inner::PgBrinMinmaxMultiSummary => 4601,
Inner::PgMcvList => 5017,
Inner::PgSnapshot => 5038,
Inner::PgSnapshotArray => 5039,
@ -532,181 +574,573 @@ impl Inner {
Inner::Anycompatiblearray => 5078,
Inner::Anycompatiblenonarray => 5079,
Inner::AnycompatibleRange => 5080,
Inner::Int4multiRangeArray => 6150,
Inner::NummultiRangeArray => 6151,
Inner::TsmultiRangeArray => 6152,
Inner::TstzmultiRangeArray => 6153,
Inner::DatemultiRangeArray => 6155,
Inner::Int8multiRangeArray => 6157,
Inner::Other(ref u) => u.oid,
}
}
pub fn kind(&self) -> &Kind {
match *self {
Inner::Bool => &Kind::Simple,
Inner::Bytea => &Kind::Simple,
Inner::Char => &Kind::Simple,
Inner::Name => &Kind::Simple,
Inner::Int8 => &Kind::Simple,
Inner::Int2 => &Kind::Simple,
Inner::Int2Vector => &Kind::Array(Type(Inner::Int2)),
Inner::Int4 => &Kind::Simple,
Inner::Regproc => &Kind::Simple,
Inner::Text => &Kind::Simple,
Inner::Oid => &Kind::Simple,
Inner::Tid => &Kind::Simple,
Inner::Xid => &Kind::Simple,
Inner::Cid => &Kind::Simple,
Inner::OidVector => &Kind::Array(Type(Inner::Oid)),
Inner::PgDdlCommand => &Kind::Pseudo,
Inner::Json => &Kind::Simple,
Inner::Xml => &Kind::Simple,
Inner::XmlArray => &Kind::Array(Type(Inner::Xml)),
Inner::PgNodeTree => &Kind::Simple,
Inner::JsonArray => &Kind::Array(Type(Inner::Json)),
Inner::TableAmHandler => &Kind::Pseudo,
Inner::Xid8Array => &Kind::Array(Type(Inner::Xid8)),
Inner::IndexAmHandler => &Kind::Pseudo,
Inner::Point => &Kind::Simple,
Inner::Lseg => &Kind::Simple,
Inner::Path => &Kind::Simple,
Inner::Box => &Kind::Simple,
Inner::Polygon => &Kind::Simple,
Inner::Line => &Kind::Simple,
Inner::LineArray => &Kind::Array(Type(Inner::Line)),
Inner::Cidr => &Kind::Simple,
Inner::CidrArray => &Kind::Array(Type(Inner::Cidr)),
Inner::Float4 => &Kind::Simple,
Inner::Float8 => &Kind::Simple,
Inner::Unknown => &Kind::Simple,
Inner::Circle => &Kind::Simple,
Inner::CircleArray => &Kind::Array(Type(Inner::Circle)),
Inner::Macaddr8 => &Kind::Simple,
Inner::Macaddr8Array => &Kind::Array(Type(Inner::Macaddr8)),
Inner::Money => &Kind::Simple,
Inner::MoneyArray => &Kind::Array(Type(Inner::Money)),
Inner::Macaddr => &Kind::Simple,
Inner::Inet => &Kind::Simple,
Inner::BoolArray => &Kind::Array(Type(Inner::Bool)),
Inner::ByteaArray => &Kind::Array(Type(Inner::Bytea)),
Inner::CharArray => &Kind::Array(Type(Inner::Char)),
Inner::NameArray => &Kind::Array(Type(Inner::Name)),
Inner::Int2Array => &Kind::Array(Type(Inner::Int2)),
Inner::Int2VectorArray => &Kind::Array(Type(Inner::Int2Vector)),
Inner::Int4Array => &Kind::Array(Type(Inner::Int4)),
Inner::RegprocArray => &Kind::Array(Type(Inner::Regproc)),
Inner::TextArray => &Kind::Array(Type(Inner::Text)),
Inner::TidArray => &Kind::Array(Type(Inner::Tid)),
Inner::XidArray => &Kind::Array(Type(Inner::Xid)),
Inner::CidArray => &Kind::Array(Type(Inner::Cid)),
Inner::OidVectorArray => &Kind::Array(Type(Inner::OidVector)),
Inner::BpcharArray => &Kind::Array(Type(Inner::Bpchar)),
Inner::VarcharArray => &Kind::Array(Type(Inner::Varchar)),
Inner::Int8Array => &Kind::Array(Type(Inner::Int8)),
Inner::PointArray => &Kind::Array(Type(Inner::Point)),
Inner::LsegArray => &Kind::Array(Type(Inner::Lseg)),
Inner::PathArray => &Kind::Array(Type(Inner::Path)),
Inner::BoxArray => &Kind::Array(Type(Inner::Box)),
Inner::Float4Array => &Kind::Array(Type(Inner::Float4)),
Inner::Float8Array => &Kind::Array(Type(Inner::Float8)),
Inner::PolygonArray => &Kind::Array(Type(Inner::Polygon)),
Inner::OidArray => &Kind::Array(Type(Inner::Oid)),
Inner::Aclitem => &Kind::Simple,
Inner::AclitemArray => &Kind::Array(Type(Inner::Aclitem)),
Inner::MacaddrArray => &Kind::Array(Type(Inner::Macaddr)),
Inner::InetArray => &Kind::Array(Type(Inner::Inet)),
Inner::Bpchar => &Kind::Simple,
Inner::Varchar => &Kind::Simple,
Inner::Date => &Kind::Simple,
Inner::Time => &Kind::Simple,
Inner::Timestamp => &Kind::Simple,
Inner::TimestampArray => &Kind::Array(Type(Inner::Timestamp)),
Inner::DateArray => &Kind::Array(Type(Inner::Date)),
Inner::TimeArray => &Kind::Array(Type(Inner::Time)),
Inner::Timestamptz => &Kind::Simple,
Inner::TimestamptzArray => &Kind::Array(Type(Inner::Timestamptz)),
Inner::Interval => &Kind::Simple,
Inner::IntervalArray => &Kind::Array(Type(Inner::Interval)),
Inner::NumericArray => &Kind::Array(Type(Inner::Numeric)),
Inner::CstringArray => &Kind::Array(Type(Inner::Cstring)),
Inner::Timetz => &Kind::Simple,
Inner::TimetzArray => &Kind::Array(Type(Inner::Timetz)),
Inner::Bit => &Kind::Simple,
Inner::BitArray => &Kind::Array(Type(Inner::Bit)),
Inner::Varbit => &Kind::Simple,
Inner::VarbitArray => &Kind::Array(Type(Inner::Varbit)),
Inner::Numeric => &Kind::Simple,
Inner::Refcursor => &Kind::Simple,
Inner::RefcursorArray => &Kind::Array(Type(Inner::Refcursor)),
Inner::Regprocedure => &Kind::Simple,
Inner::Regoper => &Kind::Simple,
Inner::Regoperator => &Kind::Simple,
Inner::Regclass => &Kind::Simple,
Inner::Regtype => &Kind::Simple,
Inner::RegprocedureArray => &Kind::Array(Type(Inner::Regprocedure)),
Inner::RegoperArray => &Kind::Array(Type(Inner::Regoper)),
Inner::RegoperatorArray => &Kind::Array(Type(Inner::Regoperator)),
Inner::RegclassArray => &Kind::Array(Type(Inner::Regclass)),
Inner::RegtypeArray => &Kind::Array(Type(Inner::Regtype)),
Inner::Record => &Kind::Pseudo,
Inner::Cstring => &Kind::Pseudo,
Inner::Any => &Kind::Pseudo,
Inner::Anyarray => &Kind::Pseudo,
Inner::Void => &Kind::Pseudo,
Inner::Trigger => &Kind::Pseudo,
Inner::LanguageHandler => &Kind::Pseudo,
Inner::Internal => &Kind::Pseudo,
Inner::Anyelement => &Kind::Pseudo,
Inner::RecordArray => &Kind::Pseudo,
Inner::Anynonarray => &Kind::Pseudo,
Inner::TxidSnapshotArray => &Kind::Array(Type(Inner::TxidSnapshot)),
Inner::Uuid => &Kind::Simple,
Inner::UuidArray => &Kind::Array(Type(Inner::Uuid)),
Inner::TxidSnapshot => &Kind::Simple,
Inner::FdwHandler => &Kind::Pseudo,
Inner::PgLsn => &Kind::Simple,
Inner::PgLsnArray => &Kind::Array(Type(Inner::PgLsn)),
Inner::TsmHandler => &Kind::Pseudo,
Inner::PgNdistinct => &Kind::Simple,
Inner::PgDependencies => &Kind::Simple,
Inner::Anyenum => &Kind::Pseudo,
Inner::TsVector => &Kind::Simple,
Inner::Tsquery => &Kind::Simple,
Inner::GtsVector => &Kind::Simple,
Inner::TsVectorArray => &Kind::Array(Type(Inner::TsVector)),
Inner::GtsVectorArray => &Kind::Array(Type(Inner::GtsVector)),
Inner::TsqueryArray => &Kind::Array(Type(Inner::Tsquery)),
Inner::Regconfig => &Kind::Simple,
Inner::RegconfigArray => &Kind::Array(Type(Inner::Regconfig)),
Inner::Regdictionary => &Kind::Simple,
Inner::RegdictionaryArray => &Kind::Array(Type(Inner::Regdictionary)),
Inner::Jsonb => &Kind::Simple,
Inner::JsonbArray => &Kind::Array(Type(Inner::Jsonb)),
Inner::AnyRange => &Kind::Pseudo,
Inner::EventTrigger => &Kind::Pseudo,
Inner::Int4Range => &Kind::Range(Type(Inner::Int4)),
Inner::Int4RangeArray => &Kind::Array(Type(Inner::Int4Range)),
Inner::NumRange => &Kind::Range(Type(Inner::Numeric)),
Inner::NumRangeArray => &Kind::Array(Type(Inner::NumRange)),
Inner::TsRange => &Kind::Range(Type(Inner::Timestamp)),
Inner::TsRangeArray => &Kind::Array(Type(Inner::TsRange)),
Inner::TstzRange => &Kind::Range(Type(Inner::Timestamptz)),
Inner::TstzRangeArray => &Kind::Array(Type(Inner::TstzRange)),
Inner::DateRange => &Kind::Range(Type(Inner::Date)),
Inner::DateRangeArray => &Kind::Array(Type(Inner::DateRange)),
Inner::Int8Range => &Kind::Range(Type(Inner::Int8)),
Inner::Int8RangeArray => &Kind::Array(Type(Inner::Int8Range)),
Inner::Jsonpath => &Kind::Simple,
Inner::JsonpathArray => &Kind::Array(Type(Inner::Jsonpath)),
Inner::Regnamespace => &Kind::Simple,
Inner::RegnamespaceArray => &Kind::Array(Type(Inner::Regnamespace)),
Inner::Regrole => &Kind::Simple,
Inner::RegroleArray => &Kind::Array(Type(Inner::Regrole)),
Inner::Regcollation => &Kind::Simple,
Inner::RegcollationArray => &Kind::Array(Type(Inner::Regcollation)),
Inner::PgMcvList => &Kind::Simple,
Inner::PgSnapshot => &Kind::Simple,
Inner::PgSnapshotArray => &Kind::Array(Type(Inner::PgSnapshot)),
Inner::Xid8 => &Kind::Simple,
Inner::Anycompatible => &Kind::Pseudo,
Inner::Anycompatiblearray => &Kind::Pseudo,
Inner::Anycompatiblenonarray => &Kind::Pseudo,
Inner::AnycompatibleRange => &Kind::Pseudo,
Inner::Bool => {
&Kind::Simple
}
Inner::Bytea => {
&Kind::Simple
}
Inner::Char => {
&Kind::Simple
}
Inner::Name => {
&Kind::Simple
}
Inner::Int8 => {
&Kind::Simple
}
Inner::Int2 => {
&Kind::Simple
}
Inner::Int2Vector => {
&Kind::Array(Type(Inner::Int2))
}
Inner::Int4 => {
&Kind::Simple
}
Inner::Regproc => {
&Kind::Simple
}
Inner::Text => {
&Kind::Simple
}
Inner::Oid => {
&Kind::Simple
}
Inner::Tid => {
&Kind::Simple
}
Inner::Xid => {
&Kind::Simple
}
Inner::Cid => {
&Kind::Simple
}
Inner::OidVector => {
&Kind::Array(Type(Inner::Oid))
}
Inner::PgDdlCommand => {
&Kind::Pseudo
}
Inner::Json => {
&Kind::Simple
}
Inner::Xml => {
&Kind::Simple
}
Inner::XmlArray => {
&Kind::Array(Type(Inner::Xml))
}
Inner::PgNodeTree => {
&Kind::Simple
}
Inner::JsonArray => {
&Kind::Array(Type(Inner::Json))
}
Inner::TableAmHandler => {
&Kind::Pseudo
}
Inner::Xid8Array => {
&Kind::Array(Type(Inner::Xid8))
}
Inner::IndexAmHandler => {
&Kind::Pseudo
}
Inner::Point => {
&Kind::Simple
}
Inner::Lseg => {
&Kind::Simple
}
Inner::Path => {
&Kind::Simple
}
Inner::Box => {
&Kind::Simple
}
Inner::Polygon => {
&Kind::Simple
}
Inner::Line => {
&Kind::Simple
}
Inner::LineArray => {
&Kind::Array(Type(Inner::Line))
}
Inner::Cidr => {
&Kind::Simple
}
Inner::CidrArray => {
&Kind::Array(Type(Inner::Cidr))
}
Inner::Float4 => {
&Kind::Simple
}
Inner::Float8 => {
&Kind::Simple
}
Inner::Unknown => {
&Kind::Simple
}
Inner::Circle => {
&Kind::Simple
}
Inner::CircleArray => {
&Kind::Array(Type(Inner::Circle))
}
Inner::Macaddr8 => {
&Kind::Simple
}
Inner::Macaddr8Array => {
&Kind::Array(Type(Inner::Macaddr8))
}
Inner::Money => {
&Kind::Simple
}
Inner::MoneyArray => {
&Kind::Array(Type(Inner::Money))
}
Inner::Macaddr => {
&Kind::Simple
}
Inner::Inet => {
&Kind::Simple
}
Inner::BoolArray => {
&Kind::Array(Type(Inner::Bool))
}
Inner::ByteaArray => {
&Kind::Array(Type(Inner::Bytea))
}
Inner::CharArray => {
&Kind::Array(Type(Inner::Char))
}
Inner::NameArray => {
&Kind::Array(Type(Inner::Name))
}
Inner::Int2Array => {
&Kind::Array(Type(Inner::Int2))
}
Inner::Int2VectorArray => {
&Kind::Array(Type(Inner::Int2Vector))
}
Inner::Int4Array => {
&Kind::Array(Type(Inner::Int4))
}
Inner::RegprocArray => {
&Kind::Array(Type(Inner::Regproc))
}
Inner::TextArray => {
&Kind::Array(Type(Inner::Text))
}
Inner::TidArray => {
&Kind::Array(Type(Inner::Tid))
}
Inner::XidArray => {
&Kind::Array(Type(Inner::Xid))
}
Inner::CidArray => {
&Kind::Array(Type(Inner::Cid))
}
Inner::OidVectorArray => {
&Kind::Array(Type(Inner::OidVector))
}
Inner::BpcharArray => {
&Kind::Array(Type(Inner::Bpchar))
}
Inner::VarcharArray => {
&Kind::Array(Type(Inner::Varchar))
}
Inner::Int8Array => {
&Kind::Array(Type(Inner::Int8))
}
Inner::PointArray => {
&Kind::Array(Type(Inner::Point))
}
Inner::LsegArray => {
&Kind::Array(Type(Inner::Lseg))
}
Inner::PathArray => {
&Kind::Array(Type(Inner::Path))
}
Inner::BoxArray => {
&Kind::Array(Type(Inner::Box))
}
Inner::Float4Array => {
&Kind::Array(Type(Inner::Float4))
}
Inner::Float8Array => {
&Kind::Array(Type(Inner::Float8))
}
Inner::PolygonArray => {
&Kind::Array(Type(Inner::Polygon))
}
Inner::OidArray => {
&Kind::Array(Type(Inner::Oid))
}
Inner::Aclitem => {
&Kind::Simple
}
Inner::AclitemArray => {
&Kind::Array(Type(Inner::Aclitem))
}
Inner::MacaddrArray => {
&Kind::Array(Type(Inner::Macaddr))
}
Inner::InetArray => {
&Kind::Array(Type(Inner::Inet))
}
Inner::Bpchar => {
&Kind::Simple
}
Inner::Varchar => {
&Kind::Simple
}
Inner::Date => {
&Kind::Simple
}
Inner::Time => {
&Kind::Simple
}
Inner::Timestamp => {
&Kind::Simple
}
Inner::TimestampArray => {
&Kind::Array(Type(Inner::Timestamp))
}
Inner::DateArray => {
&Kind::Array(Type(Inner::Date))
}
Inner::TimeArray => {
&Kind::Array(Type(Inner::Time))
}
Inner::Timestamptz => {
&Kind::Simple
}
Inner::TimestamptzArray => {
&Kind::Array(Type(Inner::Timestamptz))
}
Inner::Interval => {
&Kind::Simple
}
Inner::IntervalArray => {
&Kind::Array(Type(Inner::Interval))
}
Inner::NumericArray => {
&Kind::Array(Type(Inner::Numeric))
}
Inner::CstringArray => {
&Kind::Array(Type(Inner::Cstring))
}
Inner::Timetz => {
&Kind::Simple
}
Inner::TimetzArray => {
&Kind::Array(Type(Inner::Timetz))
}
Inner::Bit => {
&Kind::Simple
}
Inner::BitArray => {
&Kind::Array(Type(Inner::Bit))
}
Inner::Varbit => {
&Kind::Simple
}
Inner::VarbitArray => {
&Kind::Array(Type(Inner::Varbit))
}
Inner::Numeric => {
&Kind::Simple
}
Inner::Refcursor => {
&Kind::Simple
}
Inner::RefcursorArray => {
&Kind::Array(Type(Inner::Refcursor))
}
Inner::Regprocedure => {
&Kind::Simple
}
Inner::Regoper => {
&Kind::Simple
}
Inner::Regoperator => {
&Kind::Simple
}
Inner::Regclass => {
&Kind::Simple
}
Inner::Regtype => {
&Kind::Simple
}
Inner::RegprocedureArray => {
&Kind::Array(Type(Inner::Regprocedure))
}
Inner::RegoperArray => {
&Kind::Array(Type(Inner::Regoper))
}
Inner::RegoperatorArray => {
&Kind::Array(Type(Inner::Regoperator))
}
Inner::RegclassArray => {
&Kind::Array(Type(Inner::Regclass))
}
Inner::RegtypeArray => {
&Kind::Array(Type(Inner::Regtype))
}
Inner::Record => {
&Kind::Pseudo
}
Inner::Cstring => {
&Kind::Pseudo
}
Inner::Any => {
&Kind::Pseudo
}
Inner::Anyarray => {
&Kind::Pseudo
}
Inner::Void => {
&Kind::Pseudo
}
Inner::Trigger => {
&Kind::Pseudo
}
Inner::LanguageHandler => {
&Kind::Pseudo
}
Inner::Internal => {
&Kind::Pseudo
}
Inner::Anyelement => {
&Kind::Pseudo
}
Inner::RecordArray => {
&Kind::Pseudo
}
Inner::Anynonarray => {
&Kind::Pseudo
}
Inner::TxidSnapshotArray => {
&Kind::Array(Type(Inner::TxidSnapshot))
}
Inner::Uuid => {
&Kind::Simple
}
Inner::UuidArray => {
&Kind::Array(Type(Inner::Uuid))
}
Inner::TxidSnapshot => {
&Kind::Simple
}
Inner::FdwHandler => {
&Kind::Pseudo
}
Inner::PgLsn => {
&Kind::Simple
}
Inner::PgLsnArray => {
&Kind::Array(Type(Inner::PgLsn))
}
Inner::TsmHandler => {
&Kind::Pseudo
}
Inner::PgNdistinct => {
&Kind::Simple
}
Inner::PgDependencies => {
&Kind::Simple
}
Inner::Anyenum => {
&Kind::Pseudo
}
Inner::TsVector => {
&Kind::Simple
}
Inner::Tsquery => {
&Kind::Simple
}
Inner::GtsVector => {
&Kind::Simple
}
Inner::TsVectorArray => {
&Kind::Array(Type(Inner::TsVector))
}
Inner::GtsVectorArray => {
&Kind::Array(Type(Inner::GtsVector))
}
Inner::TsqueryArray => {
&Kind::Array(Type(Inner::Tsquery))
}
Inner::Regconfig => {
&Kind::Simple
}
Inner::RegconfigArray => {
&Kind::Array(Type(Inner::Regconfig))
}
Inner::Regdictionary => {
&Kind::Simple
}
Inner::RegdictionaryArray => {
&Kind::Array(Type(Inner::Regdictionary))
}
Inner::Jsonb => {
&Kind::Simple
}
Inner::JsonbArray => {
&Kind::Array(Type(Inner::Jsonb))
}
Inner::AnyRange => {
&Kind::Pseudo
}
Inner::EventTrigger => {
&Kind::Pseudo
}
Inner::Int4Range => {
&Kind::Range(Type(Inner::Int4))
}
Inner::Int4RangeArray => {
&Kind::Array(Type(Inner::Int4Range))
}
Inner::NumRange => {
&Kind::Range(Type(Inner::Numeric))
}
Inner::NumRangeArray => {
&Kind::Array(Type(Inner::NumRange))
}
Inner::TsRange => {
&Kind::Range(Type(Inner::Timestamp))
}
Inner::TsRangeArray => {
&Kind::Array(Type(Inner::TsRange))
}
Inner::TstzRange => {
&Kind::Range(Type(Inner::Timestamptz))
}
Inner::TstzRangeArray => {
&Kind::Array(Type(Inner::TstzRange))
}
Inner::DateRange => {
&Kind::Range(Type(Inner::Date))
}
Inner::DateRangeArray => {
&Kind::Array(Type(Inner::DateRange))
}
Inner::Int8Range => {
&Kind::Range(Type(Inner::Int8))
}
Inner::Int8RangeArray => {
&Kind::Array(Type(Inner::Int8Range))
}
Inner::Jsonpath => {
&Kind::Simple
}
Inner::JsonpathArray => {
&Kind::Array(Type(Inner::Jsonpath))
}
Inner::Regnamespace => {
&Kind::Simple
}
Inner::RegnamespaceArray => {
&Kind::Array(Type(Inner::Regnamespace))
}
Inner::Regrole => {
&Kind::Simple
}
Inner::RegroleArray => {
&Kind::Array(Type(Inner::Regrole))
}
Inner::Regcollation => {
&Kind::Simple
}
Inner::RegcollationArray => {
&Kind::Array(Type(Inner::Regcollation))
}
Inner::Int4multiRange => {
&Kind::Range(Type(Inner::Int4))
}
Inner::NummultiRange => {
&Kind::Range(Type(Inner::Numeric))
}
Inner::TsmultiRange => {
&Kind::Range(Type(Inner::Timestamp))
}
Inner::TstzmultiRange => {
&Kind::Range(Type(Inner::Timestamptz))
}
Inner::DatemultiRange => {
&Kind::Range(Type(Inner::Date))
}
Inner::Int8multiRange => {
&Kind::Range(Type(Inner::Int8))
}
Inner::AnymultiRange => {
&Kind::Pseudo
}
Inner::AnycompatiblemultiRange => {
&Kind::Pseudo
}
Inner::PgBrinBloomSummary => {
&Kind::Simple
}
Inner::PgBrinMinmaxMultiSummary => {
&Kind::Simple
}
Inner::PgMcvList => {
&Kind::Simple
}
Inner::PgSnapshot => {
&Kind::Simple
}
Inner::PgSnapshotArray => {
&Kind::Array(Type(Inner::PgSnapshot))
}
Inner::Xid8 => {
&Kind::Simple
}
Inner::Anycompatible => {
&Kind::Pseudo
}
Inner::Anycompatiblearray => {
&Kind::Pseudo
}
Inner::Anycompatiblenonarray => {
&Kind::Pseudo
}
Inner::AnycompatibleRange => {
&Kind::Pseudo
}
Inner::Int4multiRangeArray => {
&Kind::Array(Type(Inner::Int4multiRange))
}
Inner::NummultiRangeArray => {
&Kind::Array(Type(Inner::NummultiRange))
}
Inner::TsmultiRangeArray => {
&Kind::Array(Type(Inner::TsmultiRange))
}
Inner::TstzmultiRangeArray => {
&Kind::Array(Type(Inner::TstzmultiRange))
}
Inner::DatemultiRangeArray => {
&Kind::Array(Type(Inner::DatemultiRange))
}
Inner::Int8multiRangeArray => {
&Kind::Array(Type(Inner::Int8multiRange))
}
Inner::Other(ref u) => &u.kind,
}
}
@ -874,6 +1308,16 @@ impl Inner {
Inner::RegroleArray => "_regrole",
Inner::Regcollation => "regcollation",
Inner::RegcollationArray => "_regcollation",
Inner::Int4multiRange => "int4multirange",
Inner::NummultiRange => "nummultirange",
Inner::TsmultiRange => "tsmultirange",
Inner::TstzmultiRange => "tstzmultirange",
Inner::DatemultiRange => "datemultirange",
Inner::Int8multiRange => "int8multirange",
Inner::AnymultiRange => "anymultirange",
Inner::AnycompatiblemultiRange => "anycompatiblemultirange",
Inner::PgBrinBloomSummary => "pg_brin_bloom_summary",
Inner::PgBrinMinmaxMultiSummary => "pg_brin_minmax_multi_summary",
Inner::PgMcvList => "pg_mcv_list",
Inner::PgSnapshot => "pg_snapshot",
Inner::PgSnapshotArray => "_pg_snapshot",
@ -882,6 +1326,12 @@ impl Inner {
Inner::Anycompatiblearray => "anycompatiblearray",
Inner::Anycompatiblenonarray => "anycompatiblenonarray",
Inner::AnycompatibleRange => "anycompatiblerange",
Inner::Int4multiRangeArray => "_int4multirange",
Inner::NummultiRangeArray => "_nummultirange",
Inner::TsmultiRangeArray => "_tsmultirange",
Inner::TstzmultiRangeArray => "_tstzmultirange",
Inner::DatemultiRangeArray => "_datemultirange",
Inner::Int8multiRangeArray => "_int8multirange",
Inner::Other(ref u) => &u.name,
}
}
@ -1370,6 +1820,36 @@ impl Type {
/// REGCOLLATION&#91;&#93;
pub const REGCOLLATION_ARRAY: Type = Type(Inner::RegcollationArray);
/// INT4MULTIRANGE - multirange of integers
pub const INT4MULTI_RANGE: Type = Type(Inner::Int4multiRange);
/// NUMMULTIRANGE - multirange of numerics
pub const NUMMULTI_RANGE: Type = Type(Inner::NummultiRange);
/// TSMULTIRANGE - multirange of timestamps without time zone
pub const TSMULTI_RANGE: Type = Type(Inner::TsmultiRange);
/// TSTZMULTIRANGE - multirange of timestamps with time zone
pub const TSTZMULTI_RANGE: Type = Type(Inner::TstzmultiRange);
/// DATEMULTIRANGE - multirange of dates
pub const DATEMULTI_RANGE: Type = Type(Inner::DatemultiRange);
/// INT8MULTIRANGE - multirange of bigints
pub const INT8MULTI_RANGE: Type = Type(Inner::Int8multiRange);
/// ANYMULTIRANGE - pseudo-type representing a polymorphic base type that is a multirange
pub const ANYMULTI_RANGE: Type = Type(Inner::AnymultiRange);
/// ANYCOMPATIBLEMULTIRANGE - pseudo-type representing a multirange over a polymorphic common type
pub const ANYCOMPATIBLEMULTI_RANGE: Type = Type(Inner::AnycompatiblemultiRange);
/// PG_BRIN_BLOOM_SUMMARY - BRIN bloom summary
pub const PG_BRIN_BLOOM_SUMMARY: Type = Type(Inner::PgBrinBloomSummary);
/// PG_BRIN_MINMAX_MULTI_SUMMARY - BRIN minmax-multi summary
pub const PG_BRIN_MINMAX_MULTI_SUMMARY: Type = Type(Inner::PgBrinMinmaxMultiSummary);
/// PG_MCV_LIST - multivariate MCV list
pub const PG_MCV_LIST: Type = Type(Inner::PgMcvList);
@ -1393,4 +1873,22 @@ impl Type {
/// ANYCOMPATIBLERANGE - pseudo-type representing a range over a polymorphic common type
pub const ANYCOMPATIBLE_RANGE: Type = Type(Inner::AnycompatibleRange);
}
/// INT4MULTIRANGE&#91;&#93;
pub const INT4MULTI_RANGE_ARRAY: Type = Type(Inner::Int4multiRangeArray);
/// NUMMULTIRANGE&#91;&#93;
pub const NUMMULTI_RANGE_ARRAY: Type = Type(Inner::NummultiRangeArray);
/// TSMULTIRANGE&#91;&#93;
pub const TSMULTI_RANGE_ARRAY: Type = Type(Inner::TsmultiRangeArray);
/// TSTZMULTIRANGE&#91;&#93;
pub const TSTZMULTI_RANGE_ARRAY: Type = Type(Inner::TstzmultiRangeArray);
/// DATEMULTIRANGE&#91;&#93;
pub const DATEMULTI_RANGE_ARRAY: Type = Type(Inner::DatemultiRangeArray);
/// INT8MULTIRANGE&#91;&#93;
pub const INT8MULTI_RANGE_ARRAY: Type = Type(Inner::Int8multiRangeArray);
}

View File

@ -114,6 +114,7 @@ impl SqlState {
Inner::E2203D => "2203D",
Inner::E2203E => "2203E",
Inner::E2203F => "2203F",
Inner::E2203G => "2203G",
Inner::E23000 => "23000",
Inner::E23001 => "23001",
Inner::E23502 => "23502",
@ -278,7 +279,7 @@ impl SqlState {
Inner::Other(code) => code,
}
}
/// 00000
pub const SUCCESSFUL_COMPLETION: SqlState = SqlState(Inner::E00000);
@ -364,8 +365,7 @@ impl SqlState {
pub const DIAGNOSTICS_EXCEPTION: SqlState = SqlState(Inner::E0Z000);
/// 0Z002
pub const STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER: SqlState =
SqlState(Inner::E0Z002);
pub const STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER: SqlState = SqlState(Inner::E0Z002);
/// 20000
pub const CASE_NOT_FOUND: SqlState = SqlState(Inner::E20000);
@ -580,6 +580,9 @@ impl SqlState {
/// 2203F
pub const SQL_JSON_SCALAR_REQUIRED: SqlState = SqlState(Inner::E2203F);
/// 2203G
pub const SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE: SqlState = SqlState(Inner::E2203G);
/// 23000
pub const INTEGRITY_CONSTRAINT_VIOLATION: SqlState = SqlState(Inner::E23000);
@ -620,8 +623,7 @@ impl SqlState {
pub const INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION: SqlState = SqlState(Inner::E25003);
/// 25004
pub const INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION: SqlState =
SqlState(Inner::E25004);
pub const INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION: SqlState = SqlState(Inner::E25004);
/// 25005
pub const NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION: SqlState = SqlState(Inner::E25005);
@ -1178,6 +1180,7 @@ enum Inner {
E2203D,
E2203E,
E2203F,
E2203G,
E23000,
E23001,
E23502,
@ -1341,324 +1344,325 @@ enum Inner {
EXX002,
Other(Box<str>),
}
#[rustfmt::skip]
static SQLSTATE_MAP: phf::Map<&'static str, SqlState> =
::phf::Map {
key: 12913932095322966823,
disps: &[
(0, 24),
(0, 12),
(0, 18),
(0, 25),
(0, 109),
(0, 147),
(0, 74),
(0, 0),
(7, 117),
(5, 221),
(0, 26),
(1, 45),
(0, 93),
(0, 25),
(0, 61),
(1, 221),
(10, 17),
(0, 77),
(2, 3),
(0, 216),
(0, 0),
(0, 1),
(1, 168),
(0, 64),
(0, 2),
(0, 7),
(1, 37),
(0, 83),
(3, 24),
(0, 0),
(0, 109),
(18, 9),
(1, 230),
(0, 11),
(0, 9),
(0, 0),
(0, 4),
(4, 38),
(3, 155),
(0, 6),
(1, 242),
(0, 66),
(0, 53),
(5, 180),
(3, 221),
(7, 230),
(0, 125),
(1, 46),
(0, 11),
(1, 2),
(0, 5),
(0, 13),
(0, 171),
(0, 0),
(34, 97),
(2, 126),
(44, 49),
(5, 182),
(0, 1),
(0, 1),
(0, 71),
(0, 15),
(0, 4),
(5, 164),
(0, 22),
(1, 85),
(0, 75),
(2, 0),
(1, 25),
(7, 47),
(0, 45),
(0, 35),
(0, 7),
(7, 124),
(0, 0),
(0, 96),
(13, 58),
(0, 58),
(0, 242),
(0, 72),
(16, 53),
(14, 104),
(1, 183),
(61, 50),
(3, 76),
(0, 12),
(0, 7),
(4, 189),
(0, 1),
(64, 102),
(0, 0),
(16, 192),
(24, 19),
(0, 5),
(0, 87),
(0, 89),
(0, 14),
],
entries: &[
("22034", SqlState::MORE_THAN_ONE_SQL_JSON_ITEM),
("40P01", SqlState::T_R_DEADLOCK_DETECTED),
("42703", SqlState::UNDEFINED_COLUMN),
("42P07", SqlState::DUPLICATE_TABLE),
("55P04", SqlState::UNSAFE_NEW_ENUM_VALUE_USAGE),
("25006", SqlState::READ_ONLY_SQL_TRANSACTION),
("2201X", SqlState::INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE),
("HV021", SqlState::FDW_INCONSISTENT_DESCRIPTOR_INFORMATION),
("42P02", SqlState::UNDEFINED_PARAMETER),
("HV00C", SqlState::FDW_INVALID_OPTION_INDEX),
("08003", SqlState::CONNECTION_DOES_NOT_EXIST),
("02000", SqlState::NO_DATA),
("24000", SqlState::INVALID_CURSOR_STATE),
("2203C", SqlState::SQL_JSON_OBJECT_NOT_FOUND),
("42601", SqlState::SYNTAX_ERROR),
("22012", SqlState::DIVISION_BY_ZERO),
("2203B", SqlState::SQL_JSON_NUMBER_NOT_FOUND),
("P0003", SqlState::TOO_MANY_ROWS),
("57P04", SqlState::DATABASE_DROPPED),
("27000", SqlState::TRIGGERED_DATA_CHANGE_VIOLATION),
("42P08", SqlState::AMBIGUOUS_PARAMETER),
("3F000", SqlState::INVALID_SCHEMA_NAME),
("42883", SqlState::UNDEFINED_FUNCTION),
("20000", SqlState::CASE_NOT_FOUND),
("2200G", SqlState::MOST_SPECIFIC_TYPE_MISMATCH),
("42939", SqlState::RESERVED_NAME),
("42602", SqlState::INVALID_NAME),
("HV004", SqlState::FDW_INVALID_DATA_TYPE),
("HV007", SqlState::FDW_INVALID_COLUMN_NAME),
("2F005", SqlState::S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT),
("22030", SqlState::DUPLICATE_JSON_OBJECT_KEY_VALUE),
("53100", SqlState::DISK_FULL),
("HV005", SqlState::FDW_COLUMN_NAME_NOT_FOUND),
("2200H", SqlState::SEQUENCE_GENERATOR_LIMIT_EXCEEDED),
("2201W", SqlState::INVALID_ROW_COUNT_IN_LIMIT_CLAUSE),
("42712", SqlState::DUPLICATE_ALIAS),
("42622", SqlState::NAME_TOO_LONG),
("22035", SqlState::NO_SQL_JSON_ITEM),
("42P18", SqlState::INDETERMINATE_DATATYPE),
("39P01", SqlState::E_R_I_E_TRIGGER_PROTOCOL_VIOLATED),
("01000", SqlState::WARNING),
("2F004", SqlState::S_R_E_READING_SQL_DATA_NOT_PERMITTED),
("22023", SqlState::INVALID_PARAMETER_VALUE),
("2200T", SqlState::INVALID_XML_PROCESSING_INSTRUCTION),
("22013", SqlState::INVALID_PRECEDING_OR_FOLLOWING_SIZE),
("57P01", SqlState::ADMIN_SHUTDOWN),
("2202E", SqlState::ARRAY_ELEMENT_ERROR),
("22018", SqlState::INVALID_CHARACTER_VALUE_FOR_CAST),
("0F000", SqlState::LOCATOR_EXCEPTION),
("2D000", SqlState::INVALID_TRANSACTION_TERMINATION),
("HV009", SqlState::FDW_INVALID_USE_OF_NULL_POINTER),
("57000", SqlState::OPERATOR_INTERVENTION),
("25002", SqlState::BRANCH_TRANSACTION_ALREADY_ACTIVE),
("25004", SqlState::INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION),
("22009", SqlState::INVALID_TIME_ZONE_DISPLACEMENT_VALUE),
("HV090", SqlState::FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH),
("42725", SqlState::AMBIGUOUS_FUNCTION),
("2F003", SqlState::S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED),
("44000", SqlState::WITH_CHECK_OPTION_VIOLATION),
("22032", SqlState::INVALID_JSON_TEXT),
("22036", SqlState::NON_NUMERIC_SQL_JSON_ITEM),
("2201E", SqlState::INVALID_ARGUMENT_FOR_LOG),
("25P02", SqlState::IN_FAILED_SQL_TRANSACTION),
("22001", SqlState::STRING_DATA_RIGHT_TRUNCATION),
("2201F", SqlState::INVALID_ARGUMENT_FOR_POWER_FUNCTION),
("01006", SqlState::WARNING_PRIVILEGE_NOT_REVOKED),
("428C9", SqlState::GENERATED_ALWAYS),
("22003", SqlState::NUMERIC_VALUE_OUT_OF_RANGE),
("22P01", SqlState::FLOATING_POINT_EXCEPTION),
("HV00M", SqlState::FDW_UNABLE_TO_CREATE_REPLY),
("2201G", SqlState::INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION),
("34000", SqlState::INVALID_CURSOR_NAME),
("42846", SqlState::CANNOT_COERCE),
("2201B", SqlState::INVALID_REGULAR_EXPRESSION),
("2202G", SqlState::INVALID_TABLESAMPLE_REPEAT),
("42704", SqlState::UNDEFINED_OBJECT),
("72000", SqlState::SNAPSHOT_TOO_OLD),
("53400", SqlState::CONFIGURATION_LIMIT_EXCEEDED),
("HV00L", SqlState::FDW_UNABLE_TO_CREATE_EXECUTION),
("2B000", SqlState::DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST),
("22010", SqlState::INVALID_INDICATOR_PARAMETER_VALUE),
("54001", SqlState::STATEMENT_TOO_COMPLEX),
("53200", SqlState::OUT_OF_MEMORY),
("38001", SqlState::E_R_E_CONTAINING_SQL_NOT_PERMITTED),
("22022", SqlState::INDICATOR_OVERFLOW),
("2203E", SqlState::TOO_MANY_JSON_OBJECT_MEMBERS),
("XX000", SqlState::INTERNAL_ERROR),
("22025", SqlState::INVALID_ESCAPE_SEQUENCE),
("09000", SqlState::TRIGGERED_ACTION_EXCEPTION),
("HV008", SqlState::FDW_INVALID_COLUMN_NUMBER),
("25P01", SqlState::NO_ACTIVE_SQL_TRANSACTION),
("23505", SqlState::UNIQUE_VIOLATION),
("3B000", SqlState::SAVEPOINT_EXCEPTION),
("F0000", SqlState::CONFIG_FILE_ERROR),
("54011", SqlState::TOO_MANY_COLUMNS),
("XX002", SqlState::INDEX_CORRUPTED),
("2203F", SqlState::SQL_JSON_SCALAR_REQUIRED),
("42P12", SqlState::INVALID_DATABASE_DEFINITION),
("HV00B", SqlState::FDW_INVALID_HANDLE),
("55006", SqlState::OBJECT_IN_USE),
("42P01", SqlState::UNDEFINED_TABLE),
("25P03", SqlState::IDLE_IN_TRANSACTION_SESSION_TIMEOUT),
("57P05", SqlState::IDLE_SESSION_TIMEOUT),
("22037", SqlState::NON_UNIQUE_KEYS_IN_A_JSON_OBJECT),
("2203A", SqlState::SQL_JSON_MEMBER_NOT_FOUND),
("P0004", SqlState::ASSERT_FAILURE),
("58000", SqlState::SYSTEM_ERROR),
("42P21", SqlState::COLLATION_MISMATCH),
("57P02", SqlState::CRASH_SHUTDOWN),
("42830", SqlState::INVALID_FOREIGN_KEY),
("0LP01", SqlState::INVALID_GRANT_OPERATION),
("22P02", SqlState::INVALID_TEXT_REPRESENTATION),
("22039", SqlState::SQL_JSON_ARRAY_NOT_FOUND),
("28P01", SqlState::INVALID_PASSWORD),
("22011", SqlState::SUBSTRING_ERROR),
("HV00J", SqlState::FDW_OPTION_NAME_NOT_FOUND),
("2200C", SqlState::INVALID_USE_OF_ESCAPE_CHARACTER),
("08006", SqlState::CONNECTION_FAILURE),
("22021", SqlState::CHARACTER_NOT_IN_REPERTOIRE),
("21000", SqlState::CARDINALITY_VIOLATION),
("42803", SqlState::GROUPING_ERROR),
("00000", SqlState::SUCCESSFUL_COMPLETION),
("42P16", SqlState::INVALID_TABLE_DEFINITION),
("38002", SqlState::E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED),
("57P03", SqlState::CANNOT_CONNECT_NOW),
("01004", SqlState::WARNING_STRING_DATA_RIGHT_TRUNCATION),
("HV00K", SqlState::FDW_REPLY_HANDLE),
("42P06", SqlState::DUPLICATE_SCHEMA),
("54000", SqlState::PROGRAM_LIMIT_EXCEEDED),
("2200S", SqlState::INVALID_XML_COMMENT),
("42000", SqlState::SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION),
("42P03", SqlState::DUPLICATE_CURSOR),
("HV002", SqlState::FDW_DYNAMIC_PARAMETER_VALUE_NEEDED),
("2202H", SqlState::INVALID_TABLESAMPLE_ARGUMENT),
("08001", SqlState::SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION),
("0L000", SqlState::INVALID_GRANTOR),
("2200L", SqlState::NOT_AN_XML_DOCUMENT),
("HV006", SqlState::FDW_INVALID_DATA_TYPE_DESCRIPTORS),
("55000", SqlState::OBJECT_NOT_IN_PREREQUISITE_STATE),
("58P01", SqlState::UNDEFINED_FILE),
("0B000", SqlState::INVALID_TRANSACTION_INITIATION),
("22000", SqlState::DATA_EXCEPTION),
("HV00R", SqlState::FDW_TABLE_NOT_FOUND),
("2F002", SqlState::S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED),
("01007", SqlState::WARNING_PRIVILEGE_NOT_GRANTED),
("42P19", SqlState::INVALID_RECURSION),
("22016", SqlState::INVALID_ARGUMENT_FOR_NTH_VALUE),
("42702", SqlState::AMBIGUOUS_COLUMN),
("25005", SqlState::NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION),
("22004", SqlState::NULL_VALUE_NOT_ALLOWED),
("42P05", SqlState::DUPLICATE_PSTATEMENT),
("39001", SqlState::E_R_I_E_INVALID_SQLSTATE_RETURNED),
("22038", SqlState::SINGLETON_SQL_JSON_ITEM_REQUIRED),
("22008", SqlState::DATETIME_FIELD_OVERFLOW),
("38003", SqlState::E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED),
("53000", SqlState::INSUFFICIENT_RESOURCES),
("3B001", SqlState::S_E_INVALID_SPECIFICATION),
("28000", SqlState::INVALID_AUTHORIZATION_SPECIFICATION),
("P0000", SqlState::PLPGSQL_ERROR),
("38000", SqlState::EXTERNAL_ROUTINE_EXCEPTION),
("22019", SqlState::INVALID_ESCAPE_CHARACTER),
("22015", SqlState::INTERVAL_FIELD_OVERFLOW),
("42710", SqlState::DUPLICATE_OBJECT),
("2200M", SqlState::INVALID_XML_DOCUMENT),
("HV000", SqlState::FDW_ERROR),
("22P05", SqlState::UNTRANSLATABLE_CHARACTER),
("0100C", SqlState::WARNING_DYNAMIC_RESULT_SETS_RETURNED),
("55P02", SqlState::CANT_CHANGE_RUNTIME_PARAM),
("01003", SqlState::WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION),
("2200N", SqlState::INVALID_XML_CONTENT),
("2F000", SqlState::SQL_ROUTINE_EXCEPTION),
("08007", SqlState::TRANSACTION_RESOLUTION_UNKNOWN),
("2200B", SqlState::ESCAPE_CHARACTER_CONFLICT),
("22P03", SqlState::INVALID_BINARY_REPRESENTATION),
("42P09", SqlState::AMBIGUOUS_ALIAS),
("39004", SqlState::E_R_I_E_NULL_VALUE_NOT_ALLOWED),
("23502", SqlState::NOT_NULL_VIOLATION),
("2203D", SqlState::TOO_MANY_JSON_ARRAY_ELEMENTS),
("42P15", SqlState::INVALID_SCHEMA_DEFINITION),
("08004", SqlState::SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION),
("HV00N", SqlState::FDW_UNABLE_TO_ESTABLISH_CONNECTION),
("0A000", SqlState::FEATURE_NOT_SUPPORTED),
("57014", SqlState::QUERY_CANCELED),
("22033", SqlState::INVALID_SQL_JSON_SUBSCRIPT),
("0F001", SqlState::L_E_INVALID_SPECIFICATION),
("HV00A", SqlState::FDW_INVALID_STRING_FORMAT),
("39P02", SqlState::E_R_I_E_SRF_PROTOCOL_VIOLATED),
("42701", SqlState::DUPLICATE_COLUMN),
("42611", SqlState::INVALID_COLUMN_DEFINITION),
("HV001", SqlState::FDW_OUT_OF_MEMORY),
("HV091", SqlState::FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER),
("23P01", SqlState::EXCLUSION_VIOLATION),
("F0001", SqlState::LOCK_FILE_EXISTS),
("42501", SqlState::INSUFFICIENT_PRIVILEGE),
("22026", SqlState::STRING_DATA_LENGTH_MISMATCH),
("54023", SqlState::TOO_MANY_ARGUMENTS),
("01008", SqlState::WARNING_IMPLICIT_ZERO_BIT_PADDING),
("42P04", SqlState::DUPLICATE_DATABASE),
("22027", SqlState::TRIM_ERROR),
("53300", SqlState::TOO_MANY_CONNECTIONS),
("0Z002", SqlState::STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER),
("42P14", SqlState::INVALID_PSTATEMENT_DEFINITION),
("P0001", SqlState::RAISE_EXCEPTION),
("HV014", SqlState::FDW_TOO_MANY_HANDLES),
("40002", SqlState::T_R_INTEGRITY_CONSTRAINT_VIOLATION),
("3D000", SqlState::INVALID_CATALOG_NAME),
("03000", SqlState::SQL_STATEMENT_NOT_YET_COMPLETE),
("22024", SqlState::UNTERMINATED_C_STRING),
("42P13", SqlState::INVALID_FUNCTION_DEFINITION),
("08000", SqlState::CONNECTION_EXCEPTION),
("25007", SqlState::SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED),
("42501", SqlState::INSUFFICIENT_PRIVILEGE),
("22000", SqlState::DATA_EXCEPTION),
("0100C", SqlState::WARNING_DYNAMIC_RESULT_SETS_RETURNED),
("2200N", SqlState::INVALID_XML_CONTENT),
("40001", SqlState::T_R_SERIALIZATION_FAILURE),
("28P01", SqlState::INVALID_PASSWORD),
("38000", SqlState::EXTERNAL_ROUTINE_EXCEPTION),
("25006", SqlState::READ_ONLY_SQL_TRANSACTION),
("2203D", SqlState::TOO_MANY_JSON_ARRAY_ELEMENTS),
("42P09", SqlState::AMBIGUOUS_ALIAS),
("F0000", SqlState::CONFIG_FILE_ERROR),
("42P18", SqlState::INDETERMINATE_DATATYPE),
("40002", SqlState::T_R_INTEGRITY_CONSTRAINT_VIOLATION),
("22009", SqlState::INVALID_TIME_ZONE_DISPLACEMENT_VALUE),
("42P08", SqlState::AMBIGUOUS_PARAMETER),
("08000", SqlState::CONNECTION_EXCEPTION),
("25P01", SqlState::NO_ACTIVE_SQL_TRANSACTION),
("22024", SqlState::UNTERMINATED_C_STRING),
("55000", SqlState::OBJECT_NOT_IN_PREREQUISITE_STATE),
("25001", SqlState::ACTIVE_SQL_TRANSACTION),
("HV00Q", SqlState::FDW_SCHEMA_NOT_FOUND),
("22P04", SqlState::BAD_COPY_FILE_FORMAT),
("XX001", SqlState::DATA_CORRUPTED),
("23503", SqlState::FOREIGN_KEY_VIOLATION),
("23514", SqlState::CHECK_VIOLATION),
("42809", SqlState::WRONG_OBJECT_TYPE),
("2200F", SqlState::ZERO_LENGTH_CHARACTER_STRING),
("2BP01", SqlState::DEPENDENT_OBJECTS_STILL_EXIST),
("25008", SqlState::HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL),
("55P03", SqlState::LOCK_NOT_AVAILABLE),
("42P22", SqlState::INDETERMINATE_COLLATION),
("HV00D", SqlState::FDW_INVALID_OPTION_NAME),
("42P17", SqlState::INVALID_OBJECT_DEFINITION),
("23001", SqlState::RESTRICT_VIOLATION),
("22P06", SqlState::NONSTANDARD_USE_OF_ESCAPE_CHARACTER),
("22031", SqlState::INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION),
("2200D", SqlState::INVALID_ESCAPE_OCTET),
("0Z000", SqlState::DIAGNOSTICS_EXCEPTION),
("HV024", SqlState::FDW_INVALID_ATTRIBUTE_VALUE),
("22005", SqlState::ERROR_IN_ASSIGNMENT),
("58P02", SqlState::DUPLICATE_FILE),
("HV00P", SqlState::FDW_NO_SCHEMAS),
("42P10", SqlState::INVALID_COLUMN_REFERENCE),
("42P20", SqlState::WINDOWING_ERROR),
("25000", SqlState::INVALID_TRANSACTION_STATE),
("38004", SqlState::E_R_E_READING_SQL_DATA_NOT_PERMITTED),
("01P01", SqlState::WARNING_DEPRECATED_FEATURE),
("40000", SqlState::TRANSACTION_ROLLBACK),
("58030", SqlState::IO_ERROR),
("26000", SqlState::INVALID_SQL_STATEMENT_NAME),
("22007", SqlState::INVALID_DATETIME_FORMAT),
("23000", SqlState::INTEGRITY_CONSTRAINT_VIOLATION),
("0P000", SqlState::INVALID_ROLE_SPECIFICATION),
("22014", SqlState::INVALID_ARGUMENT_FOR_NTILE),
("03000", SqlState::SQL_STATEMENT_NOT_YET_COMPLETE),
("42710", SqlState::DUPLICATE_OBJECT),
("2D000", SqlState::INVALID_TRANSACTION_TERMINATION),
("2200G", SqlState::MOST_SPECIFIC_TYPE_MISMATCH),
("22022", SqlState::INDICATOR_OVERFLOW),
("55006", SqlState::OBJECT_IN_USE),
("53200", SqlState::OUT_OF_MEMORY),
("22012", SqlState::DIVISION_BY_ZERO),
("P0002", SqlState::NO_DATA_FOUND),
("39P03", SqlState::E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED),
("39000", SqlState::EXTERNAL_ROUTINE_INVOCATION_EXCEPTION),
("42P11", SqlState::INVALID_CURSOR_DEFINITION),
("HV010", SqlState::FDW_FUNCTION_SEQUENCE_ERROR),
("22002", SqlState::NULL_VALUE_NO_INDICATOR_PARAMETER),
("08P01", SqlState::PROTOCOL_VIOLATION),
("42723", SqlState::DUPLICATE_FUNCTION),
("XX001", SqlState::DATA_CORRUPTED),
("22P05", SqlState::UNTRANSLATABLE_CHARACTER),
("40003", SqlState::T_R_STATEMENT_COMPLETION_UNKNOWN),
("25003", SqlState::INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION),
("02001", SqlState::NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED),
("22021", SqlState::CHARACTER_NOT_IN_REPERTOIRE),
("25000", SqlState::INVALID_TRANSACTION_STATE),
("42P15", SqlState::INVALID_SCHEMA_DEFINITION),
("0B000", SqlState::INVALID_TRANSACTION_INITIATION),
("22004", SqlState::NULL_VALUE_NOT_ALLOWED),
("42804", SqlState::DATATYPE_MISMATCH),
("42803", SqlState::GROUPING_ERROR),
("02001", SqlState::NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED),
("25002", SqlState::BRANCH_TRANSACTION_ALREADY_ACTIVE),
("28000", SqlState::INVALID_AUTHORIZATION_SPECIFICATION),
("HV009", SqlState::FDW_INVALID_USE_OF_NULL_POINTER),
("22P01", SqlState::FLOATING_POINT_EXCEPTION),
("2B000", SqlState::DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST),
("42723", SqlState::DUPLICATE_FUNCTION),
("21000", SqlState::CARDINALITY_VIOLATION),
("0Z002", SqlState::STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER),
("23505", SqlState::UNIQUE_VIOLATION),
("HV00J", SqlState::FDW_OPTION_NAME_NOT_FOUND),
("23P01", SqlState::EXCLUSION_VIOLATION),
("39P03", SqlState::E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED),
("42P10", SqlState::INVALID_COLUMN_REFERENCE),
("2202H", SqlState::INVALID_TABLESAMPLE_ARGUMENT),
("55P04", SqlState::UNSAFE_NEW_ENUM_VALUE_USAGE),
("P0000", SqlState::PLPGSQL_ERROR),
("2F005", SqlState::S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT),
("HV00M", SqlState::FDW_UNABLE_TO_CREATE_REPLY),
("0A000", SqlState::FEATURE_NOT_SUPPORTED),
("24000", SqlState::INVALID_CURSOR_STATE),
("25008", SqlState::HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL),
("01003", SqlState::WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION),
("42712", SqlState::DUPLICATE_ALIAS),
("HV014", SqlState::FDW_TOO_MANY_HANDLES),
("58030", SqlState::IO_ERROR),
("2201W", SqlState::INVALID_ROW_COUNT_IN_LIMIT_CLAUSE),
("22033", SqlState::INVALID_SQL_JSON_SUBSCRIPT),
("2BP01", SqlState::DEPENDENT_OBJECTS_STILL_EXIST),
("HV005", SqlState::FDW_COLUMN_NAME_NOT_FOUND),
("25004", SqlState::INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION),
("54000", SqlState::PROGRAM_LIMIT_EXCEEDED),
("20000", SqlState::CASE_NOT_FOUND),
("2203G", SqlState::SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE),
("22038", SqlState::SINGLETON_SQL_JSON_ITEM_REQUIRED),
("22007", SqlState::INVALID_DATETIME_FORMAT),
("08004", SqlState::SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION),
("2200H", SqlState::SEQUENCE_GENERATOR_LIMIT_EXCEEDED),
("HV00D", SqlState::FDW_INVALID_OPTION_NAME),
("P0004", SqlState::ASSERT_FAILURE),
("22018", SqlState::INVALID_CHARACTER_VALUE_FOR_CAST),
("0L000", SqlState::INVALID_GRANTOR),
("22P04", SqlState::BAD_COPY_FILE_FORMAT),
("22031", SqlState::INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION),
("01P01", SqlState::WARNING_DEPRECATED_FEATURE),
("0LP01", SqlState::INVALID_GRANT_OPERATION),
("58P02", SqlState::DUPLICATE_FILE),
("26000", SqlState::INVALID_SQL_STATEMENT_NAME),
("54001", SqlState::STATEMENT_TOO_COMPLEX),
("22010", SqlState::INVALID_INDICATOR_PARAMETER_VALUE),
("HV00C", SqlState::FDW_INVALID_OPTION_INDEX),
("22008", SqlState::DATETIME_FIELD_OVERFLOW),
("42P06", SqlState::DUPLICATE_SCHEMA),
("25007", SqlState::SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED),
("42P20", SqlState::WINDOWING_ERROR),
("HV091", SqlState::FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER),
("HV021", SqlState::FDW_INCONSISTENT_DESCRIPTOR_INFORMATION),
("42702", SqlState::AMBIGUOUS_COLUMN),
("02000", SqlState::NO_DATA),
("54011", SqlState::TOO_MANY_COLUMNS),
("HV004", SqlState::FDW_INVALID_DATA_TYPE),
("01006", SqlState::WARNING_PRIVILEGE_NOT_REVOKED),
("42701", SqlState::DUPLICATE_COLUMN),
("08P01", SqlState::PROTOCOL_VIOLATION),
("42622", SqlState::NAME_TOO_LONG),
("P0003", SqlState::TOO_MANY_ROWS),
("22003", SqlState::NUMERIC_VALUE_OUT_OF_RANGE),
("42P03", SqlState::DUPLICATE_CURSOR),
("23001", SqlState::RESTRICT_VIOLATION),
("57000", SqlState::OPERATOR_INTERVENTION),
("22027", SqlState::TRIM_ERROR),
("42P12", SqlState::INVALID_DATABASE_DEFINITION),
("3B000", SqlState::SAVEPOINT_EXCEPTION),
("2201B", SqlState::INVALID_REGULAR_EXPRESSION),
("22030", SqlState::DUPLICATE_JSON_OBJECT_KEY_VALUE),
("2F004", SqlState::S_R_E_READING_SQL_DATA_NOT_PERMITTED),
("428C9", SqlState::GENERATED_ALWAYS),
("2200S", SqlState::INVALID_XML_COMMENT),
("22039", SqlState::SQL_JSON_ARRAY_NOT_FOUND),
("42809", SqlState::WRONG_OBJECT_TYPE),
("2201X", SqlState::INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE),
("39001", SqlState::E_R_I_E_INVALID_SQLSTATE_RETURNED),
("25P02", SqlState::IN_FAILED_SQL_TRANSACTION),
("0P000", SqlState::INVALID_ROLE_SPECIFICATION),
("HV00N", SqlState::FDW_UNABLE_TO_ESTABLISH_CONNECTION),
("53100", SqlState::DISK_FULL),
("42601", SqlState::SYNTAX_ERROR),
("23000", SqlState::INTEGRITY_CONSTRAINT_VIOLATION),
("HV006", SqlState::FDW_INVALID_DATA_TYPE_DESCRIPTORS),
("HV00B", SqlState::FDW_INVALID_HANDLE),
("HV00Q", SqlState::FDW_SCHEMA_NOT_FOUND),
("01000", SqlState::WARNING),
("42883", SqlState::UNDEFINED_FUNCTION),
("57P01", SqlState::ADMIN_SHUTDOWN),
("22037", SqlState::NON_UNIQUE_KEYS_IN_A_JSON_OBJECT),
("00000", SqlState::SUCCESSFUL_COMPLETION),
("55P03", SqlState::LOCK_NOT_AVAILABLE),
("42P01", SqlState::UNDEFINED_TABLE),
("42830", SqlState::INVALID_FOREIGN_KEY),
("22005", SqlState::ERROR_IN_ASSIGNMENT),
("22025", SqlState::INVALID_ESCAPE_SEQUENCE),
("XX002", SqlState::INDEX_CORRUPTED),
("42P16", SqlState::INVALID_TABLE_DEFINITION),
("55P02", SqlState::CANT_CHANGE_RUNTIME_PARAM),
("22019", SqlState::INVALID_ESCAPE_CHARACTER),
("P0001", SqlState::RAISE_EXCEPTION),
("72000", SqlState::SNAPSHOT_TOO_OLD),
("42P11", SqlState::INVALID_CURSOR_DEFINITION),
("40P01", SqlState::T_R_DEADLOCK_DETECTED),
("57P02", SqlState::CRASH_SHUTDOWN),
("HV00A", SqlState::FDW_INVALID_STRING_FORMAT),
("2F002", SqlState::S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED),
("23503", SqlState::FOREIGN_KEY_VIOLATION),
("40000", SqlState::TRANSACTION_ROLLBACK),
("22032", SqlState::INVALID_JSON_TEXT),
("2202E", SqlState::ARRAY_ELEMENT_ERROR),
("42P19", SqlState::INVALID_RECURSION),
("42611", SqlState::INVALID_COLUMN_DEFINITION),
("42P13", SqlState::INVALID_FUNCTION_DEFINITION),
("25003", SqlState::INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION),
("39P02", SqlState::E_R_I_E_SRF_PROTOCOL_VIOLATED),
("XX000", SqlState::INTERNAL_ERROR),
("08006", SqlState::CONNECTION_FAILURE),
("57P04", SqlState::DATABASE_DROPPED),
("42P07", SqlState::DUPLICATE_TABLE),
("22P03", SqlState::INVALID_BINARY_REPRESENTATION),
("22035", SqlState::NO_SQL_JSON_ITEM),
("42P14", SqlState::INVALID_PSTATEMENT_DEFINITION),
("01007", SqlState::WARNING_PRIVILEGE_NOT_GRANTED),
("38004", SqlState::E_R_E_READING_SQL_DATA_NOT_PERMITTED),
("42P21", SqlState::COLLATION_MISMATCH),
("0Z000", SqlState::DIAGNOSTICS_EXCEPTION),
("HV001", SqlState::FDW_OUT_OF_MEMORY),
("0F000", SqlState::LOCATOR_EXCEPTION),
("22013", SqlState::INVALID_PRECEDING_OR_FOLLOWING_SIZE),
("2201E", SqlState::INVALID_ARGUMENT_FOR_LOG),
("22011", SqlState::SUBSTRING_ERROR),
("42602", SqlState::INVALID_NAME),
("01004", SqlState::WARNING_STRING_DATA_RIGHT_TRUNCATION),
("42P02", SqlState::UNDEFINED_PARAMETER),
("2203C", SqlState::SQL_JSON_OBJECT_NOT_FOUND),
("HV002", SqlState::FDW_DYNAMIC_PARAMETER_VALUE_NEEDED),
("0F001", SqlState::L_E_INVALID_SPECIFICATION),
("58P01", SqlState::UNDEFINED_FILE),
("38001", SqlState::E_R_E_CONTAINING_SQL_NOT_PERMITTED),
("42703", SqlState::UNDEFINED_COLUMN),
("57P05", SqlState::IDLE_SESSION_TIMEOUT),
("57P03", SqlState::CANNOT_CONNECT_NOW),
("HV007", SqlState::FDW_INVALID_COLUMN_NAME),
("22014", SqlState::INVALID_ARGUMENT_FOR_NTILE),
("22P06", SqlState::NONSTANDARD_USE_OF_ESCAPE_CHARACTER),
("2203F", SqlState::SQL_JSON_SCALAR_REQUIRED),
("2200F", SqlState::ZERO_LENGTH_CHARACTER_STRING),
("09000", SqlState::TRIGGERED_ACTION_EXCEPTION),
("2201F", SqlState::INVALID_ARGUMENT_FOR_POWER_FUNCTION),
("08003", SqlState::CONNECTION_DOES_NOT_EXIST),
("38002", SqlState::E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED),
("F0001", SqlState::LOCK_FILE_EXISTS),
("42P22", SqlState::INDETERMINATE_COLLATION),
("2200C", SqlState::INVALID_USE_OF_ESCAPE_CHARACTER),
("2203E", SqlState::TOO_MANY_JSON_OBJECT_MEMBERS),
("23514", SqlState::CHECK_VIOLATION),
("22P02", SqlState::INVALID_TEXT_REPRESENTATION),
("54023", SqlState::TOO_MANY_ARGUMENTS),
("2200T", SqlState::INVALID_XML_PROCESSING_INSTRUCTION),
("22016", SqlState::INVALID_ARGUMENT_FOR_NTH_VALUE),
("25P03", SqlState::IDLE_IN_TRANSACTION_SESSION_TIMEOUT),
("3B001", SqlState::S_E_INVALID_SPECIFICATION),
("08001", SqlState::SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION),
("22036", SqlState::NON_NUMERIC_SQL_JSON_ITEM),
("3F000", SqlState::INVALID_SCHEMA_NAME),
("39P01", SqlState::E_R_I_E_TRIGGER_PROTOCOL_VIOLATED),
("22026", SqlState::STRING_DATA_LENGTH_MISMATCH),
("42P17", SqlState::INVALID_OBJECT_DEFINITION),
("22034", SqlState::MORE_THAN_ONE_SQL_JSON_ITEM),
("HV000", SqlState::FDW_ERROR),
("2200B", SqlState::ESCAPE_CHARACTER_CONFLICT),
("HV008", SqlState::FDW_INVALID_COLUMN_NUMBER),
("34000", SqlState::INVALID_CURSOR_NAME),
("2201G", SqlState::INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION),
("44000", SqlState::WITH_CHECK_OPTION_VIOLATION),
("HV010", SqlState::FDW_FUNCTION_SEQUENCE_ERROR),
("39004", SqlState::E_R_I_E_NULL_VALUE_NOT_ALLOWED),
("22001", SqlState::STRING_DATA_RIGHT_TRUNCATION),
("3D000", SqlState::INVALID_CATALOG_NAME),
("25005", SqlState::NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION),
("2200L", SqlState::NOT_AN_XML_DOCUMENT),
("27000", SqlState::TRIGGERED_DATA_CHANGE_VIOLATION),
("HV090", SqlState::FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH),
("42939", SqlState::RESERVED_NAME),
("58000", SqlState::SYSTEM_ERROR),
("2200M", SqlState::INVALID_XML_DOCUMENT),
("HV00L", SqlState::FDW_UNABLE_TO_CREATE_EXECUTION),
("57014", SqlState::QUERY_CANCELED),
("23502", SqlState::NOT_NULL_VIOLATION),
("22002", SqlState::NULL_VALUE_NO_INDICATOR_PARAMETER),
("HV00R", SqlState::FDW_TABLE_NOT_FOUND),
("HV00P", SqlState::FDW_NO_SCHEMAS),
("38003", SqlState::E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED),
("39000", SqlState::EXTERNAL_ROUTINE_INVOCATION_EXCEPTION),
("22015", SqlState::INTERVAL_FIELD_OVERFLOW),
("HV00K", SqlState::FDW_REPLY_HANDLE),
("HV024", SqlState::FDW_INVALID_ATTRIBUTE_VALUE),
("2200D", SqlState::INVALID_ESCAPE_OCTET),
("08007", SqlState::TRANSACTION_RESOLUTION_UNKNOWN),
("2F003", SqlState::S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED),
("42725", SqlState::AMBIGUOUS_FUNCTION),
("2203A", SqlState::SQL_JSON_MEMBER_NOT_FOUND),
("42846", SqlState::CANNOT_COERCE),
("42P04", SqlState::DUPLICATE_DATABASE),
("42000", SqlState::SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION),
("2203B", SqlState::SQL_JSON_NUMBER_NOT_FOUND),
("42P05", SqlState::DUPLICATE_PSTATEMENT),
("53300", SqlState::TOO_MANY_CONNECTIONS),
("53400", SqlState::CONFIGURATION_LIMIT_EXCEEDED),
("42704", SqlState::UNDEFINED_OBJECT),
("2202G", SqlState::INVALID_TABLESAMPLE_REPEAT),
("22023", SqlState::INVALID_PARAMETER_VALUE),
("53000", SqlState::INSUFFICIENT_RESOURCES),
],
};