MCPcopy Create free account
hub / github.com/PostHog/duckgres / TestTypesNumeric

Function TestTypesNumeric

tests/integration/types_test.go:8–46  ·  view source on GitHub ↗

TestTypesNumeric tests numeric type handling

(t *testing.T)

Source from the content-addressed store, hash-verified

6
7// TestTypesNumeric tests numeric type handling
8func TestTypesNumeric(t *testing.T) {
9 tests := []QueryTest{
10 // Integer types
11 {Name: "smallint_literal", Query: "SELECT 1::SMALLINT"},
12 {Name: "integer_literal", Query: "SELECT 42::INTEGER"},
13 {Name: "bigint_literal", Query: "SELECT 9223372036854775807::BIGINT"},
14 {Name: "int2_alias", Query: "SELECT 1::INT2"},
15 {Name: "int4_alias", Query: "SELECT 1::INT4"},
16 {Name: "int8_alias", Query: "SELECT 1::INT8"},
17
18 // Floating point
19 {Name: "real_literal", Query: "SELECT 3.14::REAL"},
20 {Name: "double_precision", Query: "SELECT 3.14159265358979::DOUBLE PRECISION"},
21 {Name: "float4_alias", Query: "SELECT 1.5::FLOAT4"},
22 {Name: "float8_alias", Query: "SELECT 1.5::FLOAT8"},
23
24 // Numeric/Decimal
25 {Name: "numeric_literal", Query: "SELECT 123.456::NUMERIC"},
26 {Name: "numeric_precision", Query: "SELECT 123.456::NUMERIC(10, 2)"},
27 {Name: "decimal_alias", Query: "SELECT 123.456::DECIMAL(10, 2)"},
28
29 // Special float values
30 {Name: "float_nan", Query: "SELECT 'NaN'::FLOAT"},
31 {Name: "float_infinity", Query: "SELECT 'Infinity'::FLOAT"},
32 {Name: "float_neg_infinity", Query: "SELECT '-Infinity'::FLOAT"},
33
34 // Integer operations
35 {Name: "integer_add", Query: "SELECT 2147483647 + 1::BIGINT"},
36 {Name: "integer_multiply", Query: "SELECT 1000000 * 1000000::BIGINT"},
37 {Name: "integer_divide", Query: "SELECT 10 / 3"},
38 {Name: "integer_modulo", Query: "SELECT 17 % 5"},
39
40 // From table
41 {Name: "select_int_columns", Query: "SELECT int2_col, int4_col, int8_col FROM types_test WHERE id = 1"},
42 {Name: "select_float_columns", Query: "SELECT float4_col, float8_col FROM types_test WHERE id = 1"},
43 {Name: "select_numeric_column", Query: "SELECT numeric_col FROM types_test WHERE id = 1"},
44 }
45 runQueryTests(t, tests)
46}
47
48// TestTypesCharacter tests character/string type handling
49func TestTypesCharacter(t *testing.T) {

Callers

nothing calls this directly

Calls 1

runQueryTestsFunction · 0.85

Tested by

no test coverage detected