Re: [pgsql-general 2011-1-21:] Are there any projects interested in object functionality? (+ rule bases)
От | Pavel Stehule |
---|---|
Тема | Re: [pgsql-general 2011-1-21:] Are there any projects interested in object functionality? (+ rule bases) |
Дата | |
Msg-id | AANLkTimAgSNx3wtkvgeB9=drXYJOtJHRpGyjuCB50PrV@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [pgsql-general 2011-1-21:] Are there any projects interested in object functionality? (+ rule bases) (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: [pgsql-general 2011-1-21:] Are there any projects
interested in object functionality? (+ rule bases)
Re: [pgsql-general 2011-1-21:] Are there any projects interested in object functionality? (+ rule bases) |
Список | pgsql-hackers |
2011/2/1 Robert Haas <robertmhaas@gmail.com>: > On Mon, Jan 31, 2011 at 5:09 PM, Nick Rudnick <joerg.rudnick@t-online.de> wrote: >> Interesting... I remember that some years ago, I fiddled around with >> functions, operators etc. to allow a method like syntax -- but I ever was >> worried this approach would have serious weaknesses -- are there any >> principal hindrances to having methods, if no, can this be implemented in a >> straightforward way? > > It would help if you were a bit more specific. Do you mean you want > to write something like foo.bar(baz) and have that mean call the bar > method of foo and pass it baz as an argument? > > If so, that'd certainly be possible to implement for purposes of a > college course, if you're so inclined - after all it's free software - > but we'd probably not make such a change to core PG, because right now > that would mean call the function bar in schema baz and pass it foo as > an argument. We try not to break people's code to when adding > nonstandard features. > I has not a standard, so I am not sure what is in standard and what not. It was a popular theme about year 2000 and OOP was planed to SQL3. You can find a some presentation from this time. Oracle implemented these features. J. Melton: SQL:1999: Understanding Object-Relational and Other Advanced Features, Morgan Kaufmann, 2003. CREATE METHOD next_color (n INT) RETURNS INT FOR colored_part_t RETURN SELF.color_id + n SELECT partno, color_id, DEREF(oid).next_color(1) AS next FROM colored_parts some other databases implemented a dereferenced data (it's not only Oracle's subject) http://www.java2s.com/Code/Oracle/Object-Oriented-Database/DEREFDereferencetheRowAddresses.htm Probably DB2 implements this functionality too. See doc for CREATE TYPE statement, REF USING, NOT FINAL, method specification CREATE TYPE type-name ... METHOD attribute-name() RETURNS attribute-type these features are very nice - but is not well documented and probably not used. Pavel > -- > Robert Haas > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company >
В списке pgsql-hackers по дате отправления: