Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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

+2-2
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

+1-17
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

+1-3
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

+2-2
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

+2-2
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

+2-2
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

+2-2
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

+2-2
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

+2-2
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)