Skip to content

Commit 77c168a

Browse files
committed
Remove grammar productions for prefix and postfix % and ^ operators,
as well as the existing pg_catalog entries for prefix and postfix %. These have never been documented, though they did appear in one old regression test. This avoids surprising behavior in cases like "SELECT -25 % -10". Per recent discussion. Note: although there is a catalog change here, I did not force initdb since there's no harm in leaving the inaccessible entries in one's copy of pg_operator.
1 parent f5b2f60 commit 77c168a

File tree

9 files changed

+16
-34
lines changed

9 files changed

+16
-34
lines changed

doc/src/sgml/ref/comment.sgml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!--
2-
$PostgreSQL: pgsql/doc/src/sgml/ref/comment.sgml,v 1.28 2005/05/26 20:05:03 tgl Exp $
2+
$PostgreSQL: pgsql/doc/src/sgml/ref/comment.sgml,v 1.29 2005/06/08 21:15:27 tgl Exp $
33
PostgreSQL documentation
44
-->
55

@@ -243,7 +243,7 @@ COMMENT ON INDEX my_index IS 'Enforces uniqueness on employee ID';
243243
COMMENT ON LANGUAGE plpython IS 'Python support for stored procedures';
244244
COMMENT ON LARGE OBJECT 346344 IS 'Planning document';
245245
COMMENT ON OPERATOR ^ (text, text) IS 'Performs intersection of two texts';
246-
COMMENT ON OPERATOR ^ (NONE, text) IS 'This is a prefix operator on text';
246+
COMMENT ON OPERATOR - (NONE, text) IS 'This is a prefix operator on text';
247247
COMMENT ON OPERATOR CLASS int4ops USING btree IS '4 byte integer operators for btrees';
248248
COMMENT ON RULE my_rule ON my_table IS 'Logs updates of employee records';
249249
COMMENT ON SCHEMA my_schema IS 'Departmental data';

