Received: from magus.postgresql.org ([87.238.57.229]) by malur.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1T1TRe-0000y3-T3 for pgsql-docs@postgresql.org; Wed, 15 Aug 2012 02:34:55 +0000 Received: from mail-wi0-f178.google.com ([209.85.212.178]) by magus.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1T1TRb-0002g1-O8 for pgsql-docs@postgresql.org; Wed, 15 Aug 2012 02:34:54 +0000 Received: by wibhr14 with SMTP id hr14so1004627wib.1 for ; Tue, 14 Aug 2012 19:34:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=mm0X0tmmZsmLAguipgV1Zy3NX6bPPlA7SSqgsiWBz/0=; b=KrnLDoRDaZFCkkGtDK9w3ZkWY8Ge3UqX9fbm7ouHsnlPvOP9dWdVjhphy0FBUHyZi2 w8fx68XZl0rkIkTStoZK+Drmoc1nykpPlh+GiWiHVXkEC2HgkrtPc2pZ01aOJg/aDKZf 5kIBGbe90UiBrbaoTZBCTH2J3B9FWwmM127DB0cOXdnVkkFsjzHqYJ026zKJAG1Pbv9B bpOdreA83A4oDIeANZEa/016tbTVwIM/FXsFjWPR/A23yqKCICQfBg6gvTXWhChh3sVs 9WW22+oR1kx2iSWUMjqQOkcFOVTQ27Ym1PNxpOLsimXjReP5N7gAlaOrJgZM+zhUEiO/ c2Zw== MIME-Version: 1.0 Received: by 10.180.83.66 with SMTP id o2mr33047080wiy.14.1344998090503; Tue, 14 Aug 2012 19:34:50 -0700 (PDT) Received: by 10.216.203.166 with HTTP; Tue, 14 Aug 2012 19:34:50 -0700 (PDT) In-Reply-To: <14943.1344868872@sss.pgh.pa.us> References: <14943.1344868872@sss.pgh.pa.us> Date: Tue, 14 Aug 2012 19:34:50 -0700 Message-ID: Subject: Re: Would like to contribute a section to docs for 9.3. Where to start? From: Chris Travers To: Tom Lane Cc: Postgres Documentation Content-Type: multipart/alternative; boundary=f46d04428e4268754704c744c519 X-Pg-Spam-Score: -2.7 (--) X-Archive-Number: 201208/17 X-Sequence-Number: 7410 --f46d04428e4268754704c744c519 Content-Type: text/plain; charset=ISO-8859-1 As a note here, I think one of the fundamental difficulties in figuring out how to position PostgreSQL (whether using Simon's multi-model idea or Object-Relational, something else entirely, or some combination) is that PostgreSQL is an extraordinarily competent and full-featured database management system. I have a very rough draft of how I'd explain it I will send here for some feedback in terms of general message and accuracy before I look at adapting it as a patch against the docs. However, while I was going through this and asking "how would I build something utilizing object-oriented approaches in PostgreSQL?" I realized how few of the features of this sort I was currently using. I have been using PostgreSQL since 1999, and been seriously been trying to use advanced features for six, and I realized I have barely begun to scratch the surface. It's really refreshing to look at this and realize that even after 12-13 years of becoming familiar with a piece of software, a little exercise like this provides all sorts of features that would simplify your life. The fact is that what PostgreSQL really is, inside the box, is a transactional development environment where operations occur in a relational-native way and this is largely how I am approaching it. Object-relational in terms of PostgreSQL seems to mean "relational along with a bunch of tools useful for building object interfaces." I think a lot of the multi-model features that Simon talks about can be understood in these terms as well. If I was going to coin a term to call this, I would call it a "Transactional/relational development environment." Just as you can do object-oriented programming in C, PostgreSQL lets you do this in SQL. Also in my tests, I found that inherited relations do not inherit casts. Is this intentional? Is there a reason I should be putting into the documentation? Or is it just a gotcha that should be listed as a caveat? Best Wishes, Chris Travers --f46d04428e4268754704c744c519 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable As a note here, I think one of the fundamental difficulties in figuring out= how to position PostgreSQL (whether using Simon's multi-model idea or = Object-Relational, something else entirely, or some combination) is that Po= stgreSQL is an extraordinarily competent and full-featured database managem= ent system. =A0I have a very rough draft of how I'd explain it I will s= end here for some feedback in terms of general message and accuracy before = I look at adapting it as a patch against the docs.

However, while I was going through this and asking "how= would I build something utilizing object-oriented approaches in PostgreSQL= ?" I realized how few of the features of this sort I was currently usi= ng. =A0I have been using PostgreSQL since 1999, and been seriously been try= ing to use advanced features for six, and I realized I have barely begun to= scratch the surface. =A0It's really refreshing to look at this and rea= lize that even after 12-13 years of becoming familiar with a piece of softw= are, a little exercise like this provides all sorts of features that would = simplify your life.

The fact is that what PostgreSQL really is, inside the = box, is a transactional development environment where operations occur in a= relational-native way and this is largely how I am approaching it. =A0Obje= ct-relational in terms of PostgreSQL seems to mean "relational along w= ith a bunch of tools useful for building object interfaces." =A0I thin= k a lot of the multi-model features that Simon talks about can be understoo= d in these terms as well. =A0If I was going to coin a term to call this, I = would call it a "Transactional/relational development environment.&quo= t; =A0Just as you can do object-oriented programming in C, PostgreSQL lets = you do this in SQL.

Also in my tests, I found that inherited relations do n= ot inherit casts. =A0Is this intentional? =A0Is there a reason I should be = putting into the documentation? Or is it just a gotcha that should be liste= d as a caveat?

Best Wishes,
Chris Travers
--f46d04428e4268754704c744c519--