From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Greg Copeland <greg(at)CopelandConsulting(dot)Net> |
Cc: | Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>, PostgresSQL Hackers Mailing List <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: python patch |
Date: | 2002-08-11 05:13:52 |
Message-ID: | 200208110513.g7B5DqW18654@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Your patch has been added to the PostgreSQL unapplied patches list at:
http://candle.pha.pa.us/cgi-bin/pgpatches
I will try to apply it within the next 48 hours.
---------------------------------------------------------------------------
Greg Copeland wrote:
Checking application/pgp-signature: FAILURE
-- Start of PGP signed section.
> Well, that certainly appeared to be very straight forward. pg.py and
> syscat.py scripts were both modified. pg.py uses it to cache a list of
> pks (which is seemingly does for every db connection) and various
> attributes. syscat uses it to walk the list of system tables and
> queries the various attributes from these tables.
>
> In both cases, it seemingly makes sense to apply what you've requested.
>
> Please find attached the quested patch below.
>
> Greg
>
>
> On Wed, 2002-08-07 at 22:16, Christopher Kings-Lynne wrote:
> > > I don't have a problem looking into it but I can't promise I can get it
> > > right. My python skills are fairly good...my postgres internal skills
> > > are still sub-par IMO.
> > >
> > > From a cursory review, if attisdropped is true then the attribute/column
> > > should be ignored/skipped?! Seems pretty dang straight forward.
> >
> > Basically, yep. Just grep the source code for pg_attribute most likely...
> >
> > I'm interested in knowing what it uses pg_attribute for as well...?
> >
> > Chris
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 3: if posting/reading through Usenet, please send an appropriate
> > subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> > message can get through to the mailing list cleanly
>
[ text/x-patch is unsupported, treating like TEXT/PLAIN ]
> Index: pg.py
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/src/interfaces/python/pg.py,v
> retrieving revision 1.9
> diff -u -r1.9 pg.py
> --- pg.py 2002/03/19 13:20:52 1.9
> +++ pg.py 2002/08/08 03:29:48
> @@ -69,7 +69,8 @@
> WHERE pg_class.oid = pg_attribute.attrelid AND
> pg_class.oid = pg_index.indrelid AND
> pg_index.indkey[0] = pg_attribute.attnum AND
> - pg_index.indisprimary = 't'""").getresult():
> + pg_index.indisprimary = 't' AND
> + pg_attribute.attisdropped = 'f'""").getresult():
> self.__pkeys__[rel] = att
>
> # wrap query for debugging
> @@ -111,7 +112,8 @@
> WHERE pg_class.relname = '%s' AND
> pg_attribute.attnum > 0 AND
> pg_attribute.attrelid = pg_class.oid AND
> - pg_attribute.atttypid = pg_type.oid"""
> + pg_attribute.atttypid = pg_type.oid AND
> + pg_attribute.attisdropped = 'f'"""
>
> l = {}
> for attname, typname in self.db.query(query % cl).getresult():
> Index: tutorial/syscat.py
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/src/interfaces/python/tutorial/syscat.py,v
> retrieving revision 1.7
> diff -u -r1.7 syscat.py
> --- tutorial/syscat.py 2002/05/03 14:21:38 1.7
> +++ tutorial/syscat.py 2002/08/08 03:29:48
> @@ -37,7 +37,7 @@
> FROM pg_class bc, pg_class ic, pg_index i, pg_attribute a
> WHERE i.indrelid = bc.oid AND i.indexrelid = bc.oid
> AND i.indkey[0] = a.attnum AND a.attrelid = bc.oid
> - AND i.indproc = '0'::oid
> + AND i.indproc = '0'::oid AND a.attisdropped = 'f'
> ORDER BY class_name, index_name, attname""")
> return result
>
> @@ -48,6 +48,7 @@
> WHERE c.relkind = 'r' and c.relname !~ '^pg_'
> AND c.relname !~ '^Inv' and a.attnum > 0
> AND a.attrelid = c.oid and a.atttypid = t.oid
> + AND a.attisdropped = 'f'
> ORDER BY relname, attname""")
> return result
>
-- End of PGP section, PGP failed!
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2002-08-11 05:14:48 | Re: Another python patch -- minor |
Previous Message | Bruce Momjian | 2002-08-11 05:13:39 | Re: python patch |