Lists: | pgsql-docs |
---|
From: | PG Doc comments form <noreply(at)postgresql(dot)org> |
---|---|
To: | pgsql-docs(at)lists(dot)postgresql(dot)org |
Cc: | gri(dot)bogdan(dot)2020(at)gmail(dot)com |
Subject: | Some comments on PL/Python documentation |
Date: | 2024-12-29 00:48:25 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-docs |
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/17/plpython-data.html
Description:
Hello,
In my opinion, some phrases on this page are not quite correct.
44.2.4. Composite Types
You say: '...Object (any object providing method __getattr__)...'
Actually, the object class provides the __getattribute__() method but not
the __getattr__() method.
See https://docs.python.org/3/reference/datamodel.html#object.__getattr__
44.2.5. Set-Returning Functions
1. You say: '...Sequence type (tuple, list, set)...'
Being an unordered collection, sets do not record element position or order
of insertion. Accordingly, sets do not support indexing, slicing, or other
sequence-like behavior.
See
https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset
2. You say: '...Iterator (any object providing __iter__ and next
methods)...'
Actually, the iterator objects must support the __next__() method.
See https://docs.python.org/3/glossary.html#term-iterator
Regards,
Bogdan Grigorenko
From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
---|---|
To: | gri(dot)bogdan(dot)2020(at)gmail(dot)com, pgsql-docs(at)lists(dot)postgresql(dot)org |
Subject: | Re: Some comments on PL/Python documentation |
Date: | 2025-01-08 08:45:19 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-docs |
On 29.12.24 01:48, PG Doc comments form wrote:
> Page: https://www.postgresql.org/docs/17/plpython-data.html
> Description:
>
> Hello,
> In my opinion, some phrases on this page are not quite correct.
>
> 44.2.4. Composite Types
> You say: '...Object (any object providing method __getattr__)...'
> Actually, the object class provides the __getattribute__() method but not
> the __getattr__() method.
> See https://docs.python.org/3/reference/datamodel.html#object.__getattr__
Yes, this looks slightly inaccurate. I'm not sure __getattribute__ is
fully correct either, because types can also implement other ways of
returning attributes, especially if they are implemented in C. Is there
a neutral and accurate way to describe this?
> 44.2.5. Set-Returning Functions
> 1. You say: '...Sequence type (tuple, list, set)...'
> Being an unordered collection, sets do not record element position or order
> of insertion. Accordingly, sets do not support indexing, slicing, or other
> sequence-like behavior.
> See
> https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset
I think this is correct as it is. Python sets can be iterated over, so
this works. Note that earlier in the page under composite types it says
"but not a set because it is not indexable", so this distinction was
taken into consideration.
> 2. You say: '...Iterator (any object providing __iter__ and next
> methods)...'
> Actually, the iterator objects must support the __next__() method.
> See https://docs.python.org/3/glossary.html#term-iterator
Yes, this was recently fixed already and will appear in the next patch
release.
From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
---|---|
To: | gri(dot)bogdan(dot)2020(at)gmail(dot)com, pgsql-docs(at)lists(dot)postgresql(dot)org |
Subject: | Re: Some comments on PL/Python documentation |
Date: | 2025-04-03 09:11:07 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-docs |
On 08.01.25 09:45, Peter Eisentraut wrote:
>> 44.2.5. Set-Returning Functions
>> 1. You say: '...Sequence type (tuple, list, set)...'
>> Being an unordered collection, sets do not record element position or
>> order
>> of insertion. Accordingly, sets do not support indexing, slicing, or
>> other
>> sequence-like behavior.
>> See
>> https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset
>
> I think this is correct as it is. Python sets can be iterated over, so
> this works. Note that earlier in the page under composite types it says
> "but not a set because it is not indexable", so this distinction was
> taken into consideration.
I have added a test for returning Python sets from SETOF functions. It
makes sense to test this if the documentation claims it.