mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-06 21:32:58 +00:00
fix: lose decimal precision when using decimal type as tag (#5481)
* fix: replicate() of decimal vector lose precision * test: add sqlness test * test: drop table
This commit is contained in:
@@ -387,6 +387,43 @@ impl Decimal128VectorBuilder {
|
|||||||
|
|
||||||
vectors::impl_try_from_arrow_array_for_vector!(Decimal128Array, Decimal128Vector);
|
vectors::impl_try_from_arrow_array_for_vector!(Decimal128Array, Decimal128Vector);
|
||||||
|
|
||||||
|
pub(crate) fn replicate_decimal128(
|
||||||
|
vector: &Decimal128Vector,
|
||||||
|
offsets: &[usize],
|
||||||
|
) -> Decimal128Vector {
|
||||||
|
assert_eq!(offsets.len(), vector.len());
|
||||||
|
|
||||||
|
if offsets.is_empty() {
|
||||||
|
return vector.get_slice(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Safety: safe to unwrap because we the vector ensures precision and scale are valid.
|
||||||
|
let mut builder = Decimal128VectorBuilder::with_capacity(*offsets.last().unwrap())
|
||||||
|
.with_precision_and_scale(vector.precision(), vector.scale())
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let mut previous_offset = 0;
|
||||||
|
|
||||||
|
for (offset, value) in offsets.iter().zip(vector.array.iter()) {
|
||||||
|
let repeat_times = *offset - previous_offset;
|
||||||
|
match value {
|
||||||
|
Some(data) => {
|
||||||
|
unsafe {
|
||||||
|
// Safety: std::iter::Repeat and std::iter::Take implement TrustedLen.
|
||||||
|
builder
|
||||||
|
.mutable_array
|
||||||
|
.append_trusted_len_iter(std::iter::repeat(data).take(repeat_times));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
builder.mutable_array.append_nulls(repeat_times);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
previous_offset = *offset;
|
||||||
|
}
|
||||||
|
builder.finish()
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
pub mod tests {
|
pub mod tests {
|
||||||
use arrow_array::Decimal128Array;
|
use arrow_array::Decimal128Array;
|
||||||
|
|||||||
@@ -114,13 +114,30 @@ macro_rules! impl_scalar_vector_op {
|
|||||||
)+};
|
)+};
|
||||||
}
|
}
|
||||||
|
|
||||||
impl_scalar_vector_op!(
|
impl_scalar_vector_op!(BinaryVector, BooleanVector, ListVector, StringVector);
|
||||||
BinaryVector,
|
|
||||||
BooleanVector,
|
impl VectorOp for Decimal128Vector {
|
||||||
ListVector,
|
fn replicate(&self, offsets: &[usize]) -> VectorRef {
|
||||||
StringVector,
|
std::sync::Arc::new(replicate::replicate_decimal128(self, offsets))
|
||||||
Decimal128Vector
|
}
|
||||||
);
|
|
||||||
|
fn find_unique(&self, selected: &mut BitVec, prev_vector: Option<&dyn Vector>) {
|
||||||
|
let prev_vector = prev_vector.and_then(|pv| pv.as_any().downcast_ref::<Decimal128Vector>());
|
||||||
|
find_unique::find_unique_scalar(self, selected, prev_vector);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn filter(&self, filter: &BooleanVector) -> Result<VectorRef> {
|
||||||
|
filter::filter_non_constant!(self, Decimal128Vector, filter)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn cast(&self, to_type: &ConcreteDataType) -> Result<VectorRef> {
|
||||||
|
cast::cast_non_constant!(self, to_type)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn take(&self, indices: &UInt32Vector) -> Result<VectorRef> {
|
||||||
|
take::take_indices!(self, Decimal128Vector, indices)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<T: LogicalPrimitiveType> VectorOp for PrimitiveVector<T> {
|
impl<T: LogicalPrimitiveType> VectorOp for PrimitiveVector<T> {
|
||||||
fn replicate(&self, offsets: &[usize]) -> VectorRef {
|
fn replicate(&self, offsets: &[usize]) -> VectorRef {
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
|
pub(crate) use crate::vectors::decimal::replicate_decimal128;
|
||||||
pub(crate) use crate::vectors::null::replicate_null;
|
pub(crate) use crate::vectors::null::replicate_null;
|
||||||
pub(crate) use crate::vectors::primitive::replicate_primitive;
|
pub(crate) use crate::vectors::primitive::replicate_primitive;
|
||||||
|
|
||||||
@@ -45,7 +46,7 @@ mod tests {
|
|||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::vectors::constant::ConstantVector;
|
use crate::vectors::constant::ConstantVector;
|
||||||
use crate::vectors::{Int32Vector, NullVector, StringVector, VectorOp};
|
use crate::vectors::{Decimal128Vector, Int32Vector, NullVector, StringVector, VectorOp};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_replicate_primitive() {
|
fn test_replicate_primitive() {
|
||||||
@@ -167,4 +168,23 @@ mod tests {
|
|||||||
impl_replicate_timestamp_test!(Microsecond);
|
impl_replicate_timestamp_test!(Microsecond);
|
||||||
impl_replicate_timestamp_test!(Nanosecond);
|
impl_replicate_timestamp_test!(Nanosecond);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_replicate_decimal() {
|
||||||
|
let data = vec![100];
|
||||||
|
// create a decimal vector
|
||||||
|
let v = Decimal128Vector::from_values(data.clone())
|
||||||
|
.with_precision_and_scale(10, 2)
|
||||||
|
.unwrap();
|
||||||
|
let offsets = [5];
|
||||||
|
let v = v.replicate(&offsets);
|
||||||
|
assert_eq!(5, v.len());
|
||||||
|
|
||||||
|
let expect: VectorRef = Arc::new(
|
||||||
|
Decimal128Vector::from_values(vec![100; 5])
|
||||||
|
.with_precision_and_scale(10, 2)
|
||||||
|
.unwrap(),
|
||||||
|
);
|
||||||
|
assert_eq!(expect, v);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,3 +58,385 @@ DROP TABLE decimals;
|
|||||||
|
|
||||||
Affected Rows: 0
|
Affected Rows: 0
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `all_types` (
|
||||||
|
`c_serial` DECIMAL(20,0) NOT NULL,
|
||||||
|
`c_bit` TINYINT NOT NULL,
|
||||||
|
`b1` INT NULL,
|
||||||
|
`c_tinyint` SMALLINT NOT NULL,
|
||||||
|
`c_tinyint_u` INT NOT NULL,
|
||||||
|
`c_tinyint_z` INT NOT NULL,
|
||||||
|
`c_tinyint_u_z` INT NOT NULL,
|
||||||
|
`c_tinyint_n` SMALLINT NOT NULL,
|
||||||
|
`c_tinyint_n_n` INT NOT NULL,
|
||||||
|
`c_tinyint_n_z` INT NOT NULL,
|
||||||
|
`c_tinyint_n_u_z` INT NOT NULL,
|
||||||
|
`c_bool` SMALLINT NOT NULL,
|
||||||
|
`c_boolean` SMALLINT NOT NULL,
|
||||||
|
`c_smallint` SMALLINT NOT NULL,
|
||||||
|
`c_smallint_u` INT NOT NULL,
|
||||||
|
`c_smallint_z` INT NOT NULL,
|
||||||
|
`c_smallint_u_z` INT NOT NULL,
|
||||||
|
`c_smallint_n` SMALLINT NOT NULL,
|
||||||
|
`c_smallint_n_n` INT NOT NULL,
|
||||||
|
`c_smallint_n_z` INT NOT NULL,
|
||||||
|
`c_smallint_n_u_z` INT NOT NULL,
|
||||||
|
`c_mediumint` INT NOT NULL,
|
||||||
|
`c_mediumint_u` BIGINT NOT NULL,
|
||||||
|
`c_mediumint_z` BIGINT NOT NULL,
|
||||||
|
`c_mediumint_u_z` BIGINT NOT NULL,
|
||||||
|
`c_mediumint_n` INT NOT NULL,
|
||||||
|
`c_mediumint_n_n` BIGINT NOT NULL,
|
||||||
|
`c_mediumint_n_z` BIGINT NOT NULL,
|
||||||
|
`c_mediumint_n_u_z` BIGINT NOT NULL,
|
||||||
|
`c_int` INT NOT NULL,
|
||||||
|
`c_int_u` BIGINT NOT NULL,
|
||||||
|
`c_int_z` BIGINT NULL,
|
||||||
|
`c_int_u_z` BIGINT NULL,
|
||||||
|
`c_int_n` INT NOT NULL,
|
||||||
|
`c_int_n_n` BIGINT NOT NULL,
|
||||||
|
`c_int_n_z` BIGINT NULL,
|
||||||
|
`c_int_n_u_z` BIGINT NULL,
|
||||||
|
`c_integer` INT NOT NULL,
|
||||||
|
`c_integer_u` BIGINT NOT NULL,
|
||||||
|
`c_integer_z` BIGINT NULL,
|
||||||
|
`c_integer_u_z` BIGINT NULL,
|
||||||
|
`c_integer_n` INT NOT NULL,
|
||||||
|
`c_integer_n_n` BIGINT NOT NULL,
|
||||||
|
`c_integer_n_z` BIGINT NULL,
|
||||||
|
`c_integer_n_u_z` BIGINT NULL,
|
||||||
|
`c_bigint` BIGINT NOT NULL,
|
||||||
|
`c_bigint_u` DECIMAL(20,0) NOT NULL,
|
||||||
|
`c_bigint_z` DECIMAL(20,0) NULL,
|
||||||
|
`c_bigint_u_z` DECIMAL(20,0) NULL,
|
||||||
|
`c_bigint_n` BIGINT NOT NULL,
|
||||||
|
`c_bigint_n_n` DECIMAL(20,0) NOT NULL,
|
||||||
|
`c_bigint_n_z` DECIMAL(20,0) NULL,
|
||||||
|
`c_bigint_n_u_z` DECIMAL(20,0) NULL,
|
||||||
|
`c_decimal` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_decimal_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_decimal_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_decimal_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_decimal_n` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_decimal_n_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_decimal_n_z` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_decimal_n_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_decimal_n_n` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_decimal_n_n_u` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_decimal_n_n_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_decimal_n_n_u_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_dec` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_dec_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_dec_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_dec_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_dec_n` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_dec_n_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_dec_n_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_dec_n_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_dec_n_n` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_dec_n_n_u` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_dec_n_n_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_dec_n_n_u_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_numeric` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_numeric_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_numeric_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_numeric_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_numeric_n` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_numeric_n_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_numeric_n_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_numeric_n_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_numeric_n_n` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_numeric_n_n_u` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_numeric_n_n_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_numeric_n_n_u_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_fixed` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_fixed_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_fixed_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_fixed_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_fixed_n` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_fixed_n_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_fixed_n_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_fixed_n_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_fixed_n_n` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_fixed_n_n_u` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_fixed_n_n_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_fixed_n_n_u_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_float` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_u` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_float_u_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_float_n` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_n_u` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_n_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_float_n_u_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_float_n_n` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_n_n_u` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_n_n_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_float_n_n_u_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_double` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_n_n` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_n_n_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_n_n_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_n_n_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_precision` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_precision_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_precision_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_precision_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_precision_n_n` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_precision_n_n_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_precision_n_n_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_precision_n_n_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_real` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_real_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_real_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_real_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_real_n_n` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_real_n_n_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_real_n_n_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_real_n_n_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_date` DATE NOT NULL,
|
||||||
|
`c_datetime` DATETIME NOT NULL,
|
||||||
|
`c_datetime_n` DATETIME NOT NULL,
|
||||||
|
`c_timestamp` DATETIME NOT NULL,
|
||||||
|
`c_timestamp_n` DATETIME NULL,
|
||||||
|
`c_time` STRING NOT NULL,
|
||||||
|
`c_time_n` STRING NOT NULL,
|
||||||
|
`c_year` INT NOT NULL,
|
||||||
|
`c_year_n` INT NOT NULL,
|
||||||
|
`c_char` STRING NOT NULL,
|
||||||
|
`c_char_n` STRING NOT NULL,
|
||||||
|
`c_character` STRING NOT NULL,
|
||||||
|
`c_character_n` STRING NOT NULL,
|
||||||
|
`c_nchar` STRING NOT NULL,
|
||||||
|
`c_nchar_n` STRING NOT NULL,
|
||||||
|
`c_national_char` STRING NOT NULL,
|
||||||
|
`c_national_char_n` STRING NOT NULL,
|
||||||
|
`c_varchar` STRING NOT NULL,
|
||||||
|
`c_character_varying` STRING NOT NULL,
|
||||||
|
`c_long_varchar` STRING NOT NULL,
|
||||||
|
`c_nvarchar` STRING NOT NULL,
|
||||||
|
`c_national_varchar` STRING NOT NULL,
|
||||||
|
`c_national_character_varying` STRING NOT NULL,
|
||||||
|
`c_tinytext` STRING NOT NULL,
|
||||||
|
`c_text` STRING NOT NULL,
|
||||||
|
`c_text_n` STRING NOT NULL,
|
||||||
|
`c_mediumtext` STRING NOT NULL,
|
||||||
|
`c_longtext` STRING NOT NULL,
|
||||||
|
`c_long` STRING NOT NULL,
|
||||||
|
`c_enum` STRING NULL,
|
||||||
|
`c_set` STRING NULL,
|
||||||
|
`c_bit1` TINYINT NULL,
|
||||||
|
`a1` STRING NULL,
|
||||||
|
`m1` TIMESTAMP(3) NOT NULL,
|
||||||
|
TIME INDEX (`m1`),
|
||||||
|
PRIMARY KEY (`c_serial`)
|
||||||
|
);
|
||||||
|
|
||||||
|
Affected Rows: 0
|
||||||
|
|
||||||
|
INSERT INTO all_types VALUES (
|
||||||
|
123456.987654431,
|
||||||
|
1,
|
||||||
|
100,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
'2024-01-01',
|
||||||
|
'2024-01-01 12:00:00',
|
||||||
|
'2024-01-01 12:00:00',
|
||||||
|
'2024-01-01 12:00:00',
|
||||||
|
'2024-01-01 12:00:00',
|
||||||
|
'12:00:00',
|
||||||
|
'12:00:00',
|
||||||
|
2024,
|
||||||
|
2024,
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'value1',
|
||||||
|
'value1',
|
||||||
|
1,
|
||||||
|
'ABC',
|
||||||
|
'2024-01-01 12:00:00.000'
|
||||||
|
);
|
||||||
|
|
||||||
|
Affected Rows: 1
|
||||||
|
|
||||||
|
SELECT * FROM public."all_types" ORDER BY m1 DESC LIMIT 100;
|
||||||
|
|
||||||
|
+----------+-------+-----+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+--------+-----------+------------+--------------+--------------+----------------+--------------+----------------+----------------+------------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+------------+--------------+--------------+----------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+--------------+----------------+----------------+------------------+--------------------+----------------------+----------------------+------------------------+------------------------+--------------------------+--------------------------+----------------------------+--------+----------+----------+------------+------------+--------------+--------------+----------------+------------+---------------------+---------------------+---------------------+---------------------+----------+----------+--------+----------+--------+----------+-------------+---------------+---------+-----------+-----------------+-------------------+-----------+---------------------+----------------+------------+--------------------+------------------------------+------------+--------+----------+--------------+------------+--------+--------+--------+--------+-----+---------------------+
|
||||||
|
| c_serial | c_bit | b1 | c_tinyint | c_tinyint_u | c_tinyint_z | c_tinyint_u_z | c_tinyint_n | c_tinyint_n_n | c_tinyint_n_z | c_tinyint_n_u_z | c_bool | c_boolean | c_smallint | c_smallint_u | c_smallint_z | c_smallint_u_z | c_smallint_n | c_smallint_n_n | c_smallint_n_z | c_smallint_n_u_z | c_mediumint | c_mediumint_u | c_mediumint_z | c_mediumint_u_z | c_mediumint_n | c_mediumint_n_n | c_mediumint_n_z | c_mediumint_n_u_z | c_int | c_int_u | c_int_z | c_int_u_z | c_int_n | c_int_n_n | c_int_n_z | c_int_n_u_z | c_integer | c_integer_u | c_integer_z | c_integer_u_z | c_integer_n | c_integer_n_n | c_integer_n_z | c_integer_n_u_z | c_bigint | c_bigint_u | c_bigint_z | c_bigint_u_z | c_bigint_n | c_bigint_n_n | c_bigint_n_z | c_bigint_n_u_z | c_decimal | c_decimal_u | c_decimal_z | c_decimal_u_z | c_decimal_n | c_decimal_n_u | c_decimal_n_z | c_decimal_n_u_z | c_decimal_n_n | c_decimal_n_n_u | c_decimal_n_n_z | c_decimal_n_n_u_z | c_dec | c_dec_u | c_dec_z | c_dec_u_z | c_dec_n | c_dec_n_u | c_dec_n_z | c_dec_n_u_z | c_dec_n_n | c_dec_n_n_u | c_dec_n_n_z | c_dec_n_n_u_z | c_numeric | c_numeric_u | c_numeric_z | c_numeric_u_z | c_numeric_n | c_numeric_n_u | c_numeric_n_z | c_numeric_n_u_z | c_numeric_n_n | c_numeric_n_n_u | c_numeric_n_n_z | c_numeric_n_n_u_z | c_fixed | c_fixed_u | c_fixed_z | c_fixed_u_z | c_fixed_n | c_fixed_n_u | c_fixed_n_z | c_fixed_n_u_z | c_fixed_n_n | c_fixed_n_n_u | c_fixed_n_n_z | c_fixed_n_n_u_z | c_float | c_float_u | c_float_z | c_float_u_z | c_float_n | c_float_n_u | c_float_n_z | c_float_n_u_z | c_float_n_n | c_float_n_n_u | c_float_n_n_z | c_float_n_n_u_z | c_double | c_double_u | c_double_z | c_double_u_z | c_double_n_n | c_double_n_n_u | c_double_n_n_z | c_double_n_n_u_z | c_double_precision | c_double_precision_u | c_double_precision_z | c_double_precision_u_z | c_double_precision_n_n | c_double_precision_n_n_u | c_double_precision_n_n_z | c_double_precision_n_n_u_z | c_real | c_real_u | c_real_z | c_real_u_z | c_real_n_n | c_real_n_n_u | c_real_n_n_z | c_real_n_n_u_z | c_date | c_datetime | c_datetime_n | c_timestamp | c_timestamp_n | c_time | c_time_n | c_year | c_year_n | c_char | c_char_n | c_character | c_character_n | c_nchar | c_nchar_n | c_national_char | c_national_char_n | c_varchar | c_character_varying | c_long_varchar | c_nvarchar | c_national_varchar | c_national_character_varying | c_tinytext | c_text | c_text_n | c_mediumtext | c_longtext | c_long | c_enum | c_set | c_bit1 | a1 | m1 |
|
||||||
|
+----------+-------+-----+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+--------+-----------+------------+--------------+--------------+----------------+--------------+----------------+----------------+------------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+------------+--------------+--------------+----------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+--------------+----------------+----------------+------------------+--------------------+----------------------+----------------------+------------------------+------------------------+--------------------------+--------------------------+----------------------------+--------+----------+----------+------------+------------+--------------+--------------+----------------+------------+---------------------+---------------------+---------------------+---------------------+----------+----------+--------+----------+--------+----------+-------------+---------------+---------+-----------+-----------------+-------------------+-----------+---------------------+----------------+------------+--------------------+------------------------------+------------+--------+----------+--------------+------------+--------+--------+--------+--------+-----+---------------------+
|
||||||
|
| 123457 | 1 | 100 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1.123 | 1.123 | 1.123 | 1.123 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1.123 | 1.123 | 1.123 | 1.123 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1.123 | 1.123 | 1.123 | 1.123 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1.123 | 1.123 | 1.123 | 1.123 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2024-01-01 | 2024-01-01T12:00:00 | 2024-01-01T12:00:00 | 2024-01-01T12:00:00 | 2024-01-01T12:00:00 | 12:00:00 | 12:00:00 | 2024 | 2024 | A | A | A | A | A | A | A | A | ABC | ABC | ABC | ABC | ABC | ABC | ABC | ABC | ABC | ABC | ABC | ABC | value1 | value1 | 1 | ABC | 2024-01-01T12:00:00 |
|
||||||
|
+----------+-------+-----+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+--------+-----------+------------+--------------+--------------+----------------+--------------+----------------+----------------+------------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+------------+--------------+--------------+----------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+--------------+----------------+----------------+------------------+--------------------+----------------------+----------------------+------------------------+------------------------+--------------------------+--------------------------+----------------------------+--------+----------+----------+------------+------------+--------------+--------------+----------------+------------+---------------------+---------------------+---------------------+---------------------+----------+----------+--------+----------+--------+----------+-------------+---------------+---------+-----------+-----------------+-------------------+-----------+---------------------+----------------+------------+--------------------+------------------------------+------------+--------+----------+--------------+------------+--------+--------+--------+--------+-----+---------------------+
|
||||||
|
|
||||||
|
ADMIN flush_table('all_types');
|
||||||
|
|
||||||
|
+--------------------------------+
|
||||||
|
| ADMIN flush_table('all_types') |
|
||||||
|
+--------------------------------+
|
||||||
|
| 0 |
|
||||||
|
+--------------------------------+
|
||||||
|
|
||||||
|
SELECT * FROM public."all_types" ORDER BY m1 DESC LIMIT 100;
|
||||||
|
|
||||||
|
+----------+-------+-----+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+--------+-----------+------------+--------------+--------------+----------------+--------------+----------------+----------------+------------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+------------+--------------+--------------+----------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+--------------+----------------+----------------+------------------+--------------------+----------------------+----------------------+------------------------+------------------------+--------------------------+--------------------------+----------------------------+--------+----------+----------+------------+------------+--------------+--------------+----------------+------------+---------------------+---------------------+---------------------+---------------------+----------+----------+--------+----------+--------+----------+-------------+---------------+---------+-----------+-----------------+-------------------+-----------+---------------------+----------------+------------+--------------------+------------------------------+------------+--------+----------+--------------+------------+--------+--------+--------+--------+-----+---------------------+
|
||||||
|
| c_serial | c_bit | b1 | c_tinyint | c_tinyint_u | c_tinyint_z | c_tinyint_u_z | c_tinyint_n | c_tinyint_n_n | c_tinyint_n_z | c_tinyint_n_u_z | c_bool | c_boolean | c_smallint | c_smallint_u | c_smallint_z | c_smallint_u_z | c_smallint_n | c_smallint_n_n | c_smallint_n_z | c_smallint_n_u_z | c_mediumint | c_mediumint_u | c_mediumint_z | c_mediumint_u_z | c_mediumint_n | c_mediumint_n_n | c_mediumint_n_z | c_mediumint_n_u_z | c_int | c_int_u | c_int_z | c_int_u_z | c_int_n | c_int_n_n | c_int_n_z | c_int_n_u_z | c_integer | c_integer_u | c_integer_z | c_integer_u_z | c_integer_n | c_integer_n_n | c_integer_n_z | c_integer_n_u_z | c_bigint | c_bigint_u | c_bigint_z | c_bigint_u_z | c_bigint_n | c_bigint_n_n | c_bigint_n_z | c_bigint_n_u_z | c_decimal | c_decimal_u | c_decimal_z | c_decimal_u_z | c_decimal_n | c_decimal_n_u | c_decimal_n_z | c_decimal_n_u_z | c_decimal_n_n | c_decimal_n_n_u | c_decimal_n_n_z | c_decimal_n_n_u_z | c_dec | c_dec_u | c_dec_z | c_dec_u_z | c_dec_n | c_dec_n_u | c_dec_n_z | c_dec_n_u_z | c_dec_n_n | c_dec_n_n_u | c_dec_n_n_z | c_dec_n_n_u_z | c_numeric | c_numeric_u | c_numeric_z | c_numeric_u_z | c_numeric_n | c_numeric_n_u | c_numeric_n_z | c_numeric_n_u_z | c_numeric_n_n | c_numeric_n_n_u | c_numeric_n_n_z | c_numeric_n_n_u_z | c_fixed | c_fixed_u | c_fixed_z | c_fixed_u_z | c_fixed_n | c_fixed_n_u | c_fixed_n_z | c_fixed_n_u_z | c_fixed_n_n | c_fixed_n_n_u | c_fixed_n_n_z | c_fixed_n_n_u_z | c_float | c_float_u | c_float_z | c_float_u_z | c_float_n | c_float_n_u | c_float_n_z | c_float_n_u_z | c_float_n_n | c_float_n_n_u | c_float_n_n_z | c_float_n_n_u_z | c_double | c_double_u | c_double_z | c_double_u_z | c_double_n_n | c_double_n_n_u | c_double_n_n_z | c_double_n_n_u_z | c_double_precision | c_double_precision_u | c_double_precision_z | c_double_precision_u_z | c_double_precision_n_n | c_double_precision_n_n_u | c_double_precision_n_n_z | c_double_precision_n_n_u_z | c_real | c_real_u | c_real_z | c_real_u_z | c_real_n_n | c_real_n_n_u | c_real_n_n_z | c_real_n_n_u_z | c_date | c_datetime | c_datetime_n | c_timestamp | c_timestamp_n | c_time | c_time_n | c_year | c_year_n | c_char | c_char_n | c_character | c_character_n | c_nchar | c_nchar_n | c_national_char | c_national_char_n | c_varchar | c_character_varying | c_long_varchar | c_nvarchar | c_national_varchar | c_national_character_varying | c_tinytext | c_text | c_text_n | c_mediumtext | c_longtext | c_long | c_enum | c_set | c_bit1 | a1 | m1 |
|
||||||
|
+----------+-------+-----+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+--------+-----------+------------+--------------+--------------+----------------+--------------+----------------+----------------+------------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+------------+--------------+--------------+----------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+--------------+----------------+----------------+------------------+--------------------+----------------------+----------------------+------------------------+------------------------+--------------------------+--------------------------+----------------------------+--------+----------+----------+------------+------------+--------------+--------------+----------------+------------+---------------------+---------------------+---------------------+---------------------+----------+----------+--------+----------+--------+----------+-------------+---------------+---------+-----------+-----------------+-------------------+-----------+---------------------+----------------+------------+--------------------+------------------------------+------------+--------+----------+--------------+------------+--------+--------+--------+--------+-----+---------------------+
|
||||||
|
| 123457 | 1 | 100 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1.123 | 1.123 | 1.123 | 1.123 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1.123 | 1.123 | 1.123 | 1.123 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1.123 | 1.123 | 1.123 | 1.123 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1.123 | 1.123 | 1.123 | 1.123 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2024-01-01 | 2024-01-01T00:00:00 | 2024-01-01T00:00:00 | 2024-01-01T00:00:00 | 2024-01-01T00:00:00 | 12:00:00 | 12:00:00 | 2024 | 2024 | A | A | A | A | A | A | A | A | ABC | ABC | ABC | ABC | ABC | ABC | ABC | ABC | ABC | ABC | ABC | ABC | value1 | value1 | 1 | ABC | 2024-01-01T12:00:00 |
|
||||||
|
+----------+-------+-----+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+--------+-----------+------------+--------------+--------------+----------------+--------------+----------------+----------------+------------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+------------+--------------+--------------+----------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+-------+---------+---------+-----------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------------+-----------------+-----------------+-------------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+---------+-----------+-----------+-------------+-----------+-------------+-------------+---------------+-------------+---------------+---------------+-----------------+----------+------------+------------+--------------+--------------+----------------+----------------+------------------+--------------------+----------------------+----------------------+------------------------+------------------------+--------------------------+--------------------------+----------------------------+--------+----------+----------+------------+------------+--------------+--------------+----------------+------------+---------------------+---------------------+---------------------+---------------------+----------+----------+--------+----------+--------+----------+-------------+---------------+---------+-----------+-----------------+-------------------+-----------+---------------------+----------------+------------+--------------------+------------------------------+------------+--------+----------+--------------+------------+--------+--------+--------+--------+-----+---------------------+
|
||||||
|
|
||||||
|
DROP TABLE all_types;
|
||||||
|
|
||||||
|
Affected Rows: 0
|
||||||
|
|
||||||
|
|||||||
@@ -15,3 +15,361 @@ SELECT 1 * d FROM decimals;
|
|||||||
SELECT 2 * d FROM decimals;
|
SELECT 2 * d FROM decimals;
|
||||||
|
|
||||||
DROP TABLE decimals;
|
DROP TABLE decimals;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `all_types` (
|
||||||
|
`c_serial` DECIMAL(20,0) NOT NULL,
|
||||||
|
`c_bit` TINYINT NOT NULL,
|
||||||
|
`b1` INT NULL,
|
||||||
|
`c_tinyint` SMALLINT NOT NULL,
|
||||||
|
`c_tinyint_u` INT NOT NULL,
|
||||||
|
`c_tinyint_z` INT NOT NULL,
|
||||||
|
`c_tinyint_u_z` INT NOT NULL,
|
||||||
|
`c_tinyint_n` SMALLINT NOT NULL,
|
||||||
|
`c_tinyint_n_n` INT NOT NULL,
|
||||||
|
`c_tinyint_n_z` INT NOT NULL,
|
||||||
|
`c_tinyint_n_u_z` INT NOT NULL,
|
||||||
|
`c_bool` SMALLINT NOT NULL,
|
||||||
|
`c_boolean` SMALLINT NOT NULL,
|
||||||
|
`c_smallint` SMALLINT NOT NULL,
|
||||||
|
`c_smallint_u` INT NOT NULL,
|
||||||
|
`c_smallint_z` INT NOT NULL,
|
||||||
|
`c_smallint_u_z` INT NOT NULL,
|
||||||
|
`c_smallint_n` SMALLINT NOT NULL,
|
||||||
|
`c_smallint_n_n` INT NOT NULL,
|
||||||
|
`c_smallint_n_z` INT NOT NULL,
|
||||||
|
`c_smallint_n_u_z` INT NOT NULL,
|
||||||
|
`c_mediumint` INT NOT NULL,
|
||||||
|
`c_mediumint_u` BIGINT NOT NULL,
|
||||||
|
`c_mediumint_z` BIGINT NOT NULL,
|
||||||
|
`c_mediumint_u_z` BIGINT NOT NULL,
|
||||||
|
`c_mediumint_n` INT NOT NULL,
|
||||||
|
`c_mediumint_n_n` BIGINT NOT NULL,
|
||||||
|
`c_mediumint_n_z` BIGINT NOT NULL,
|
||||||
|
`c_mediumint_n_u_z` BIGINT NOT NULL,
|
||||||
|
`c_int` INT NOT NULL,
|
||||||
|
`c_int_u` BIGINT NOT NULL,
|
||||||
|
`c_int_z` BIGINT NULL,
|
||||||
|
`c_int_u_z` BIGINT NULL,
|
||||||
|
`c_int_n` INT NOT NULL,
|
||||||
|
`c_int_n_n` BIGINT NOT NULL,
|
||||||
|
`c_int_n_z` BIGINT NULL,
|
||||||
|
`c_int_n_u_z` BIGINT NULL,
|
||||||
|
`c_integer` INT NOT NULL,
|
||||||
|
`c_integer_u` BIGINT NOT NULL,
|
||||||
|
`c_integer_z` BIGINT NULL,
|
||||||
|
`c_integer_u_z` BIGINT NULL,
|
||||||
|
`c_integer_n` INT NOT NULL,
|
||||||
|
`c_integer_n_n` BIGINT NOT NULL,
|
||||||
|
`c_integer_n_z` BIGINT NULL,
|
||||||
|
`c_integer_n_u_z` BIGINT NULL,
|
||||||
|
`c_bigint` BIGINT NOT NULL,
|
||||||
|
`c_bigint_u` DECIMAL(20,0) NOT NULL,
|
||||||
|
`c_bigint_z` DECIMAL(20,0) NULL,
|
||||||
|
`c_bigint_u_z` DECIMAL(20,0) NULL,
|
||||||
|
`c_bigint_n` BIGINT NOT NULL,
|
||||||
|
`c_bigint_n_n` DECIMAL(20,0) NOT NULL,
|
||||||
|
`c_bigint_n_z` DECIMAL(20,0) NULL,
|
||||||
|
`c_bigint_n_u_z` DECIMAL(20,0) NULL,
|
||||||
|
`c_decimal` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_decimal_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_decimal_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_decimal_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_decimal_n` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_decimal_n_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_decimal_n_z` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_decimal_n_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_decimal_n_n` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_decimal_n_n_u` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_decimal_n_n_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_decimal_n_n_u_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_dec` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_dec_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_dec_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_dec_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_dec_n` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_dec_n_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_dec_n_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_dec_n_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_dec_n_n` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_dec_n_n_u` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_dec_n_n_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_dec_n_n_u_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_numeric` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_numeric_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_numeric_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_numeric_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_numeric_n` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_numeric_n_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_numeric_n_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_numeric_n_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_numeric_n_n` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_numeric_n_n_u` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_numeric_n_n_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_numeric_n_n_u_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_fixed` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_fixed_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_fixed_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_fixed_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_fixed_n` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_fixed_n_u` DECIMAL(10,0) NOT NULL,
|
||||||
|
`c_fixed_n_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_fixed_n_u_z` DECIMAL(10,0) NULL,
|
||||||
|
`c_fixed_n_n` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_fixed_n_n_u` DECIMAL(10,3) NOT NULL,
|
||||||
|
`c_fixed_n_n_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_fixed_n_n_u_z` DECIMAL(10,3) NULL,
|
||||||
|
`c_float` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_u` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_float_u_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_float_n` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_n_u` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_n_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_float_n_u_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_float_n_n` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_n_n_u` DECIMAL(12,0) NOT NULL,
|
||||||
|
`c_float_n_n_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_float_n_n_u_z` DECIMAL(12,0) NULL,
|
||||||
|
`c_double` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_n_n` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_n_n_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_n_n_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_n_n_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_precision` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_precision_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_precision_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_precision_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_precision_n_n` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_precision_n_n_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_double_precision_n_n_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_double_precision_n_n_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_real` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_real_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_real_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_real_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_real_n_n` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_real_n_n_u` DECIMAL(22,0) NOT NULL,
|
||||||
|
`c_real_n_n_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_real_n_n_u_z` DECIMAL(22,0) NULL,
|
||||||
|
`c_date` DATE NOT NULL,
|
||||||
|
`c_datetime` DATETIME NOT NULL,
|
||||||
|
`c_datetime_n` DATETIME NOT NULL,
|
||||||
|
`c_timestamp` DATETIME NOT NULL,
|
||||||
|
`c_timestamp_n` DATETIME NULL,
|
||||||
|
`c_time` STRING NOT NULL,
|
||||||
|
`c_time_n` STRING NOT NULL,
|
||||||
|
`c_year` INT NOT NULL,
|
||||||
|
`c_year_n` INT NOT NULL,
|
||||||
|
`c_char` STRING NOT NULL,
|
||||||
|
`c_char_n` STRING NOT NULL,
|
||||||
|
`c_character` STRING NOT NULL,
|
||||||
|
`c_character_n` STRING NOT NULL,
|
||||||
|
`c_nchar` STRING NOT NULL,
|
||||||
|
`c_nchar_n` STRING NOT NULL,
|
||||||
|
`c_national_char` STRING NOT NULL,
|
||||||
|
`c_national_char_n` STRING NOT NULL,
|
||||||
|
`c_varchar` STRING NOT NULL,
|
||||||
|
`c_character_varying` STRING NOT NULL,
|
||||||
|
`c_long_varchar` STRING NOT NULL,
|
||||||
|
`c_nvarchar` STRING NOT NULL,
|
||||||
|
`c_national_varchar` STRING NOT NULL,
|
||||||
|
`c_national_character_varying` STRING NOT NULL,
|
||||||
|
`c_tinytext` STRING NOT NULL,
|
||||||
|
`c_text` STRING NOT NULL,
|
||||||
|
`c_text_n` STRING NOT NULL,
|
||||||
|
`c_mediumtext` STRING NOT NULL,
|
||||||
|
`c_longtext` STRING NOT NULL,
|
||||||
|
`c_long` STRING NOT NULL,
|
||||||
|
`c_enum` STRING NULL,
|
||||||
|
`c_set` STRING NULL,
|
||||||
|
`c_bit1` TINYINT NULL,
|
||||||
|
`a1` STRING NULL,
|
||||||
|
`m1` TIMESTAMP(3) NOT NULL,
|
||||||
|
TIME INDEX (`m1`),
|
||||||
|
PRIMARY KEY (`c_serial`)
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO all_types VALUES (
|
||||||
|
123456.987654431,
|
||||||
|
1,
|
||||||
|
100,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1.123,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
'2024-01-01',
|
||||||
|
'2024-01-01 12:00:00',
|
||||||
|
'2024-01-01 12:00:00',
|
||||||
|
'2024-01-01 12:00:00',
|
||||||
|
'2024-01-01 12:00:00',
|
||||||
|
'12:00:00',
|
||||||
|
'12:00:00',
|
||||||
|
2024,
|
||||||
|
2024,
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'ABC',
|
||||||
|
'value1',
|
||||||
|
'value1',
|
||||||
|
1,
|
||||||
|
'ABC',
|
||||||
|
'2024-01-01 12:00:00.000'
|
||||||
|
);
|
||||||
|
|
||||||
|
SELECT * FROM public."all_types" ORDER BY m1 DESC LIMIT 100;
|
||||||
|
|
||||||
|
ADMIN flush_table('all_types');
|
||||||
|
|
||||||
|
SELECT * FROM public."all_types" ORDER BY m1 DESC LIMIT 100;
|
||||||
|
|
||||||
|
DROP TABLE all_types;
|
||||||
|
|||||||
Reference in New Issue
Block a user