mirror of
https://github.com/postgres/postgres.git
synced 2025-07-12 21:01:52 +03:00
TABLE command
This commit is contained in:
@ -280,7 +280,7 @@ F591 Derived tables YES
|
||||
F611 Indicator data types YES
|
||||
F641 Row and table constructors NO
|
||||
F651 Catalog name qualifiers YES
|
||||
F661 Simple tables NO
|
||||
F661 Simple tables YES
|
||||
F671 Subqueries in CHECK NO intentionally omitted
|
||||
F672 Retrospective check constraints YES
|
||||
F690 Collation support NO
|
||||
|
@ -11,7 +11,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.637 2008/11/13 11:10:06 meskes Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.638 2008/11/20 14:04:46 petere Exp $
|
||||
*
|
||||
* HISTORY
|
||||
* AUTHOR DATE MAJOR EVENT
|
||||
@ -6431,6 +6431,28 @@ simple_select:
|
||||
$$ = (Node *)n;
|
||||
}
|
||||
| values_clause { $$ = $1; }
|
||||
| TABLE qualified_name
|
||||
{
|
||||
/* same as SELECT * FROM qualified_name */
|
||||
ColumnRef *cr = makeNode(ColumnRef);
|
||||
ResTarget *rt = makeNode(ResTarget);
|
||||
SelectStmt *n = makeNode(SelectStmt);
|
||||
|
||||
cr->fields = list_make1(makeNode(A_Star));
|
||||
cr->location = -1;
|
||||
|
||||
rt->name = NULL;
|
||||
rt->indirection = NIL;
|
||||
rt->val = (Node *)cr;
|
||||
rt->location = -1;
|
||||
|
||||
$2->inhOpt = INH_DEFAULT;
|
||||
$2->alias = NULL;
|
||||
|
||||
n->targetList = list_make1(rt);
|
||||
n->fromClause = list_make1($2);
|
||||
$$ = (Node *)n;
|
||||
}
|
||||
| select_clause UNION opt_all select_clause
|
||||
{
|
||||
$$ = makeSetOp(SETOP_UNION, $3, $1, $4);
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2008, PostgreSQL Global Development Group
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.176 2008/11/11 02:42:32 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.177 2008/11/20 14:04:46 petere Exp $
|
||||
*/
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
@ -615,7 +615,7 @@ psql_completion(char *text, int start, int end)
|
||||
"DELETE FROM", "DISCARD", "DROP", "END", "EXECUTE", "EXPLAIN", "FETCH",
|
||||
"GRANT", "INSERT", "LISTEN", "LOAD", "LOCK", "MOVE", "NOTIFY", "PREPARE",
|
||||
"REASSIGN", "REINDEX", "RELEASE", "RESET", "REVOKE", "ROLLBACK",
|
||||
"SAVEPOINT", "SELECT", "SET", "SHOW", "START", "TRUNCATE", "UNLISTEN",
|
||||
"SAVEPOINT", "SELECT", "SET", "SHOW", "START", "TABLE", "TRUNCATE", "UNLISTEN",
|
||||
"UPDATE", "VACUUM", "VALUES", "WITH", NULL
|
||||
};
|
||||
|
||||
@ -1694,24 +1694,24 @@ psql_completion(char *text, int start, int end)
|
||||
COMPLETE_WITH_ATTR(prev_wd, "");
|
||||
|
||||
/*
|
||||
* Complete INSERT INTO <table> with "VALUES" or "SELECT" or "DEFAULT
|
||||
* VALUES"
|
||||
* Complete INSERT INTO <table> with "VALUES" or "SELECT" or
|
||||
* "TABLE" or "DEFAULT VALUES"
|
||||
*/
|
||||
else if (pg_strcasecmp(prev3_wd, "INSERT") == 0 &&
|
||||
pg_strcasecmp(prev2_wd, "INTO") == 0)
|
||||
{
|
||||
static const char *const list_INSERT[] =
|
||||
{"DEFAULT VALUES", "SELECT", "VALUES", NULL};
|
||||
{"DEFAULT VALUES", "SELECT", "TABLE", "VALUES", NULL};
|
||||
|
||||
COMPLETE_WITH_LIST(list_INSERT);
|
||||
}
|
||||
/* Complete INSERT INTO <table> (attribs) with "VALUES" or "SELECT" */
|
||||
/* Complete INSERT INTO <table> (attribs) with "VALUES" or "SELECT" or "TABLE" */
|
||||
else if (pg_strcasecmp(prev4_wd, "INSERT") == 0 &&
|
||||
pg_strcasecmp(prev3_wd, "INTO") == 0 &&
|
||||
prev_wd[strlen(prev_wd) - 1] == ')')
|
||||
{
|
||||
static const char *const list_INSERT[] =
|
||||
{"SELECT", "VALUES", NULL};
|
||||
{"SELECT", "TABLE", "VALUES", NULL};
|
||||
|
||||
COMPLETE_WITH_LIST(list_INSERT);
|
||||
}
|
||||
|
@ -506,7 +506,7 @@ VALUES (1,2), (3,4+4), (7,77.7)
|
||||
UNION ALL
|
||||
SELECT 2+2, 57
|
||||
UNION ALL
|
||||
SELECT * FROM int8_tbl;
|
||||
TABLE int8_tbl;
|
||||
column1 | column2
|
||||
------------------+-------------------
|
||||
1 | 2
|
||||
|
@ -146,7 +146,7 @@ VALUES (1,2), (3,4+4), (7,77.7)
|
||||
UNION ALL
|
||||
SELECT 2+2, 57
|
||||
UNION ALL
|
||||
SELECT * FROM int8_tbl;
|
||||
TABLE int8_tbl;
|
||||
|
||||
--
|
||||
-- Test ORDER BY options
|
||||
|
Reference in New Issue
Block a user