src/backend/parser/gram.y

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*
1212
*
1313
* IDENTIFICATION
14-
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.491 2005/05/07 02:22:46 momjian Exp $
14+
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.492 2005/06/08 21:15:28 tgl Exp $
1515
*
1616
* HISTORY
1717
* AUTHOR DATE MAJOR EVENT
@@ -6099,14 +6099,6 @@ a_expr: c_expr { $$ = $1; }
60996099
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, $2); }
61006100
| '-' a_expr %prec UMINUS
61016101
{ $$ = doNegate($2); }
6102-
| '%' a_expr
6103-
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", NULL, $2); }
6104-
| '^' a_expr
6105-
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", NULL, $2); }
6106-
| a_expr '%'
6107-
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", $1, NULL); }
6108-
| a_expr '^'
6109-
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", $1, NULL); }
61106102
| a_expr '+' a_expr
61116103
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", $1, $3); }
61126104
| a_expr '-' a_expr
@@ -6468,14 +6460,6 @@ b_expr: c_expr
64686460
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, $2); }
64696461
| '-' b_expr %prec UMINUS
64706462
{ $$ = doNegate($2); }
6471-
| '%' b_expr
6472-
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", NULL, $2); }
6473-
| '^' b_expr
6474-
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", NULL, $2); }
6475-
| b_expr '%'
6476-
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", $1, NULL); }
6477-
| b_expr '^'
6478-
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", $1, NULL); }
64796463
| b_expr '+' b_expr
64806464
{ $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", $1, $3); }
64816465
| b_expr '-' b_expr

src/include/catalog/pg_operator.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
99
* Portions Copyright (c) 1994, Regents of the University of California
1010
*
11-
* $PostgreSQL: pgsql/src/include/catalog/pg_operator.h,v 1.132 2005/05/30 20:59:17 momjian Exp $
11+
* $PostgreSQL: pgsql/src/include/catalog/pg_operator.h,v 1.133 2005/06/08 21:15:28 tgl Exp $
1212
*
1313
* NOTES
1414
* the genbki.sh script reads this file and generates .bki
@@ -259,8 +259,6 @@ DATA(insert OID = 594 ( "*" PGNSP PGUID b f 701 701 701 594 0 0 0 0 0 f
259259
DATA(insert OID = 595 ( "@" PGNSP PGUID l f 0 701 701 0 0 0 0 0 0 float8abs - - ));
260260
DATA(insert OID = 596 ( "|/" PGNSP PGUID l f 0 701 701 0 0 0 0 0 0 dsqrt - - ));
261261
DATA(insert OID = 597 ( "||/" PGNSP PGUID l f 0 701 701 0 0 0 0 0 0 dcbrt - - ));
262-
DATA(insert OID = 598 ( "%" PGNSP PGUID l f 0 701 701 0 0 0 0 0 0 dtrunc - - ));
263-
DATA(insert OID = 599 ( "%" PGNSP PGUID r f 701 0 701 0 0 0 0 0 0 dround - - ));
264262
DATA(insert OID = 1284 ( "|" PGNSP PGUID l f 0 704 702 0 0 0 0 0 0 tintervalstart - - ));
265263
DATA(insert OID = 606 ( "<#>" PGNSP PGUID b f 702 702 704 0 0 0 0 0 0 mktinterval - - ));
266264
DATA(insert OID = 607 ( "=" PGNSP PGUID b t 26 26 16 607 608 609 609 609 610 oideq eqsel eqjoinsel ));

src/test/regress/expected/float8-exp-three-digits-win32.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ SELECT '' AS five, f.f1, @f.f1 AS abs_f1
204204
(5 rows)
205205

206206
-- truncate
207-
SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
207+
SELECT '' AS five, f.f1, trunc(f.f1) AS trunc_f1
208208
FROM FLOAT8_TBL f;
209209
five | f1 | trunc_f1
210210
------+----------------------+----------------------
@@ -216,7 +216,7 @@ SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
216216
(5 rows)
217217

218218
-- round
219-
SELECT '' AS five, f.f1, f.f1 % AS round_f1
219+
SELECT '' AS five, f.f1, round(f.f1) AS round_f1
220220
FROM FLOAT8_TBL f;
221221
five | f1 | round_f1
222222
------+----------------------+----------------------

src/test/regress/expected/float8-exp-three-digits.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ SELECT '' AS five, f.f1, @f.f1 AS abs_f1
203203
(5 rows)
204204

205205
-- truncate
206-
SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
206+
SELECT '' AS five, f.f1, trunc(f.f1) AS trunc_f1
207207
FROM FLOAT8_TBL f;
208208
five | f1 | trunc_f1
209209
------+----------------------+----------------------
@@ -215,7 +215,7 @@ SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
215215
(5 rows)
216216

217217
-- round
218-
SELECT '' AS five, f.f1, f.f1 % AS round_f1
218+
SELECT '' AS five, f.f1, round(f.f1) AS round_f1
219219
FROM FLOAT8_TBL f;
220220
five | f1 | round_f1
221221
------+----------------------+----------------------

src/test/regress/expected/float8-small-is-zero.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ SELECT '' AS five, f.f1, @f.f1 AS abs_f1
212212
(5 rows)
213213

214214
-- truncate
215-
SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
215+
SELECT '' AS five, f.f1, trunc(f.f1) AS trunc_f1
216216
FROM FLOAT8_TBL f;
217217
five | f1 | trunc_f1
218218
------+----------------------+----------------------
@@ -224,7 +224,7 @@ SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
224224
(5 rows)
225225

226226
-- round
227-
SELECT '' AS five, f.f1, f.f1 % AS round_f1
227+
SELECT '' AS five, f.f1, round(f.f1) AS round_f1
228228
FROM FLOAT8_TBL f;
229229
five | f1 | round_f1
230230
------+----------------------+----------------------

src/test/regress/expected/float8-small-is-zero_1.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ SELECT '' AS five, f.f1, @f.f1 AS abs_f1
212212
(5 rows)
213213

214214
-- truncate
215-
SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
215+
SELECT '' AS five, f.f1, trunc(f.f1) AS trunc_f1
216216
FROM FLOAT8_TBL f;
217217
five | f1 | trunc_f1
218218
------+----------------------+----------------------
@@ -224,7 +224,7 @@ SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
224224
(5 rows)
225225

226226
-- round
227-
SELECT '' AS five, f.f1, f.f1 % AS round_f1
227+
SELECT '' AS five, f.f1, round(f.f1) AS round_f1
228228
FROM FLOAT8_TBL f;
229229
five | f1 | round_f1
230230
------+----------------------+----------------------

src/test/regress/expected/float8.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ SELECT '' AS five, f.f1, @f.f1 AS abs_f1
204204
(5 rows)
205205

206206
-- truncate
207-
SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
207+
SELECT '' AS five, f.f1, trunc(f.f1) AS trunc_f1
208208
FROM FLOAT8_TBL f;
209209
five | f1 | trunc_f1
210210
------+----------------------+----------------------
@@ -216,7 +216,7 @@ SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
216216
(5 rows)
217217

218218
-- round
219-
SELECT '' AS five, f.f1, f.f1 % AS round_f1
219+
SELECT '' AS five, f.f1, round(f.f1) AS round_f1
220220
FROM FLOAT8_TBL f;
221221
five | f1 | round_f1
222222
------+----------------------+----------------------

src/test/regress/sql/float8.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@ SELECT '' AS five, f.f1, @f.f1 AS abs_f1
7979
FROM FLOAT8_TBL f;
8080

8181
-- truncate
82-
SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
82+
SELECT '' AS five, f.f1, trunc(f.f1) AS trunc_f1
8383
FROM FLOAT8_TBL f;
8484

8585
-- round
86-
SELECT '' AS five, f.f1, f.f1 % AS round_f1
86+
SELECT '' AS five, f.f1, round(f.f1) AS round_f1
8787
FROM FLOAT8_TBL f;
8888

8989
-- ceil / ceiling

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy