Thread: Reasonable

Reasonable

From
"Mitch Vincent"
Date:
It seems that this below is causing some strange problems with our
PostgreSQL database. We're running it on a FreeBSD 3.2 box, PG version 6.5.1
(with a 6.5.2 upgrade planned really soon)

These seems good to me, I can't see any errors yet when I try to enter it
into a database, it either locks up psql (the client) or just does nothing
at all..

As you can see from the format it is from a pg_dump of another datatable, I
just added a few things and was going to turn around and create another
table, then the problems started.. If the error is something simple then I
do apologize for wasting anyone's time, however I can't seem to see anything
wrong..

Thanks!!

The query that's giving me fits :



CREATE TABLE "user_applicant_search" (       "app_id" int4,       "created" datetime,       "createdcond" varying(2),
   "status" character varying(1) default 'Active',       "statuscond" character varying(1) default '=',
"firstname"character varying(25),       "firstnamecond" character varying(2) default '=',       "lastname" character
varying(25),      "lastnamecond" character varying(2) default '=',       "address1" character varying(30),
"address1cond"character varying(2) default '=',       "address2" character varying(30),       "city" character
varying(20),      "citycond" character varying(8) default 'starts',       "state" character varying(10),
"statecond"character varying(2) default '=',       "email" character varying(50),       "emailcond character varying(8)
default'starts',       "clearance" character varying(20),       "clearancecond" character varying(8) default 'starts',
    "language" character varying(20),       "languagecond" character varying(8) default 'starts',       "dateavailable"
date,      "dateavailablecond" varying(2) default '=',       "employed" bool,       "employedcond" character varying(1)
default'X',       "sic1" int4,       "sic1cond" character varying(2) default '>=',       "skill1" int4,
"skill1cond"character varying(2) default '>=',       "coregroup" character varying(10),       "coregroupcond" character
varying(8)default 'starts',       "objective" character varying(80),       "objectivecond" character varying(8) default
'starts',      "degree1" character varying(30),       "degree1cond" character varying(8) default 'starts',
"d1type"character varying(6),       "d1typecond" character varying(2) default '=',       "d1discipline" character
varying(30),      "d1disciplinecond" character varying(3) default '=',       "d1date" int4,       "d1datecond"
charactervarying(2) default '=',        "d1gpa" float,       "d1gpacond" character varying(2) default '=',
"salary"character varying(40),       "salarycond" character varying(8) default 'starts',       "salarycurrent" int4,
  "salarycurrentcond" character varying(2) default '=',       "salarydesire" int4,       "salarydesirecond" character
varying(2)default '=',       "salarymin" int4,       "salarymincond" character varying(2) default '=',       "license"
charactervarying(50),       "licensecond" character varying(8) default 'starts',       "locstate" character varying(2),
     "locstatecond" character varying(8) default 'contains');
 


Again, thanks!!

- Mitch
"0100110100110000010101000100001101001000"



Re: [SQL] Reasonable

From
Herouth Maoz
Date:
At 17:32 +0200 on 05/10/1999, Mitch Vincent wrote:

...
>        "createdcond" varying(2),
>         "status" character varying(1) default 'Active',
>         "statuscond" character varying(1) default '=',
>         "firstname" character varying(25),
>         "firstnamecond" character varying(2) default '=',
>         "lastname" character varying(25),
>         "lastnamecond" character varying(2) default '=',
>         "address1" character varying(30),
>         "address1cond" character varying(2) default '=',
>         "address2" character varying(30),
>         "city" character varying(20),
>         "citycond" character varying(8) default 'starts',
...

It's hard to know when you don't tell us which error message you got, but
my guess is as follows: Most of these fields are defined using the syntax

"fieldname" character varying(N)...

But I seem to detect a couple of fields, "createdcond" above, as well as
"dateavailablecond". Are those the fields you added? For some reason, they
are defined as:

"fieldname" varying(N)...

Without the character keyword. On a cursory look this would not work.

Another potential problem is your use of a six-letter long default for a
varying(1) field ("status").

Herouth

--
Herouth Maoz, Internet developer.
Open University of Israel - Telem project
http://telem.openu.ac.il/~herutma




Re: [SQL] Reasonable

From
Tom Lane
Date:
Herouth Maoz <herouth@oumail.openu.ac.il> writes:
> Another potential problem is your use of a six-letter long default for a
> varying(1) field ("status").

6.5.* has some problems with wrong-length default values for char(n) and
varchar(n) fields.  There is a slightly klugy fix in place for char(n),
but a cursory test suggests that it doesn't catch the varchar case.
The consequences aren't as bad as they were for char(n): you just get
a field value that's longer than it's supposed to be.  Workaround:
give a correct default value.

This is all fixed properly in current sources (6.6/7.0-to-be).
        regards, tom lane


Re: [SQL] Reasonable

From
"Albert REINER"
Date:
On Tue, Oct 05, 1999 at 11:32:50AM -0400, Mitch Vincent wrote:
...
> The query that's giving me fits :
> 
> 
> 
> CREATE TABLE "user_applicant_search" (
>         "app_id" int4,
>         "created" datetime,
>         "createdcond" varying(2),
>         "status" character varying(1) default 'Active',
>         "statuscond" character varying(1) default '=',
>         "firstname" character varying(25),
>         "firstnamecond" character varying(2) default '=',
>         "lastname" character varying(25),
>         "lastnamecond" character varying(2) default '=',
>         "address1" character varying(30),
>         "address1cond" character varying(2) default '=',
>         "address2" character varying(30),
>         "city" character varying(20),
>         "citycond" character varying(8) default 'starts',
>         "state" character varying(10),
>         "statecond" character varying(2) default '=',
>         "email" character varying(50),
>         "emailcond character varying(8) default 'starts',
...              ^^^^^^

Don't you need a closing "?

Albert.

-- 

--------------------------------------------------------------------------- Post an / Mail to / Skribu al: Albert
Reiner<areiner@tph.tuwien.ac.at>
 
---------------------------------------------------------------------------