From dbdf97fc2b7c2f63f8af8a736e9e2f2b160882e0 Mon Sep 17 00:00:00 2001 From: Dennis Felsing Date: Tue, 4 Jul 2023 10:40:30 +0000 Subject: [PATCH] Higher chance --- check.sh | 4 ++++ expr.cc | 40 ++++++++++++++++++++-------------------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/check.sh b/check.sh index 758e24d..d5f5c75 100755 --- a/check.sh +++ b/check.sh @@ -65,7 +65,9 @@ grep -v "internal error: unrecognized configuration parameter" | grep -v "invalid encoding name" | grep -v "invalid time zone" | grep -v "interval out of range" | +grep -v "uint2 out of range" | grep -v "uint8 out of range" | +grep -v "out of valid range" | grep -v "value out of range: overflow" | grep -v "value out of range: underflow" | grep -v "LIKE pattern exceeds maximum length" | @@ -76,6 +78,8 @@ grep -v "step size cannot equal zero" | grep -v "stride must be greater than zero" | grep -v "timestamp out of range" | grep -v "integer out of range" | +grep -v "bigint out of range" | +grep -v "smallint out of range" | grep -v "unterminated escape sequence in LIKE" | grep -v "null character not permitted" | grep -v "is defined for numbers between" | diff --git a/expr.cc b/expr.cc index 8dbb640..853d754 100644 --- a/expr.cc +++ b/expr.cc @@ -238,67 +238,67 @@ const_expr::const_expr(prod *p, sqltype *type_constraint) else if (type->name == "integer[]") expr = "array[1, 2, 3, null]::integer[]"; else if (type->name == "jsonb") - if (d42() == 1) + if (d6() == 1) expr = "'{}'::jsonb"; - else if (d42() == 1) + else if (d6() == 1) expr = "'[]'::jsonb"; - else if (d42() == 1) + else if (d6() == 1) expr = "'\"foo\"'::jsonb"; - else if (d42() == 1) + else if (d6() == 1) expr = "'null'::jsonb"; else expr = "'{\"1\":2,\"3\":4}'::jsonb"; else if (type->name == "bytea") - if (d42() == 1) + if (d6() == 1) expr = "cast('\\000' as bytea)"; - else if (d42() == 1) + else if (d6() == 1) expr = "cast('\\xFFFFFF' as bytea)"; else expr = "cast('\\xDEADBEEF' as bytea)"; else if (type->name == "uuid") - if (d42() == 1) + if (d6() == 1) expr = "UUID '00000000-0000-0000-0000-000000000000'"; - else if (d42() == 1) + else if (d6() == 1) expr = "UUID 'ffffffff-ffff-ffff-ffff-ffffffffffff'"; else expr = "UUID 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'"; else if (type->name == "date") - if (d42() == 1) + if (d6() == 1) expr = "(DATE '1-11-25' - INTERVAL '4713 YEARS')"; - else if (d42() == 1) + else if (d6() == 1) expr = "(DATE '62143-12-31' + INTERVAL '200000 YEARS')"; else expr = "DATE '2007-02-01'"; else if (type->name == "time") - if (d42() == 1) + if (d6() == 1) expr = "TIME '00:00:00'"; - else if (d42() == 1) + else if (d6() == 1) expr = "TIME '23:59:60'"; else expr = "TIME '01:23:45'"; else if (type->name == "timestamp") - if (d42() == 1) + if (d6() == 1) expr = "(TIMESTAMP '0001-01-01 00:00:00' - INTERVAL '4714 YEARS')"; - else if (d42() == 1) + else if (d6() == 1) expr = "(TIMESTAMP '95143-12-31 23:59:59' + INTERVAL '167 MILLENNIUM')"; else expr = "TIMESTAMP '2023-01-01 01:23:45'"; else if (type->name == "timestamptz") - if (d42() == 1) + if (d6() == 1) expr = "(TIMESTAMPTZ '0001-01-01 00:00:00+06' - INTERVAL '4714 YEARS')"; - else if (d42() == 1) + else if (d6() == 1) expr = "(TIMESTAMPTZ '95143-12-31 23:59:59+06' + INTERVAL '167 MILLENNIUM')"; else expr = "TIMESTAMPTZ '2023-01-01 01:23:45+06'"; else if (type->name == "interval") - if (d42() == 1) + if (d6() == 1) expr = "INTERVAL '2147483647 MONTHS'"; - else if (d42() == 1) + else if (d6() == 1) expr = "INTERVAL '-2147483648 MONTHS'"; else expr = "INTERVAL '1' MINUTE"; else - if (d42() == 1) { + if (d6() == 1) { if (type->name == "int2") expr = "-32768"; else if (type->name == "int4") @@ -317,7 +317,7 @@ const_expr::const_expr(prod *p, sqltype *type_constraint) expr = "1E-307"; else expr = "cast(0 as " + type->name + ")"; - } else if (d42() == 1) { + } else if (d6() == 1) { if (type->name == "int2") expr = "32767"; else if (type->name == "int4")