What is the name pseudo column
I was just surprised when accidentally selecting a non-existent name
column there was no error -- instead something came back.
select accounts.name from accounts limit 1 ->
(1,65522,1,0.00,,"2010-07-22 09:57:26.281172-05",2)
It appears it tries to return the entire row in an array (but longer
rows get truncated).
I've searched Google and the PG docs but I haven't had any luck.
--
Jack Christensen
jackc@hylesanderson.edu
On Wed, Dec 15, 2010 at 01:50:54PM -0600, Jack Christensen wrote:
I was just surprised when accidentally selecting a non-existent name
column there was no error -- instead something came back.select accounts.name from accounts limit 1 ->
(1,65522,1,0.00,,"2010-07-22 09:57:26.281172-05",2)It appears it tries to return the entire row in an array (but longer
rows get truncated).I've searched Google and the PG docs but I haven't had any luck.
What happened here is that you ran into PostgreSQL's "charming" habit
of using the argument.function notation, so you called the "name"
function, i.e. the one that casts to name, on the entire row from your
accounts table.
Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate
On Wednesday 15 December 2010 1:27:19 pm David Fetter wrote:
On Wed, Dec 15, 2010 at 01:50:54PM -0600, Jack Christensen wrote:
I was just surprised when accidentally selecting a non-existent name
column there was no error -- instead something came back.select accounts.name from accounts limit 1 ->
(1,65522,1,0.00,,"2010-07-22 09:57:26.281172-05",2)It appears it tries to return the entire row in an array (but longer
rows get truncated).I've searched Google and the PG docs but I haven't had any luck.
What happened here is that you ran into PostgreSQL's "charming" habit
of using the argument.function notation, so you called the "name"
function, i.e. the one that casts to name, on the entire row from your
accounts table.Cheers,
David.
In the for what is worth department that behavior is going away in 9.1. See here
for a detailed explanation:
http://www.depesz.com/index.php/2010/11/08/waiting-for-9-1-removed-autocast-footgun/#more-1908
--
Adrian Klaver
adrian.klaver@gmail.com
On Wed, Dec 15, 2010 at 03:43:45PM -0800, Adrian Klaver wrote:
On Wednesday 15 December 2010 1:27:19 pm David Fetter wrote:
On Wed, Dec 15, 2010 at 01:50:54PM -0600, Jack Christensen wrote:
I was just surprised when accidentally selecting a non-existent name
column there was no error -- instead something came back.select accounts.name from accounts limit 1 ->
(1,65522,1,0.00,,"2010-07-22 09:57:26.281172-05",2)It appears it tries to return the entire row in an array (but longer
rows get truncated).I've searched Google and the PG docs but I haven't had any luck.
What happened here is that you ran into PostgreSQL's "charming" habit
of using the argument.function notation, so you called the "name"
function, i.e. the one that casts to name, on the entire row from your
accounts table.Cheers,
David.In the for what is worth department that behavior is going away in 9.1. See here
for a detailed explanation:
http://www.depesz.com/index.php/2010/11/08/waiting-for-9-1-removed-autocast-footgun/#more-1908
I'd missed this bit of good news :)
Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate
On 12/15/2010 5:43 PM, Adrian Klaver wrote:
On Wednesday 15 December 2010 1:27:19 pm David Fetter wrote:
On Wed, Dec 15, 2010 at 01:50:54PM -0600, Jack Christensen wrote:
I was just surprised when accidentally selecting a non-existent name
column there was no error -- instead something came back.select accounts.name from accounts limit 1 ->
(1,65522,1,0.00,,"2010-07-22 09:57:26.281172-05",2)It appears it tries to return the entire row in an array (but longer
rows get truncated).I've searched Google and the PG docs but I haven't had any luck.
What happened here is that you ran into PostgreSQL's "charming" habit
of using the argument.function notation, so you called the "name"
function, i.e. the one that casts to name, on the entire row from your
accounts table.Cheers,
David.In the for what is worth department that behavior is going away in 9.1. See here
for a detailed explanation:
http://www.depesz.com/index.php/2010/11/08/waiting-for-9-1-removed-autocast-footgun/#more-1908
It makes sense now what's happening -- but glad to see that "feature" is
going away.
Thanks.
--
Jack Christensen
jackc@hylesanderson.edu