mirror of
https://github.com/postgres/postgres.git
synced 2025-04-25 21:42:33 +03:00
Attached is a new patch which addresses this problem. (oids in
regression tests). Chris Bitmead
This commit is contained in:
parent
6fb9d2e347
commit
80c646958a
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/inherit.sgml,v 1.10 2000/06/22 22:31:15 petere Exp $
|
||||
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/inherit.sgml,v 1.11 2000/07/02 22:00:23 momjian Exp $
|
||||
-->
|
||||
|
||||
<chapter id="inherit">
|
||||
@ -96,6 +96,57 @@ CREATE TABLE capitals UNDER cities (
|
||||
<command>UPDATE</command> and <command>DELETE</command> --
|
||||
support this <quote>ONLY</quote> notation.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In some cases you may wish to know which table a particular tuple
|
||||
originated from. There is a system attribute called
|
||||
<quote>TABLEOID</quote> in each table which can tell you the
|
||||
originating table:
|
||||
|
||||
<programlisting>
|
||||
SELECT c.tableoid, c.name, c.altitude
|
||||
FROM cities c
|
||||
WHERE c.altitude > 500;
|
||||
</programlisting>
|
||||
|
||||
which returns:
|
||||
|
||||
<programlisting>
|
||||
+---------+----------+----------+
|
||||
|tableoid |name | altitude |
|
||||
+---------+----------+----------+
|
||||
|37292 |Las Vegas | 2174 |
|
||||
+---------+----------+----------+
|
||||
|37280 |Mariposa | 1953 |
|
||||
+---------+----------+----------+
|
||||
|37280 |Madison | 845 |
|
||||
+---------+----------+----------+
|
||||
</programlisting>
|
||||
|
||||
If you do a join with pg_class you can see the actual table name:
|
||||
|
||||
<programlisting>
|
||||
SELECT p.relname, c.name, c.altitude
|
||||
FROM cities c, pg_class p
|
||||
WHERE c.altitude > 500 and c.tableoid = p.oid;
|
||||
</programlisting>
|
||||
|
||||
which returns:
|
||||
|
||||
<programlisting>
|
||||
+---------+----------+----------+
|
||||
|relname |name | altitude |
|
||||
+---------+----------+----------+
|
||||
|capitals |Las Vegas | 2174 |
|
||||
+---------+----------+----------+
|
||||
|cities |Mariposa | 1953 |
|
||||
+---------+----------+----------+
|
||||
|cities |Madison | 845 |
|
||||
+---------+----------+----------+
|
||||
</programlisting>
|
||||
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<title>Deprecated</title>
|
||||
<para>
|
||||
|
@ -9,7 +9,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.62 2000/04/12 17:14:36 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.63 2000/07/02 22:00:24 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* The old interface functions have been converted to macros
|
||||
@ -169,6 +169,7 @@ heap_attisnull(HeapTuple tup, int attnum)
|
||||
else
|
||||
switch (attnum)
|
||||
{
|
||||
case TableOidAttributeNumber:
|
||||
case SelfItemPointerAttributeNumber:
|
||||
case ObjectIdAttributeNumber:
|
||||
case MinTransactionIdAttributeNumber:
|
||||
@ -205,6 +206,8 @@ heap_sysattrlen(AttrNumber attno)
|
||||
|
||||
switch (attno)
|
||||
{
|
||||
case TableOidAttributeNumber:
|
||||
return sizeof f->t_oid;
|
||||
case SelfItemPointerAttributeNumber:
|
||||
return sizeof f->t_ctid;
|
||||
case ObjectIdAttributeNumber:
|
||||
@ -237,6 +240,9 @@ heap_sysattrbyval(AttrNumber attno)
|
||||
|
||||
switch (attno)
|
||||
{
|
||||
case TableOidAttributeNumber:
|
||||
byval = true;
|
||||
break;
|
||||
case SelfItemPointerAttributeNumber:
|
||||
byval = false;
|
||||
break;
|
||||
@ -275,6 +281,8 @@ heap_getsysattr(HeapTuple tup, Buffer b, int attnum)
|
||||
{
|
||||
switch (attnum)
|
||||
{
|
||||
case TableOidAttributeNumber:
|
||||
return (Datum) &tup->t_tableoid;
|
||||
case SelfItemPointerAttributeNumber:
|
||||
return (Datum) &tup->t_ctid;
|
||||
case ObjectIdAttributeNumber:
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.73 2000/06/30 16:10:40 petere Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.74 2000/07/02 22:00:27 momjian Exp $
|
||||
*
|
||||
*
|
||||
* INTERFACE ROUTINES
|
||||
@ -236,6 +236,8 @@ heapgettup(Relation relation,
|
||||
ItemPointer tid = (tuple->t_data == NULL) ?
|
||||
(ItemPointer) NULL : &(tuple->t_self);
|
||||
|
||||
tuple->tableOid = relation->rd_id;
|
||||
|
||||
/* ----------------
|
||||
* increment access statistics
|
||||
* ----------------
|
||||
@ -621,6 +623,7 @@ heap_openr(const char *relationName, LOCKMODE lockmode)
|
||||
|
||||
Assert(lockmode >= NoLock && lockmode < MAX_LOCKMODES);
|
||||
|
||||
|
||||
/* ----------------
|
||||
* increment access statistics
|
||||
* ----------------
|
||||
@ -1084,6 +1087,7 @@ heap_fetch(Relation relation,
|
||||
ItemPointer tid = &(tuple->t_self);
|
||||
OffsetNumber offnum;
|
||||
|
||||
tuple->tableOid = relation->rd_id;
|
||||
/* ----------------
|
||||
* increment access statistics
|
||||
* ----------------
|
||||
@ -1178,6 +1182,7 @@ heap_get_latest_tid(Relation relation,
|
||||
bool invalidBlock,
|
||||
linkend;
|
||||
|
||||
tp.tableOid = relation->rd_id;
|
||||
/* ----------------
|
||||
* get the buffer from the relation descriptor
|
||||
* Note that this does a buffer pin.
|
||||
@ -1270,6 +1275,7 @@ heap_insert(Relation relation, HeapTuple tup)
|
||||
* increment access statistics
|
||||
* ----------------
|
||||
*/
|
||||
tup->tableOid = relation->rd_id;
|
||||
IncrHeapAccessStat(local_insert);
|
||||
IncrHeapAccessStat(global_insert);
|
||||
|
||||
@ -1335,6 +1341,7 @@ heap_delete(Relation relation, ItemPointer tid, ItemPointer ctid)
|
||||
Buffer buffer;
|
||||
int result;
|
||||
|
||||
tp.tableOid = relation->rd_id;
|
||||
/* increment access statistics */
|
||||
IncrHeapAccessStat(local_delete);
|
||||
IncrHeapAccessStat(global_delete);
|
||||
@ -1447,6 +1454,7 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup,
|
||||
Buffer buffer;
|
||||
int result;
|
||||
|
||||
newtup->tableOid = relation->rd_id;
|
||||
/* increment access statistics */
|
||||
IncrHeapAccessStat(local_replace);
|
||||
IncrHeapAccessStat(global_replace);
|
||||
@ -1575,6 +1583,7 @@ heap_mark4update(Relation relation, HeapTuple tuple, Buffer *buffer)
|
||||
PageHeader dp;
|
||||
int result;
|
||||
|
||||
tuple->tableOid = relation->rd_id;
|
||||
/* increment access statistics */
|
||||
IncrHeapAccessStat(local_mark4update);
|
||||
IncrHeapAccessStat(global_mark4update);
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.135 2000/07/02 04:46:09 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.136 2000/07/02 22:00:34 momjian Exp $
|
||||
*
|
||||
*
|
||||
* INTERFACE ROUTINES
|
||||
@ -131,12 +131,22 @@ static FormData_pg_attribute a6 = {
|
||||
MaxCommandIdAttributeNumber, 0, -1, -1, '\001', 'p', '\0', 'i', '\0', '\0'
|
||||
};
|
||||
|
||||
static Form_pg_attribute HeapAtt[] = {&a1, &a2, &a3, &a4, &a5, &a6};
|
||||
/*
|
||||
We decide to call this attribute "tableoid" rather than say
|
||||
"classoid" on the basis that in the future there may be more than one
|
||||
table of a particular class/type. In any case table is still the word
|
||||
used in SQL.
|
||||
*/
|
||||
static FormData_pg_attribute a7 = {
|
||||
0xffffffff, {"tableoid"}, OIDOID, 0, sizeof(Oid),
|
||||
TableOidAttributeNumber, 0, -1, -1, '\001', 'p', '\0', 'i', '\0', '\0'
|
||||
};
|
||||
|
||||
static Form_pg_attribute HeapAtt[] = {&a1, &a2, &a3, &a4, &a5, &a6, &a7};
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* XXX END OF UGLY HARD CODED BADNESS XXX
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
* ---------------------------------------------------------------- */
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.44 2000/06/20 01:41:21 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.45 2000/07/02 22:00:41 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -57,6 +57,9 @@ static struct
|
||||
{
|
||||
"cmax", MaxCommandIdAttributeNumber, CIDOID
|
||||
},
|
||||
{
|
||||
"tableoid", TableOidAttributeNumber, OIDOID
|
||||
}
|
||||
};
|
||||
|
||||
#define SPECIALS ((int) (sizeof(special_attr)/sizeof(special_attr[0])))
|
||||
|
4
src/backend/utils/cache/lsyscache.c
vendored
4
src/backend/utils/cache/lsyscache.c
vendored
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/cache/lsyscache.c,v 1.42 2000/06/08 22:37:30 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/cache/lsyscache.c,v 1.43 2000/07/02 22:00:48 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* Eventually, the index information should go through here, too.
|
||||
@ -249,6 +249,8 @@ get_attdisbursion(Oid relid, AttrNumber attnum, double min_estimate)
|
||||
if (attnum == ObjectIdAttributeNumber ||
|
||||
attnum == SelfItemPointerAttributeNumber)
|
||||
return 1.0 / (double) ntuples;
|
||||
if (attnum == TableOidAttributeNumber)
|
||||
return 1.0;
|
||||
|
||||
/*
|
||||
* VACUUM ANALYZE has not been run for this table. Produce an estimate
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: heapam.h,v 1.54 2000/06/30 16:10:49 petere Exp $
|
||||
* $Id: heapam.h,v 1.55 2000/07/02 22:01:00 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -188,11 +188,16 @@ fastgetattr(HeapTuple tup, int attnum, TupleDesc tupleDesc,
|
||||
( \
|
||||
(Datum)((char *)&((tup)->t_self)) \
|
||||
) \
|
||||
: \
|
||||
(((attnum) == TableOidAttributeNumber) ? \
|
||||
( \
|
||||
(Datum)((tup)->tableOid) \
|
||||
) \
|
||||
: \
|
||||
( \
|
||||
(Datum)*(unsigned int *) \
|
||||
((char *)(tup)->t_data + heap_sysoffset[-(attnum)-1]) \
|
||||
) \
|
||||
)) \
|
||||
) \
|
||||
) \
|
||||
)
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: htup.h,v 1.30 2000/06/02 10:20:26 vadim Exp $
|
||||
* $Id: htup.h,v 1.31 2000/07/02 22:01:00 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -133,7 +133,8 @@ typedef struct xl_heap_move
|
||||
#define MinCommandIdAttributeNumber (-4)
|
||||
#define MaxTransactionIdAttributeNumber (-5)
|
||||
#define MaxCommandIdAttributeNumber (-6)
|
||||
#define FirstLowInvalidHeapAttributeNumber (-7)
|
||||
#define TableOidAttributeNumber (-7)
|
||||
#define FirstLowInvalidHeapAttributeNumber (-8)
|
||||
|
||||
/* If you make any changes above, the order off offsets in this must change */
|
||||
extern long heap_sysoffset[];
|
||||
@ -156,6 +157,7 @@ typedef struct HeapTupleData
|
||||
{
|
||||
uint32 t_len; /* length of *t_data */
|
||||
ItemPointerData t_self; /* SelfItemPointer */
|
||||
Oid tableOid; /* */
|
||||
MemoryContext t_datamcxt; /* */
|
||||
HeapTupleHeader t_data; /* */
|
||||
} HeapTupleData;
|
||||
|
@ -8,7 +8,7 @@
|
||||
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: pg_attribute.h,v 1.59 2000/06/12 03:40:52 momjian Exp $
|
||||
* $Id: pg_attribute.h,v 1.60 2000/07/02 22:01:08 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* the genbki.sh script reads this file and generates .bki
|
||||
@ -267,6 +267,7 @@ DATA(insert OID = 0 ( 1247 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1247 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1247 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1247 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1247 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
|
||||
|
||||
/* ----------------
|
||||
* pg_database
|
||||
@ -282,6 +283,7 @@ DATA(insert OID = 0 ( 1262 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1262 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1262 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1262 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1262 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
|
||||
|
||||
/* ----------------
|
||||
* pg_proc
|
||||
@ -329,6 +331,7 @@ DATA(insert OID = 0 ( 1255 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1255 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1255 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1255 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1255 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
|
||||
|
||||
/* ----------------
|
||||
* pg_shadow
|
||||
@ -348,6 +351,7 @@ DATA(insert OID = 0 ( 1260 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1260 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1260 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1260 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1260 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
|
||||
|
||||
/* ----------------
|
||||
* pg_group
|
||||
@ -362,6 +366,7 @@ DATA(insert OID = 0 ( 1261 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1261 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1261 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1261 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1261 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
|
||||
|
||||
/* ----------------
|
||||
* pg_attribute
|
||||
@ -405,6 +410,7 @@ DATA(insert OID = 0 ( 1249 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1249 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1249 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1249 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1249 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
|
||||
|
||||
/* ----------------
|
||||
* pg_class
|
||||
@ -458,6 +464,7 @@ DATA(insert OID = 0 ( 1259 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1259 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1259 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1259 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1259 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
|
||||
|
||||
/* ----------------
|
||||
* pg_attrdef
|
||||
@ -473,6 +480,7 @@ DATA(insert OID = 0 ( 1215 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1215 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1215 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1215 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1215 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
|
||||
|
||||
/* ----------------
|
||||
* pg_relcheck
|
||||
@ -488,6 +496,7 @@ DATA(insert OID = 0 ( 1216 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1216 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1216 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1216 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1216 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
|
||||
|
||||
/* ----------------
|
||||
* pg_trigger
|
||||
@ -513,6 +522,7 @@ DATA(insert OID = 0 ( 1219 xmin 28 0 4 -3 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1219 cmin 29 0 4 -4 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1219 xmax 28 0 4 -5 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1219 cmax 29 0 4 -6 0 -1 -1 t p f i f f));
|
||||
DATA(insert OID = 0 ( 1219 tableoid 26 0 4 -7 0 -1 -1 t p f i f f));
|
||||
|
||||
/* ----------------
|
||||
* pg_variable - this relation is modified by special purpose access
|
||||
|
@ -29,122 +29,122 @@ INSERT INTO d(aa) VALUES('ddddd');
|
||||
INSERT INTO d(aa) VALUES('dddddd');
|
||||
INSERT INTO d(aa) VALUES('ddddddd');
|
||||
INSERT INTO d(aa) VALUES('dddddddd');
|
||||
SELECT * FROM a;
|
||||
aa
|
||||
----------
|
||||
aaa
|
||||
aaaa
|
||||
aaaaa
|
||||
aaaaaa
|
||||
aaaaaaa
|
||||
aaaaaaaa
|
||||
bbb
|
||||
bbbb
|
||||
bbbbb
|
||||
bbbbbb
|
||||
bbbbbbb
|
||||
bbbbbbbb
|
||||
ccc
|
||||
cccc
|
||||
ccccc
|
||||
cccccc
|
||||
ccccccc
|
||||
cccccccc
|
||||
ddd
|
||||
dddd
|
||||
ddddd
|
||||
dddddd
|
||||
ddddddd
|
||||
dddddddd
|
||||
SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
|
||||
relname | aa
|
||||
---------+----------
|
||||
a | aaa
|
||||
a | aaaa
|
||||
a | aaaaa
|
||||
a | aaaaaa
|
||||
a | aaaaaaa
|
||||
a | aaaaaaaa
|
||||
b | bbb
|
||||
b | bbbb
|
||||
b | bbbbb
|
||||
b | bbbbbb
|
||||
b | bbbbbbb
|
||||
b | bbbbbbbb
|
||||
c | ccc
|
||||
c | cccc
|
||||
c | ccccc
|
||||
c | cccccc
|
||||
c | ccccccc
|
||||
c | cccccccc
|
||||
d | ddd
|
||||
d | dddd
|
||||
d | ddddd
|
||||
d | dddddd
|
||||
d | ddddddd
|
||||
d | dddddddd
|
||||
(24 rows)
|
||||
|
||||
SELECT * FROM b;
|
||||
aa | bb
|
||||
----------+----
|
||||
bbb |
|
||||
bbbb |
|
||||
bbbbb |
|
||||
bbbbbb |
|
||||
bbbbbbb |
|
||||
bbbbbbbb |
|
||||
ddd |
|
||||
dddd |
|
||||
ddddd |
|
||||
dddddd |
|
||||
ddddddd |
|
||||
dddddddd |
|
||||
SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
|
||||
relname | aa | bb
|
||||
---------+----------+----
|
||||
b | bbb |
|
||||
b | bbbb |
|
||||
b | bbbbb |
|
||||
b | bbbbbb |
|
||||
b | bbbbbbb |
|
||||
b | bbbbbbbb |
|
||||
d | ddd |
|
||||
d | dddd |
|
||||
d | ddddd |
|
||||
d | dddddd |
|
||||
d | ddddddd |
|
||||
d | dddddddd |
|
||||
(12 rows)
|
||||
|
||||
SELECT * FROM c;
|
||||
aa | cc
|
||||
----------+----
|
||||
ccc |
|
||||
cccc |
|
||||
ccccc |
|
||||
cccccc |
|
||||
ccccccc |
|
||||
cccccccc |
|
||||
ddd |
|
||||
dddd |
|
||||
ddddd |
|
||||
dddddd |
|
||||
ddddddd |
|
||||
dddddddd |
|
||||
SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
|
||||
relname | aa | cc
|
||||
---------+----------+----
|
||||
c | ccc |
|
||||
c | cccc |
|
||||
c | ccccc |
|
||||
c | cccccc |
|
||||
c | ccccccc |
|
||||
c | cccccccc |
|
||||
d | ddd |
|
||||
d | dddd |
|
||||
d | ddddd |
|
||||
d | dddddd |
|
||||
d | ddddddd |
|
||||
d | dddddddd |
|
||||
(12 rows)
|
||||
|
||||
SELECT * FROM d;
|
||||
aa | bb | cc | dd
|
||||
----------+----+----+----
|
||||
ddd | | |
|
||||
dddd | | |
|
||||
ddddd | | |
|
||||
dddddd | | |
|
||||
ddddddd | | |
|
||||
dddddddd | | |
|
||||
SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
|
||||
relname | aa | bb | cc | dd
|
||||
---------+----------+----+----+----
|
||||
d | ddd | | |
|
||||
d | dddd | | |
|
||||
d | ddddd | | |
|
||||
d | dddddd | | |
|
||||
d | ddddddd | | |
|
||||
d | dddddddd | | |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY a;
|
||||
aa
|
||||
----------
|
||||
aaa
|
||||
aaaa
|
||||
aaaaa
|
||||
aaaaaa
|
||||
aaaaaaa
|
||||
aaaaaaaa
|
||||
SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
|
||||
relname | aa
|
||||
---------+----------
|
||||
a | aaa
|
||||
a | aaaa
|
||||
a | aaaaa
|
||||
a | aaaaaa
|
||||
a | aaaaaaa
|
||||
a | aaaaaaaa
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY b;
|
||||
aa | bb
|
||||
----------+----
|
||||
bbb |
|
||||
bbbb |
|
||||
bbbbb |
|
||||
bbbbbb |
|
||||
bbbbbbb |
|
||||
bbbbbbbb |
|
||||
SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
|
||||
relname | aa | bb
|
||||
---------+----------+----
|
||||
b | bbb |
|
||||
b | bbbb |
|
||||
b | bbbbb |
|
||||
b | bbbbbb |
|
||||
b | bbbbbbb |
|
||||
b | bbbbbbbb |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY c;
|
||||
aa | cc
|
||||
----------+----
|
||||
ccc |
|
||||
cccc |
|
||||
ccccc |
|
||||
cccccc |
|
||||
ccccccc |
|
||||
cccccccc |
|
||||
SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
|
||||
relname | aa | cc
|
||||
---------+----------+----
|
||||
c | ccc |
|
||||
c | cccc |
|
||||
c | ccccc |
|
||||
c | cccccc |
|
||||
c | ccccccc |
|
||||
c | cccccccc |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY d;
|
||||
aa | bb | cc | dd
|
||||
----------+----+----+----
|
||||
ddd | | |
|
||||
dddd | | |
|
||||
ddddd | | |
|
||||
dddddd | | |
|
||||
ddddddd | | |
|
||||
dddddddd | | |
|
||||
SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
|
||||
relname | aa | bb | cc | dd
|
||||
---------+----------+----+----+----
|
||||
d | ddd | | |
|
||||
d | dddd | | |
|
||||
d | ddddd | | |
|
||||
d | dddddd | | |
|
||||
d | ddddddd | | |
|
||||
d | dddddddd | | |
|
||||
(6 rows)
|
||||
|
||||
UPDATE a SET aa='zzzz' WHERE aa='aaaa';
|
||||
@ -152,383 +152,383 @@ UPDATE ONLY a SET aa='zzzzz' WHERE aa='aaaaa';
|
||||
UPDATE b SET aa='zzz' WHERE aa='aaa';
|
||||
UPDATE ONLY b SET aa='zzz' WHERE aa='aaa';
|
||||
UPDATE a SET aa='zzzzzz' WHERE aa LIKE 'aaa%';
|
||||
SELECT * FROM a;
|
||||
aa
|
||||
----------
|
||||
zzzz
|
||||
zzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
bbb
|
||||
bbbb
|
||||
bbbbb
|
||||
bbbbbb
|
||||
bbbbbbb
|
||||
bbbbbbbb
|
||||
ccc
|
||||
cccc
|
||||
ccccc
|
||||
cccccc
|
||||
ccccccc
|
||||
cccccccc
|
||||
ddd
|
||||
dddd
|
||||
ddddd
|
||||
dddddd
|
||||
ddddddd
|
||||
dddddddd
|
||||
SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
|
||||
relname | aa
|
||||
---------+----------
|
||||
a | zzzz
|
||||
a | zzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
b | bbb
|
||||
b | bbbb
|
||||
b | bbbbb
|
||||
b | bbbbbb
|
||||
b | bbbbbbb
|
||||
b | bbbbbbbb
|
||||
c | ccc
|
||||
c | cccc
|
||||
c | ccccc
|
||||
c | cccccc
|
||||
c | ccccccc
|
||||
c | cccccccc
|
||||
d | ddd
|
||||
d | dddd
|
||||
d | ddddd
|
||||
d | dddddd
|
||||
d | ddddddd
|
||||
d | dddddddd
|
||||
(24 rows)
|
||||
|
||||
SELECT * FROM b;
|
||||
aa | bb
|
||||
----------+----
|
||||
bbb |
|
||||
bbbb |
|
||||
bbbbb |
|
||||
bbbbbb |
|
||||
bbbbbbb |
|
||||
bbbbbbbb |
|
||||
ddd |
|
||||
dddd |
|
||||
ddddd |
|
||||
dddddd |
|
||||
ddddddd |
|
||||
dddddddd |
|
||||
SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
|
||||
relname | aa | bb
|
||||
---------+----------+----
|
||||
b | bbb |
|
||||
b | bbbb |
|
||||
b | bbbbb |
|
||||
b | bbbbbb |
|
||||
b | bbbbbbb |
|
||||
b | bbbbbbbb |
|
||||
d | ddd |
|
||||
d | dddd |
|
||||
d | ddddd |
|
||||
d | dddddd |
|
||||
d | ddddddd |
|
||||
d | dddddddd |
|
||||
(12 rows)
|
||||
|
||||
SELECT * FROM c;
|
||||
aa | cc
|
||||
----------+----
|
||||
ccc |
|
||||
cccc |
|
||||
ccccc |
|
||||
cccccc |
|
||||
ccccccc |
|
||||
cccccccc |
|
||||
ddd |
|
||||
dddd |
|
||||
ddddd |
|
||||
dddddd |
|
||||
ddddddd |
|
||||
dddddddd |
|
||||
SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
|
||||
relname | aa | cc
|
||||
---------+----------+----
|
||||
c | ccc |
|
||||
c | cccc |
|
||||
c | ccccc |
|
||||
c | cccccc |
|
||||
c | ccccccc |
|
||||
c | cccccccc |
|
||||
d | ddd |
|
||||
d | dddd |
|
||||
d | ddddd |
|
||||
d | dddddd |
|
||||
d | ddddddd |
|
||||
d | dddddddd |
|
||||
(12 rows)
|
||||
|
||||
SELECT * FROM d;
|
||||
aa | bb | cc | dd
|
||||
----------+----+----+----
|
||||
ddd | | |
|
||||
dddd | | |
|
||||
ddddd | | |
|
||||
dddddd | | |
|
||||
ddddddd | | |
|
||||
dddddddd | | |
|
||||
SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
|
||||
relname | aa | bb | cc | dd
|
||||
---------+----------+----+----+----
|
||||
d | ddd | | |
|
||||
d | dddd | | |
|
||||
d | ddddd | | |
|
||||
d | dddddd | | |
|
||||
d | ddddddd | | |
|
||||
d | dddddddd | | |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY a;
|
||||
aa
|
||||
--------
|
||||
zzzz
|
||||
zzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
|
||||
relname | aa
|
||||
---------+--------
|
||||
a | zzzz
|
||||
a | zzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY b;
|
||||
aa | bb
|
||||
----------+----
|
||||
bbb |
|
||||
bbbb |
|
||||
bbbbb |
|
||||
bbbbbb |
|
||||
bbbbbbb |
|
||||
bbbbbbbb |
|
||||
SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
|
||||
relname | aa | bb
|
||||
---------+----------+----
|
||||
b | bbb |
|
||||
b | bbbb |
|
||||
b | bbbbb |
|
||||
b | bbbbbb |
|
||||
b | bbbbbbb |
|
||||
b | bbbbbbbb |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY c;
|
||||
aa | cc
|
||||
----------+----
|
||||
ccc |
|
||||
cccc |
|
||||
ccccc |
|
||||
cccccc |
|
||||
ccccccc |
|
||||
cccccccc |
|
||||
SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
|
||||
relname | aa | cc
|
||||
---------+----------+----
|
||||
c | ccc |
|
||||
c | cccc |
|
||||
c | ccccc |
|
||||
c | cccccc |
|
||||
c | ccccccc |
|
||||
c | cccccccc |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY d;
|
||||
aa | bb | cc | dd
|
||||
----------+----+----+----
|
||||
ddd | | |
|
||||
dddd | | |
|
||||
ddddd | | |
|
||||
dddddd | | |
|
||||
ddddddd | | |
|
||||
dddddddd | | |
|
||||
SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
|
||||
relname | aa | bb | cc | dd
|
||||
---------+----------+----+----+----
|
||||
d | ddd | | |
|
||||
d | dddd | | |
|
||||
d | ddddd | | |
|
||||
d | dddddd | | |
|
||||
d | ddddddd | | |
|
||||
d | dddddddd | | |
|
||||
(6 rows)
|
||||
|
||||
UPDATE b SET aa='new';
|
||||
SELECT * FROM a;
|
||||
aa
|
||||
----------
|
||||
zzzz
|
||||
zzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
ccc
|
||||
cccc
|
||||
ccccc
|
||||
cccccc
|
||||
ccccccc
|
||||
cccccccc
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
|
||||
relname | aa
|
||||
---------+----------
|
||||
a | zzzz
|
||||
a | zzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
b | new
|
||||
b | new
|
||||
b | new
|
||||
b | new
|
||||
b | new
|
||||
b | new
|
||||
c | ccc
|
||||
c | cccc
|
||||
c | ccccc
|
||||
c | cccccc
|
||||
c | ccccccc
|
||||
c | cccccccc
|
||||
d | new
|
||||
d | new
|
||||
d | new
|
||||
d | new
|
||||
d | new
|
||||
d | new
|
||||
(24 rows)
|
||||
|
||||
SELECT * FROM b;
|
||||
aa | bb
|
||||
-----+----
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
|
||||
relname | aa | bb
|
||||
---------+-----+----
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
(12 rows)
|
||||
|
||||
SELECT * FROM c;
|
||||
aa | cc
|
||||
----------+----
|
||||
ccc |
|
||||
cccc |
|
||||
ccccc |
|
||||
cccccc |
|
||||
ccccccc |
|
||||
cccccccc |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
|
||||
relname | aa | cc
|
||||
---------+----------+----
|
||||
c | ccc |
|
||||
c | cccc |
|
||||
c | ccccc |
|
||||
c | cccccc |
|
||||
c | ccccccc |
|
||||
c | cccccccc |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
(12 rows)
|
||||
|
||||
SELECT * FROM d;
|
||||
aa | bb | cc | dd
|
||||
-----+----+----+----
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
|
||||
relname | aa | bb | cc | dd
|
||||
---------+-----+----+----+----
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY a;
|
||||
aa
|
||||
--------
|
||||
zzzz
|
||||
zzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
zzzzzz
|
||||
SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
|
||||
relname | aa
|
||||
---------+--------
|
||||
a | zzzz
|
||||
a | zzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
a | zzzzzz
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY b;
|
||||
aa | bb
|
||||
-----+----
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
|
||||
relname | aa | bb
|
||||
---------+-----+----
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY c;
|
||||
aa | cc
|
||||
----------+----
|
||||
ccc |
|
||||
cccc |
|
||||
ccccc |
|
||||
cccccc |
|
||||
ccccccc |
|
||||
cccccccc |
|
||||
SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
|
||||
relname | aa | cc
|
||||
---------+----------+----
|
||||
c | ccc |
|
||||
c | cccc |
|
||||
c | ccccc |
|
||||
c | cccccc |
|
||||
c | ccccccc |
|
||||
c | cccccccc |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY d;
|
||||
aa | bb | cc | dd
|
||||
-----+----+----+----
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
|
||||
relname | aa | bb | cc | dd
|
||||
---------+-----+----+----+----
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
(6 rows)
|
||||
|
||||
UPDATE a SET aa='new';
|
||||
DELETE FROM ONLY c WHERE aa='new';
|
||||
SELECT * FROM a;
|
||||
aa
|
||||
-----
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
|
||||
relname | aa
|
||||
---------+-----
|
||||
a | new
|
||||
a | new
|
||||
a | new
|
||||
a | new
|
||||
a | new
|
||||
a | new
|
||||
b | new
|
||||
b | new
|
||||
b | new
|
||||
b | new
|
||||
b | new
|
||||
b | new
|
||||
d | new
|
||||
d | new
|
||||
d | new
|
||||
d | new
|
||||
d | new
|
||||
d | new
|
||||
(18 rows)
|
||||
|
||||
SELECT * FROM b;
|
||||
aa | bb
|
||||
-----+----
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
|
||||
relname | aa | bb
|
||||
---------+-----+----
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
(12 rows)
|
||||
|
||||
SELECT * FROM c;
|
||||
aa | cc
|
||||
-----+----
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
|
||||
relname | aa | cc
|
||||
---------+-----+----
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
d | new |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM d;
|
||||
aa | bb | cc | dd
|
||||
-----+----+----+----
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
|
||||
relname | aa | bb | cc | dd
|
||||
---------+-----+----+----+----
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY a;
|
||||
aa
|
||||
-----
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
new
|
||||
SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
|
||||
relname | aa
|
||||
---------+-----
|
||||
a | new
|
||||
a | new
|
||||
a | new
|
||||
a | new
|
||||
a | new
|
||||
a | new
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY b;
|
||||
aa | bb
|
||||
-----+----
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
new |
|
||||
SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
|
||||
relname | aa | bb
|
||||
---------+-----+----
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
b | new |
|
||||
(6 rows)
|
||||
|
||||
SELECT * FROM ONLY c;
|
||||
aa | cc
|
||||
----+----
|
||||
SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
|
||||
relname | aa | cc
|
||||
---------+----+----
|
||||
(0 rows)
|
||||
|
||||
SELECT * FROM ONLY d;
|
||||
aa | bb | cc | dd
|
||||
-----+----+----+----
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
new | | |
|
||||
SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
|
||||
relname | aa | bb | cc | dd
|
||||
---------+-----+----+----+----
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
d | new | | |
|
||||
(6 rows)
|
||||
|
||||
DELETE FROM a;
|
||||
SELECT * FROM a;
|
||||
aa
|
||||
----
|
||||
SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
|
||||
relname | aa
|
||||
---------+----
|
||||
(0 rows)
|
||||
|
||||
SELECT * FROM b;
|
||||
aa | bb
|
||||
----+----
|
||||
SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
|
||||
relname | aa | bb
|
||||
---------+----+----
|
||||
(0 rows)
|
||||
|
||||
SELECT * FROM c;
|
||||
aa | cc
|
||||
----+----
|
||||
SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
|
||||
relname | aa | cc
|
||||
---------+----+----
|
||||
(0 rows)
|
||||
|
||||
SELECT * FROM d;
|
||||
aa | bb | cc | dd
|
||||
----+----+----+----
|
||||
SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
|
||||
relname | aa | bb | cc | dd
|
||||
---------+----+----+----+----
|
||||
(0 rows)
|
||||
|
||||
SELECT * FROM ONLY a;
|
||||
aa
|
||||
----
|
||||
SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
|
||||
relname | aa
|
||||
---------+----
|
||||
(0 rows)
|
||||
|
||||
SELECT * FROM ONLY b;
|
||||
aa | bb
|
||||
----+----
|
||||
SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
|
||||
relname | aa | bb
|
||||
---------+----+----
|
||||
(0 rows)
|
||||
|
||||
SELECT * FROM ONLY c;
|
||||
aa | cc
|
||||
----+----
|
||||
SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
|
||||
relname | aa | cc
|
||||
---------+----+----
|
||||
(0 rows)
|
||||
|
||||
SELECT * FROM ONLY d;
|
||||
aa | bb | cc | dd
|
||||
----+----+----+----
|
||||
SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
|
||||
relname | aa | bb | cc | dd
|
||||
---------+----+----+----+----
|
||||
(0 rows)
|
||||
|
||||
|
@ -34,14 +34,14 @@ INSERT INTO d(aa) VALUES('dddddd');
|
||||
INSERT INTO d(aa) VALUES('ddddddd');
|
||||
INSERT INTO d(aa) VALUES('dddddddd');
|
||||
|
||||
SELECT * FROM a;
|
||||
SELECT * FROM b;
|
||||
SELECT * FROM c;
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM ONLY a;
|
||||
SELECT * FROM ONLY b;
|
||||
SELECT * FROM ONLY c;
|
||||
SELECT * FROM ONLY d;
|
||||
SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
|
||||
SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
|
||||
SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
|
||||
SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
|
||||
SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
|
||||
SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
|
||||
SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
|
||||
SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
|
||||
|
||||
UPDATE a SET aa='zzzz' WHERE aa='aaaa';
|
||||
UPDATE ONLY a SET aa='zzzzz' WHERE aa='aaaaa';
|
||||
@ -49,46 +49,46 @@ UPDATE b SET aa='zzz' WHERE aa='aaa';
|
||||
UPDATE ONLY b SET aa='zzz' WHERE aa='aaa';
|
||||
UPDATE a SET aa='zzzzzz' WHERE aa LIKE 'aaa%';
|
||||
|
||||
SELECT * FROM a;
|
||||
SELECT * FROM b;
|
||||
SELECT * FROM c;
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM ONLY a;
|
||||
SELECT * FROM ONLY b;
|
||||
SELECT * FROM ONLY c;
|
||||
SELECT * FROM ONLY d;
|
||||
SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
|
||||
SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
|
||||
SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
|
||||
SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
|
||||
SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
|
||||
SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
|
||||
SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
|
||||
SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
|
||||
|
||||
UPDATE b SET aa='new';
|
||||
|
||||
SELECT * FROM a;
|
||||
SELECT * FROM b;
|
||||
SELECT * FROM c;
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM ONLY a;
|
||||
SELECT * FROM ONLY b;
|
||||
SELECT * FROM ONLY c;
|
||||
SELECT * FROM ONLY d;
|
||||
SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
|
||||
SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
|
||||
SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
|
||||
SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
|
||||
SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
|
||||
SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
|
||||
SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
|
||||
SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
|
||||
|
||||
UPDATE a SET aa='new';
|
||||
|
||||
DELETE FROM ONLY c WHERE aa='new';
|
||||
|
||||
SELECT * FROM a;
|
||||
SELECT * FROM b;
|
||||
SELECT * FROM c;
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM ONLY a;
|
||||
SELECT * FROM ONLY b;
|
||||
SELECT * FROM ONLY c;
|
||||
SELECT * FROM ONLY d;
|
||||
SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
|
||||
SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
|
||||
SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
|
||||
SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
|
||||
SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
|
||||
SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
|
||||
SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
|
||||
SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
|
||||
|
||||
DELETE FROM a;
|
||||
|
||||
SELECT * FROM a;
|
||||
SELECT * FROM b;
|
||||
SELECT * FROM c;
|
||||
SELECT * FROM d;
|
||||
SELECT * FROM ONLY a;
|
||||
SELECT * FROM ONLY b;
|
||||
SELECT * FROM ONLY c;
|
||||
SELECT * FROM ONLY d;
|
||||
SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
|
||||
SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
|
||||
SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
|
||||
SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
|
||||
SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
|
||||
SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
|
||||
SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
|
||||
SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
find `pwd`/ \( -name _deadcode -a -prune \) -o \
|
||||
-type f -name '*.[chyl]' -print|sed 's;//;/;g' | mkid
|
||||
-type f -name '*.[chyl]' -print|sed 's;//;/;g' | mkid -
|
||||
|
||||
find . -name 'CVS' -prune -o -type d -print |while read DIR
|
||||
do
|
||||
|
Loading…
x
Reference in New Issue
Block a user