Clean up references to SQL92

In most cases, these were just references to the SQL standard in
general.  In a few cases, a contrast was made between SQL92 and later
standards -- those have been kept unchanged.
This commit is contained in:
Peter Eisentraut 2013-04-20 11:04:41 -04:00
parent 6e481ebff6
commit cc26ea9fe2
25 changed files with 65 additions and 67 deletions

View File

@ -92,10 +92,10 @@ validOperatorName(const char *name)
return false;
/*
* For SQL92 compatibility, '+' and '-' cannot be the last char of a
* For SQL standard compatibility, '+' and '-' cannot be the last char of a
* multi-char operator unless the operator contains chars that are not in
* SQL92 operators. The idea is to lex '=-' as two operators, but not to
* forbid operator names like '?-' that could not be sequences of SQL92
* SQL operators. The idea is to lex '=-' as two operators, but not to
* forbid operator names like '?-' that could not be sequences of standard SQL
* operators.
*/
if (len > 1 &&

View File

@ -1618,7 +1618,7 @@ ExecRelCheck(ResultRelInfo *resultRelInfo,
qual = resultRelInfo->ri_ConstraintExprs[i];
/*
* NOTE: SQL92 specifies that a NULL result from a constraint
* NOTE: SQL specifies that a NULL result from a constraint
* expression is not to be treated as a failure. Therefore, tell
* ExecQual to return TRUE for NULL.
*/

View File

@ -21,8 +21,6 @@
* NOTES
* CAPITALS are used to represent terminal symbols.
* non-capitals are used to represent non-terminals.
* SQL92-specific syntax is separated from plain SQL/Postgres syntax
* to help isolate the non-extensible portions of the parser.
*
* In general, nothing in this file should initiate database accesses
* nor depend on changeable state (such as SET variables). If you do
@ -1281,7 +1279,7 @@ schema_stmt:
*
* Set PG internal variable
* SET name TO 'var_value'
* Include SQL92 syntax (thomas 1997-10-22):
* Include SQL syntax (thomas 1997-10-22):
* SET TIME ZONE 'var_value'
*
*****************************************************************************/
@ -2780,7 +2778,7 @@ ColConstraint:
* to make it explicit.
* - thomas 1998-09-13
*
* WITH NULL and NULL are not SQL92-standard syntax elements,
* WITH NULL and NULL are not SQL-standard syntax elements,
* so leave them out. Use DEFAULT NULL to explicitly indicate
* that a column may have that value. WITH NULL leads to
* shift/reduce conflicts with WITH TIME ZONE anyway.
@ -9159,7 +9157,7 @@ select_clause:
* As with select_no_parens, simple_select cannot have outer parentheses,
* but can have parenthesized subclauses.
*
* Note that sort clauses cannot be included at this level --- SQL92 requires
* Note that sort clauses cannot be included at this level --- SQL requires
* SELECT foo UNION SELECT bar ORDER BY baz
* to be parsed as
* (SELECT foo UNION SELECT bar) ORDER BY baz
@ -9660,7 +9658,7 @@ table_ref: relation_expr opt_alias_clause
/*
* It may seem silly to separate joined_table from table_ref, but there is
* method in SQL92's madness: if you don't do it this way you get reduce-
* method in SQL's madness: if you don't do it this way you get reduce-
* reduce conflicts, because it's not clear to the parser generator whether
* to expect alias_clause after ')' or not. For the same reason we must
* treat 'JOIN' and 'join_type JOIN' separately, rather than allowing
@ -9959,7 +9957,7 @@ TableFuncElement: ColId Typename opt_collate_clause
/*****************************************************************************
*
* Type syntax
* SQL92 introduces a large amount of type-specific syntax.
* SQL introduces a large amount of type-specific syntax.
* Define individual clauses to handle these cases, and use
* the generic case to handle regular type-extensible Postgres syntax.
* - thomas 1997-10-10
@ -10085,7 +10083,7 @@ opt_type_modifiers: '(' expr_list ')' { $$ = $2; }
;
/*
* SQL92 numeric data types
* SQL numeric data types
*/
Numeric: INT_P
{
@ -10175,7 +10173,7 @@ opt_float: '(' Iconst ')'
;
/*
* SQL92 bit-field data types
* SQL bit-field data types
* The following implements BIT() and BIT VARYING().
*/
Bit: BitWithLength
@ -10232,7 +10230,7 @@ BitWithoutLength:
/*
* SQL92 character data types
* SQL character data types
* The following implements CHAR() and VARCHAR().
*/
Character: CharacterWithLength
@ -10329,7 +10327,7 @@ opt_charset:
;
/*
* SQL92 date/time types
* SQL date/time types
*/
ConstDatetime:
TIMESTAMP '(' Iconst ')' opt_timezone
@ -10661,7 +10659,7 @@ a_expr: c_expr { $$ = $1; }
}
/* NullTest clause
* Define SQL92-style Null test clause.
* Define SQL-style Null test clause.
* Allow two forms described in the standard:
* a IS NULL
* a IS NOT NULL
@ -11189,7 +11187,7 @@ func_expr: func_name '(' ')' over_clause
/*
* We consider AGGREGATE(*) to invoke a parameterless
* aggregate. This does the right thing for COUNT(*),
* and there are no other aggregates in SQL92 that accept
* and there are no other aggregates in SQL that accept
* '*' as parameter.
*
* The FuncCall node is also marked agg_star = true,
@ -11505,7 +11503,7 @@ func_expr: func_name '(' ')' over_clause
}
| TRIM '(' BOTH trim_list ')'
{
/* various trim expressions are defined in SQL92
/* various trim expressions are defined in SQL
* - thomas 1997-07-19
*/
FuncCall *n = makeNode(FuncCall);
@ -12208,7 +12206,7 @@ in_expr: select_with_parens
;
/*
* Define SQL92-style case clause.
* Define SQL-style CASE clause.
* - Full specification
* CASE WHEN a = b THEN c ... ELSE d END
* - Implicit argument

View File

@ -70,7 +70,7 @@ static bool isQueryUsingTempRelation_walker(Node *node, void *context);
* that (a) has no alias and (b) is for the same relation identified by
* schemaname.refname. In this case we convert schemaname.refname to a
* relation OID and search by relid, rather than by alias name. This is
* peculiar, but it's what SQL92 says to do.
* peculiar, but it's what SQL says to do.
*/
RangeTblEntry *
refnameRangeTblEntry(ParseState *pstate,
@ -353,7 +353,7 @@ searchRangeTableForRel(ParseState *pstate, RangeVar *relation)
* Note: we assume that each given argument does not contain conflicts
* itself; we just want to know if the two can be merged together.
*
* Per SQL92, two alias-less plain relation RTEs do not conflict even if
* Per SQL, two alias-less plain relation RTEs do not conflict even if
* they have the same eref->aliasname (ie, same relation name), if they
* are for different relation OIDs (implying they are in different schemas).
*
@ -389,7 +389,7 @@ checkNameSpaceConflicts(ParseState *pstate, List *namespace1,
if (rte1->rtekind == RTE_RELATION && rte1->alias == NULL &&
rte2->rtekind == RTE_RELATION && rte2->alias == NULL &&
rte1->relid != rte2->relid)
continue; /* no conflict per SQL92 rule */
continue; /* no conflict per SQL rule */
ereport(ERROR,
(errcode(ERRCODE_DUPLICATE_ALIAS),
errmsg("table name \"%s\" specified more than once",

View File

@ -133,7 +133,7 @@ static void setSchemaName(char *context_schema, char **stmt_schema_name);
* will be the transformed CreateStmt, but there may be additional actions
* to be done before and after the actual DefineRelation() call.
*
* SQL92 allows constraints to be scattered all over, so thumb through
* SQL allows constraints to be scattered all over, so thumb through
* the columns and collect all constraints into one place.
* If there are any implied indices (e.g. UNIQUE or PRIMARY KEY)
* then expand those into multiple IndexStmt blocks.
@ -1405,7 +1405,7 @@ transformIndexConstraints(CreateStmtContext *cxt)
/*
* Scan the index list and remove any redundant index specifications. This
* can happen if, for instance, the user writes UNIQUE PRIMARY KEY. A
* strict reading of SQL92 would suggest raising an error instead, but
* strict reading of SQL would suggest raising an error instead, but
* that strikes me as too anal-retentive. - tgl 2001-02-14
*
* XXX in ALTER TABLE case, it'd be nice to look for duplicate
@ -2691,7 +2691,7 @@ transformColumnType(CreateStmtContext *cxt, ColumnDef *column)
* that the logic we use for determining forward references is
* presently quite incomplete.
*
* SQL92 also allows constraints to make forward references, so thumb through
* SQL also allows constraints to make forward references, so thumb through
* the table columns and move forward references to a posterior alter-table
* command.
*

View File

@ -1603,7 +1603,7 @@ DoPortalRunFetch(Portal portal,
forward = (fdirection == FETCH_FORWARD);
/*
* Zero count means to re-fetch the current row, if any (per SQL92)
* Zero count means to re-fetch the current row, if any (per SQL)
*/
if (count == 0)
{

View File

@ -1,7 +1,7 @@
/*-------------------------------------------------------------------------
*
* date.c
* implements DATE and TIME data types specified in SQL-92 standard
* implements DATE and TIME data types specified in SQL standard
*
* Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
* Portions Copyright (c) 1994-5, Regents of the University of California
@ -1403,9 +1403,9 @@ time_smaller(PG_FUNCTION_ARGS)
PG_RETURN_TIMEADT((time1 < time2) ? time1 : time2);
}
/* overlaps_time() --- implements the SQL92 OVERLAPS operator.
/* overlaps_time() --- implements the SQL OVERLAPS operator.
*
* Algorithm is per SQL92 spec. This is much harder than you'd think
* Algorithm is per SQL spec. This is much harder than you'd think
* because the spec requires us to deliver a non-null answer in some cases
* where some of the inputs are null.
*/
@ -2273,9 +2273,9 @@ timetz_mi_interval(PG_FUNCTION_ARGS)
PG_RETURN_TIMETZADT_P(result);
}
/* overlaps_timetz() --- implements the SQL92 OVERLAPS operator.
/* overlaps_timetz() --- implements the SQL OVERLAPS operator.
*
* Algorithm is per SQL92 spec. This is much harder than you'd think
* Algorithm is per SQL spec. This is much harder than you'd think
* because the spec requires us to deliver a non-null answer in some cases
* where some of the inputs are null.
*/

View File

@ -1558,8 +1558,8 @@ overflow:
* Returns 0 if successful, DTERR code if bogus input detected.
*
* Note that support for time zone is here for
* SQL92 TIME WITH TIME ZONE, but it reveals
* bogosity with SQL92 date/time standards, since
* SQL TIME WITH TIME ZONE, but it reveals
* bogosity with SQL date/time standards, since
* we must infer a time zone from current time.
* - thomas 2000-03-10
* Allow specifying date to get a better time zone,

View File

@ -1922,7 +1922,7 @@ float8_avg(PG_FUNCTION_ARGS)
sumX = transvalues[1];
/* ignore sumX2 */
/* SQL92 defines AVG of no values to be NULL */
/* SQL defines AVG of no values to be NULL */
if (N == 0.0)
PG_RETURN_NULL();

View File

@ -42,7 +42,7 @@
*
* Keith Parks. <keith@mtcc.demon.co.uk>
*
* SQL92 lets you specify the escape character by saying
* SQL lets you specify the escape character by saying
* LIKE <pattern> ESCAPE <escape character>. We are a small operation
* so we force you to use '\'. - ay 7/95
*

View File

@ -2645,7 +2645,7 @@ numeric_avg(PG_FUNCTION_ARGS)
N = DatumGetNumeric(transdatums[0]);
sumX = DatumGetNumeric(transdatums[1]);
/* SQL92 defines AVG of no values to be NULL */
/* SQL defines AVG of no values to be NULL */
/* N is zero iff no digits (cf. numeric_uminus) */
if (NUMERIC_NDIGITS(N) == 0)
PG_RETURN_NULL();
@ -2824,7 +2824,7 @@ numeric_stddev_pop(PG_FUNCTION_ARGS)
* purposes. (The latter two therefore don't really belong in this file,
* but we keep them here anyway.)
*
* Because SQL92 defines the SUM() of no values to be NULL, not zero,
* Because SQL defines the SUM() of no values to be NULL, not zero,
* the initial condition of the transition data value needs to be NULL. This
* means we can't rely on ExecAgg to automatically insert the first non-null
* data value into the transition data: it doesn't know how to do the type
@ -3046,7 +3046,7 @@ int8_avg(PG_FUNCTION_ARGS)
elog(ERROR, "expected 2-element int8 array");
transdata = (Int8TransTypeData *) ARR_DATA_PTR(transarray);
/* SQL92 defines AVG of no values to be NULL */
/* SQL defines AVG of no values to be NULL */
if (transdata->count == 0)
PG_RETURN_NULL();

View File

@ -1,7 +1,7 @@
/*-------------------------------------------------------------------------
*
* timestamp.c
* Functions for the built-in SQL92 types "timestamp" and "interval".
* Functions for the built-in SQL types "timestamp" and "interval".
*
* Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
@ -2276,9 +2276,9 @@ interval_hash(PG_FUNCTION_ARGS)
#endif
}
/* overlaps_timestamp() --- implements the SQL92 OVERLAPS operator.
/* overlaps_timestamp() --- implements the SQL OVERLAPS operator.
*
* Algorithm is per SQL92 spec. This is much harder than you'd think
* Algorithm is per SQL spec. This is much harder than you'd think
* because the spec requires us to deliver a non-null answer in some cases
* where some of the inputs are null.
*/
@ -3129,7 +3129,7 @@ interval_avg(PG_FUNCTION_ARGS)
memcpy((void *) &sumX, DatumGetPointer(transdatums[0]), sizeof(Interval));
memcpy((void *) &N, DatumGetPointer(transdatums[1]), sizeof(Interval));
/* SQL92 defines AVG of no values to be NULL */
/* SQL defines AVG of no values to be NULL */
if (N.time == 0)
PG_RETURN_NULL();

View File

@ -720,18 +720,18 @@ charlen_to_bytelen(const char *p, int n)
* - string length
*
* If the starting position is zero or less, then return from the start of the string
* adjusting the length to be consistent with the "negative start" per SQL92.
* adjusting the length to be consistent with the "negative start" per SQL.
* If the length is less than zero, return the remaining string.
*
* Added multibyte support.
* - Tatsuo Ishii 1998-4-21
* Changed behavior if starting position is less than one to conform to SQL92 behavior.
* Changed behavior if starting position is less than one to conform to SQL behavior.
* Formerly returned the entire string; now returns a portion.
* - Thomas Lockhart 1998-12-10
* Now uses faster TOAST-slicing interface
* - John Gray 2002-02-22
* Remove "#ifdef MULTIBYTE" and test for encoding_max_length instead. Change
* behaviors conflicting with SQL92 to meet SQL92 (if E = S + L < S throw
* behaviors conflicting with SQL to meet SQL (if E = S + L < S throw
* error; if E < 1, return '', not entire string). Fixed MB related bug when
* S > LC and < LC + 4 sometimes garbage characters are returned.
* - Joe Conway 2002-08-10
@ -1023,7 +1023,7 @@ text_overlay(text *t1, text *t2, int sp, int sl)
/*
* textpos -
* Return the position of the specified substring.
* Implements the SQL92 POSITION() function.
* Implements the SQL POSITION() function.
* Ref: A Guide To The SQL Standard, Date & Darwen, 1997
* - thomas 1997-07-27
*/
@ -1903,7 +1903,7 @@ bytea_catenate(bytea *t1, bytea *t2)
* - string length (optional)
*
* If the starting position is zero or less, then return from the start of the string
* adjusting the length to be consistent with the "negative start" per SQL92.
* adjusting the length to be consistent with the "negative start" per SQL.
* If the length is less than zero, an ERROR is thrown. If no third argument
* (length) is provided, the length to the end of the string is assumed.
*/
@ -2046,7 +2046,7 @@ bytea_overlay(bytea *t1, bytea *t2, int sp, int sl)
/*
* byteapos -
* Return the position of the specified substring.
* Implements the SQL92 POSITION() function.
* Implements the SQL POSITION() function.
* Cloned from textpos and modified as required.
*/
Datum

View File

@ -1509,7 +1509,7 @@ typedef struct CreateStmt
typedef enum ConstrType /* types of constraints */
{
CONSTR_NULL, /* not SQL92, but a lot of people expect it */
CONSTR_NULL, /* not standard SQL, but a lot of people expect it */
CONSTR_NOTNULL,
CONSTR_DEFAULT,
CONSTR_CHECK,

View File

@ -1,7 +1,7 @@
/*-------------------------------------------------------------------------
*
* date.h
* Definitions for the SQL92 "date" and "time" types.
* Definitions for the SQL "date" and "time" types.
*
*
* Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group

View File

@ -1,7 +1,7 @@
/*-------------------------------------------------------------------------
*
* timestamp.h
* Definitions for the SQL92 "timestamp" and "interval" types.
* Definitions for the SQL "timestamp" and "interval" types.
*
* Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California

View File

@ -269,7 +269,7 @@ param \${integer}
* In order to make the world safe for Windows and Mac clients as well as
* Unix ones, we accept either \n or \r as a newline. A DOS-style \r\n
* sequence will be seen as two successive newlines, but that doesn't cause
* any problems. SQL92-style comments, which start with -- and extend to the
* any problems. SQL-style comments, which start with -- and extend to the
* next newline, are treated as equivalent to a single whitespace character.
*
* NOTE a fine point: if there is no newline following --, we will absorb
@ -295,7 +295,7 @@ comment ("--"{non_newline}*)
whitespace ({space}+|{comment})
/*
* SQL92 requires at least one newline in the whitespace separating
* SQL requires at least one newline in the whitespace separating
* string literals that are to be concatenated. Silly, but who are we
* to argue? Note that {whitespace_with_newline} should not have * after
* it, whereas {whitespace} should generally have a * after it...

View File

@ -366,7 +366,7 @@ SELECT '' AS tf_12_ff_4, BOOLTBL1.*, BOOLTBL2.*
(16 rows)
--
-- SQL92 syntax
-- SQL syntax
-- Try all combinations to ensure that we get nothing when we expect nothing
-- - thomas 2000-01-04
--

View File

@ -163,7 +163,7 @@ SELECT '' AS "Five",
--
-- NULLIF() and COALESCE()
-- Shorthand forms for typical CASE constructs
-- defined in the SQL92 standard.
-- defined in the SQL standard.
--
SELECT * FROM CASE_TBL WHERE COALESCE(f,i) = 4;
i | f

View File

@ -2,7 +2,7 @@
-- STRINGS
-- Test various data entry syntaxes.
--
-- SQL92 string continuation syntax
-- SQL string continuation syntax
-- E021-03 character string literals
SELECT 'first line'
' - next line'
@ -272,7 +272,7 @@ SELECT CAST(name 'namefield' AS varchar) AS "varchar(name)";
(1 row)
--
-- test SQL92 string functions
-- test SQL string functions
-- E### and T### are feature reference numbers from SQL99
--
-- E021-09 trim function
@ -1076,7 +1076,7 @@ alter table toasttest alter column f1 set storage external;
insert into toasttest values(repeat('1234567890',10000));
insert into toasttest values(repeat('1234567890',10000));
-- If the starting position is zero or less, then return from the start of the string
-- adjusting the length to be consistent with the "negative start" per SQL92.
-- adjusting the length to be consistent with the "negative start" per SQL.
SELECT substr(f1, -1, 5) from toasttest;
substr
--------
@ -1126,7 +1126,7 @@ alter table toasttest alter column f1 set storage external;
insert into toasttest values(decode(repeat('1234567890',10000),'escape'));
insert into toasttest values(decode(repeat('1234567890',10000),'escape'));
-- If the starting position is zero or less, then return from the start of the string
-- adjusting the length to be consistent with the "negative start" per SQL92.
-- adjusting the length to be consistent with the "negative start" per SQL.
SELECT substr(f1, -1, 5) from toasttest;
substr
--------

View File

@ -119,7 +119,7 @@ INSERT INTO INSERT_TBL(y) VALUES ('Y');
SELECT 'eight' AS one, currval('insert_seq');
-- According to SQL92, it is OK to insert a record that gives rise to NULL
-- According to SQL, it is OK to insert a record that gives rise to NULL
-- constraint-condition results. Postgres used to reject this, but it
-- was wrong:
INSERT INTO INSERT_TBL VALUES (null, null, null);

View File

@ -188,7 +188,7 @@ SELECT 'eight' AS one, currval('insert_seq');
eight | 8
(1 row)
-- According to SQL92, it is OK to insert a record that gives rise to NULL
-- According to SQL, it is OK to insert a record that gives rise to NULL
-- constraint-condition results. Postgres used to reject this, but it
-- was wrong:
INSERT INTO INSERT_TBL VALUES (null, null, null);

View File

@ -164,7 +164,7 @@ SELECT '' AS tf_12_ff_4, BOOLTBL1.*, BOOLTBL2.*
ORDER BY BOOLTBL1.f1, BOOLTBL2.f1;
--
-- SQL92 syntax
-- SQL syntax
-- Try all combinations to ensure that we get nothing when we expect nothing
-- - thomas 2000-01-04
--

View File

@ -110,7 +110,7 @@ SELECT '' AS "Five",
--
-- NULLIF() and COALESCE()
-- Shorthand forms for typical CASE constructs
-- defined in the SQL92 standard.
-- defined in the SQL standard.
--
SELECT * FROM CASE_TBL WHERE COALESCE(f,i) = 4;

View File

@ -3,7 +3,7 @@
-- Test various data entry syntaxes.
--
-- SQL92 string continuation syntax
-- SQL string continuation syntax
-- E021-03 character string literals
SELECT 'first line'
' - next line'
@ -92,7 +92,7 @@ SELECT CAST(f1 AS varchar) AS "varchar(char)" FROM CHAR_TBL;
SELECT CAST(name 'namefield' AS varchar) AS "varchar(name)";
--
-- test SQL92 string functions
-- test SQL string functions
-- E### and T### are feature reference numbers from SQL99
--
@ -345,7 +345,7 @@ insert into toasttest values(repeat('1234567890',10000));
insert into toasttest values(repeat('1234567890',10000));
-- If the starting position is zero or less, then return from the start of the string
-- adjusting the length to be consistent with the "negative start" per SQL92.
-- adjusting the length to be consistent with the "negative start" per SQL.
SELECT substr(f1, -1, 5) from toasttest;
-- If the length is less than zero, an ERROR is thrown.
@ -378,7 +378,7 @@ insert into toasttest values(decode(repeat('1234567890',10000),'escape'));
insert into toasttest values(decode(repeat('1234567890',10000),'escape'));
-- If the starting position is zero or less, then return from the start of the string
-- adjusting the length to be consistent with the "negative start" per SQL92.
-- adjusting the length to be consistent with the "negative start" per SQL.
SELECT substr(f1, -1, 5) from toasttest;
-- If the length is less than zero, an ERROR is thrown.