Thread: BUG #5839: pgAdmin makes bad query for creating a table when default value specified
BUG #5839: pgAdmin makes bad query for creating a table when default value specified
From
"Aren Cambre"
Date:
The following bug has been logged online: Bug reference: 5839 Logged by: Aren Cambre Email address: aren@arencambre.com PostgreSQL version: 9.0.2 Operating system: Windows 7 32 bit Description: pgAdmin makes bad query for creating a table when default value specified Details: Using pgAdmin 1.12.2, I just tried to create a table with a character varying(18) column. I put "none" (without the quotes) in the "Default value" field for that column. When I press OK to create the table, I get a dialog saying: An error has occurred: ERROR: column "none" does not exist This is the SQL that's generated: CREATE TABLE "raw"."TxDPS geocoding" ( "HA_Arrest_Key" character varying(18), gid integer, "whichToUse" character varying(20) NOT NULL DEFAULT none, PRIMARY KEY ("HA_Arrest_Key") ) WITH ( OIDS = FALSE ) ;
Re: BUG #5839: pgAdmin makes bad query for creating a table when default value specified
From
Tom Lane
Date:
"Aren Cambre" <aren@arencambre.com> writes: > Using pgAdmin 1.12.2, I just tried to create a table with a character > varying(18) column. I put "none" (without the quotes) in the "Default value" > field for that column. > When I press OK to create the table, I get a dialog saying: > An error has occurred: > ERROR: column "none" does not exist Well, yeah, that's what you'll get. I don't see a bug here. If you want the literal string 'none' as default, you should put quotes around it. If you don't want a default, you shouldn't put anything there. regards, tom lane
Re: BUG #5839: pgAdmin makes bad query for creating a table when default value specified
From
Aren Cambre
Date:
This came from pgAdmin's *Default value* field. This field is supposed to accept anything other than a string? Aren On Fri, Jan 14, 2011 at 9:51 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > "Aren Cambre" <aren@arencambre.com> writes: > > Using pgAdmin 1.12.2, I just tried to create a table with a character > > varying(18) column. I put "none" (without the quotes) in the "Default > value" > > field for that column. > > > When I press OK to create the table, I get a dialog saying: > > An error has occurred: > > ERROR: column "none" does not exist > > Well, yeah, that's what you'll get. I don't see a bug here. > If you want the literal string 'none' as default, you should put quotes > around it. If you don't want a default, you shouldn't put anything > there. > > regards, tom lane >
Re: BUG #5839: pgAdmin makes bad query for creating a table when default value specified
From
John R Pierce
Date:
On 01/14/11 8:12 PM, Aren Cambre wrote: > This came from pgAdmin's *Default value* field. This field is supposed > to accept anything other than a string? default value can be any valid expression
Re: BUG #5839: pgAdmin makes bad query for creating a table when default value specified
From
Dave Page
Date:
On Sat, Jan 15, 2011 at 4:36 AM, John R Pierce <pierce@hogranch.com> wrote: > On 01/14/11 8:12 PM, Aren Cambre wrote: >> >> This came from pgAdmin's *Default value* field. This field is supposed to >> accept anything other than a string? > > default value can be any valid expression Exactly. pgAdmin doesn't have any way to know whether what you've entered is a plain string or an expression of some kind, so it leaves it to you to provide the quoting in this case. -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company