aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/btree_gist/expected/bit.out6
-rw-r--r--contrib/btree_gist/expected/varbit.out6
-rw-r--r--src/backend/utils/adt/ruleutils.c5
-rw-r--r--src/test/regress/expected/bit.out23
-rw-r--r--src/test/regress/expected/sanity_check.out1
-rw-r--r--src/test/regress/sql/bit.sql11
6 files changed, 41 insertions, 11 deletions
diff --git a/contrib/btree_gist/expected/bit.out b/contrib/btree_gist/expected/bit.out
index 8606baf366e..e57871f310b 100644
--- a/contrib/btree_gist/expected/bit.out
+++ b/contrib/btree_gist/expected/bit.out
@@ -68,9 +68,9 @@ SELECT count(*) FROM bittmp WHERE a > '011011000100010111011000110000100';
SET enable_bitmapscan=off;
EXPLAIN (COSTS OFF)
SELECT a FROM bittmp WHERE a BETWEEN '1000000' and '1000001';
- QUERY PLAN
------------------------------------------------------------------------
+ QUERY PLAN
+---------------------------------------------------------------------
Index Only Scan using bitidx on bittmp
- Index Cond: ((a >= B'1000000'::"bit") AND (a <= B'1000001'::"bit"))
+ Index Cond: ((a >= '1000000'::"bit") AND (a <= '1000001'::"bit"))
(2 rows)
diff --git a/contrib/btree_gist/expected/varbit.out b/contrib/btree_gist/expected/varbit.out
index 538ace85c90..ede36bc3ead 100644
--- a/contrib/btree_gist/expected/varbit.out
+++ b/contrib/btree_gist/expected/varbit.out
@@ -68,9 +68,9 @@ SELECT count(*) FROM varbittmp WHERE a > '1110100111010'::varbit;
SET enable_bitmapscan=off;
EXPLAIN (COSTS OFF)
SELECT a FROM bittmp WHERE a BETWEEN '1000000' and '1000001';
- QUERY PLAN
------------------------------------------------------------------------
+ QUERY PLAN
+---------------------------------------------------------------------
Index Only Scan using bitidx on bittmp
- Index Cond: ((a >= B'1000000'::"bit") AND (a <= B'1000001'::"bit"))
+ Index Cond: ((a >= '1000000'::"bit") AND (a <= '1000001'::"bit"))
(2 rows)
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index 5cce3f12420..4c2408d6551 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -9490,11 +9490,6 @@ get_const_expr(Const *constval, deparse_context *context, int showtype)
}
break;
- case BITOID:
- case VARBITOID:
- appendStringInfo(buf, "B'%s'", extval);
- break;
-
case BOOLOID:
if (strcmp(extval, "t") == 0)
appendStringInfoString(buf, "true");
diff --git a/src/test/regress/expected/bit.out b/src/test/regress/expected/bit.out
index 9c7d202149f..ef8aaea3eff 100644
--- a/src/test/regress/expected/bit.out
+++ b/src/test/regress/expected/bit.out
@@ -549,3 +549,26 @@ SELECT overlay(B'0101011100' placing '001' from 20);
0101011100001
(1 row)
+-- This table is intentionally left around to exercise pg_dump/pg_upgrade
+CREATE TABLE bit_defaults(
+ b1 bit(4) DEFAULT '1001',
+ b2 bit(4) DEFAULT B'0101',
+ b3 bit varying(5) DEFAULT '1001',
+ b4 bit varying(5) DEFAULT B'0101'
+);
+\d bit_defaults
+ Table "public.bit_defaults"
+ Column | Type | Collation | Nullable | Default
+--------+----------------+-----------+----------+---------------------
+ b1 | bit(4) | | | '1001'::"bit"
+ b2 | bit(4) | | | '0101'::"bit"
+ b3 | bit varying(5) | | | '1001'::bit varying
+ b4 | bit varying(5) | | | '0101'::"bit"
+
+INSERT INTO bit_defaults DEFAULT VALUES;
+TABLE bit_defaults;
+ b1 | b2 | b3 | b4
+------+------+------+------
+ 1001 | 0101 | 1001 | 0101
+(1 row)
+
diff --git a/src/test/regress/expected/sanity_check.out b/src/test/regress/expected/sanity_check.out
index 0aa53579175..48e0508a96b 100644
--- a/src/test/regress/expected/sanity_check.out
+++ b/src/test/regress/expected/sanity_check.out
@@ -19,6 +19,7 @@ array_index_op_test|t
array_op_test|f
b|f
b_star|f
+bit_defaults|f
box_tbl|f
bprime|f
bt_f8_heap|t
diff --git a/src/test/regress/sql/bit.sql b/src/test/regress/sql/bit.sql
index 419d47c8b75..a73da8cb8f6 100644
--- a/src/test/regress/sql/bit.sql
+++ b/src/test/regress/sql/bit.sql
@@ -195,3 +195,14 @@ SELECT overlay(B'0101011100' placing '001' from 2 for 3);
SELECT overlay(B'0101011100' placing '101' from 6);
SELECT overlay(B'0101011100' placing '001' from 11);
SELECT overlay(B'0101011100' placing '001' from 20);
+
+-- This table is intentionally left around to exercise pg_dump/pg_upgrade
+CREATE TABLE bit_defaults(
+ b1 bit(4) DEFAULT '1001',
+ b2 bit(4) DEFAULT B'0101',
+ b3 bit varying(5) DEFAULT '1001',
+ b4 bit varying(5) DEFAULT B'0101'
+);
+\d bit_defaults
+INSERT INTO bit_defaults DEFAULT VALUES;
+TABLE bit_defaults;