On Fri, 2011-01-21 at 09:10 -0600, Andy Colson wrote: > On 1/21/2011 2:16 AM, Nick Rudnick wrote: > > Dear all, > > > > for the sake academic teaching, a colleague asked me in how far > > PostgreSQL does support object functionality these days. Although postgres at one time had "ORDBMS" as a goal, I haven't seen any real interest or work in that area for a long time. The OO features are primarily: 1. OIDs -- hidden columns with auto-generated number. At one time, OIDs were a part of every table, now they must be specified explicitly. They still remain on many of the system catalogs, but not all. Mostly, they are now just an implementation detail that people only notice when looking at the catalogs (and I am personally annoyed that they are hidden, because when looking at the catalogs usually you want to see the OIDs). 2. Inheritance This feature is now used almost exclusively for physical partitioning rather than logical design. > You do realize that ORM sucks, right? Andy, please try to keep the criticism constructive. Nick, I think the problem with ORDBMS is that they essentially introduce pointers in the data, and that adds a lot of complexity. For instance, the relational algebra has nice closure properties. If you join two relations, you get another relation. But what if you introduce pointers? Well, then each table might start out with OIDs, but then when you join with another table and do a GROUP BY, you lose any meaningful OIDs. So what do you have? Something else. Therefore, you've lost closure. Now, maybe there is a good reason to sacrifice closure and other nice properties of the relational model. But there is a perception among many people (like Andy) that the case has not been made. Regards, Jeff Davis -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general