removing decimal with precision and decimal count

This commit is contained in:
Filipriec
2026-08-24 21:31:06 +02:00
parent 16670f4375
commit 5e9b86c1fb
22 changed files with 50 additions and 467 deletions

View File

@@ -239,15 +239,12 @@ pub struct ColumnDefinition {
/// DATE
/// DURATION
/// PERIOD
/// DECIMAL(p,s) → NUMERIC(p,s)
/// LINK(table) → BIGINT referencing that table in the same profile, indexed
/// automatically. A table may hold several links to the same
/// target as long as the columns are named differently.
/// FROM(link.source) → stored, read-only copy of an atomic column reached
/// through another column in this definition whose type is
/// LINK(...). SQL type and money metadata are inferred.
/// DECIMAL args must be integers (no sign, no dot, no leading zeros);
/// s ≤ p and p ≥ 1.
#[prost(string, tag = "2")]
pub field_type: ::prost::alloc::string::String,
/// MONEY rounding applied before a value is stored.
@@ -584,8 +581,7 @@ pub mod list_column_types_response {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
/// Underlying PostgreSQL type the logical type maps to (e.g. "NUMERIC").
/// Empty when `compound` is true. For COLUMN_TYPE_SPELLING_DECIMAL this is
/// the unparameterised type; the declared precision and scale are appended.
/// Empty when `compound` is true.
#[prost(string, tag = "2")]
pub sql_type: ::prost::alloc::string::String,
/// False for types the server generates on its own and rejects when a client
@@ -682,10 +678,6 @@ impl MoneyRounding {
pub enum ColumnTypeSpelling {
/// The name is the whole spelling: "text", "money", "gtin_13".
Bare = 0,
/// The name takes a precision and a scale: "decimal(12,3)". Precision must be
/// at least 1 and scale no greater than precision; neither may carry a sign,
/// a decimal point, or leading zeros.
Decimal = 1,
/// The name takes the name of another table in the same profile:
/// "link(adresar)". The column holds that table's id, and the server creates
/// the foreign key and its index. A picker offers the profile's other tables
@@ -700,7 +692,6 @@ impl ColumnTypeSpelling {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Bare => "COLUMN_TYPE_SPELLING_BARE",
Self::Decimal => "COLUMN_TYPE_SPELLING_DECIMAL",
Self::Link => "COLUMN_TYPE_SPELLING_LINK",
}
}
@@ -708,7 +699,6 @@ impl ColumnTypeSpelling {
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COLUMN_TYPE_SPELLING_BARE" => Some(Self::Bare),
"COLUMN_TYPE_SPELLING_DECIMAL" => Some(Self::Decimal),
"COLUMN_TYPE_SPELLING_LINK" => Some(Self::Link),
_ => None,
}