Re: [GENERAL] cant create index on decimal column - Mailing list pgsql-general

From Robert Davis
Subject Re: [GENERAL] cant create index on decimal column
Date
Msg-id 385909C5.146770D3@lillysoftware.com
Whole thread Raw
In response to cant create index on decimal column  (Robert Davis <rdavis@lillysoftware.com>)
List pgsql-general
Tried it.

Here is the error message:

CREATE TABLE REQUIREMENT_COST(
 WORKORDER_TYPE CHAR(1) NOT NULL,
 WORKORDER_BASE_ID VARCHAR(30) NOT NULL,
 WORKORDER_LOT_ID VARCHAR(3) NOT NULL,
 WORKORDER_SPLIT_ID VARCHAR(3) NOT NULL,
 WORKORDER_SUB_ID VARCHAR(3) NOT NULL,
 OPERATION_SEQ_NO SMALLINT NOT NULL,
 REQ_PIECE_NO SMALLINT NOT NULL,
 QTY DECIMAL(14,4) NOT NULL,
 UNIT_COST DECIMAL(14,4) NOT NULL,
 FIXED_COST DECIMAL(15,2) NOT NULL,
 MINIMUM_COST DECIMAL(15,2)
 PRIMARY
KEY(WORKORDER_TYPE,WORKORDER_BASE_ID,WORKORDER_LOT_ID,WORKORDER_SPLIT_ID,WORKORDER_SUB_ID,OPERATION_SEQ_NO,REQ_PIECE_NO,QTY))

Error: PostgreSQL:1Error while executing the query;
ERROR:  parser: parse error at or near "("

Also note that I said this can be made to work by deleting the field "qty" from the primary key clause.
Of course this is not what the application demands.

TIA
bob

"J. Roeleveld" wrote:

> Hi,
>
> try to delete the comma ( , ) behind
> MINIMUM_COST DECIMAL(15,2),
>
> because the way you have it atm. is that PostgreSQL thinks you want to
> create a Primary Key, without a name or datatype.
>
> Hope this helps,
>
> Joost Roeleveld
>
> > Hi I have a problem. I cant create indexes on decimal columns.
> >
> > CREATE TABLE REQUIREMENT_COST(
> >  WORKORDER_TYPE CHAR(1) NOT NULL,
> >  WORKORDER_BASE_ID VARCHAR(30) NOT NULL,
> >  WORKORDER_LOT_ID VARCHAR(3) NOT NULL,
> >  WORKORDER_SPLIT_ID VARCHAR(3) NOT NULL,
> >  WORKORDER_SUB_ID VARCHAR(3) NOT NULL,
> >  OPERATION_SEQ_NO SMALLINT NOT NULL,
> >  REQ_PIECE_NO SMALLINT NOT NULL,
> >  QTY DECIMAL(14,4) NOT NULL,
> >  UNIT_COST DECIMAL(14,4) NOT NULL,
> >  FIXED_COST DECIMAL(15,2) NOT NULL,
> >  MINIMUM_COST DECIMAL(15,2),
> >  PRIMARY
> >
> KEY(WORKORDER_TYPE,WORKORDER_BASE_ID,WORKORDER_LOT_ID,WORKORDER_SPLIT_ID,WOR
> KORDER_SUB_ID,OPERATION_SEQ_NO,REQ_PIECE_NO,QTY
> > ))
> > ;
> > NOTICE:  CREATE TABLE/PRIMARY KEY will create implicit index
> 'requirement_cost_pkey'
> > for table 'requirement_cost'
> > ERROR:  Can't find a default operator class for type 1700.
> >
> > If the field qty is deleted from the above primary key the create works.
> > I assume that there is an operator I can add to fix this?

--
rdavis@lillysoftware.com
rsdavis@mediaone.net
http://people.ne.mediaone.net/rsdavis



pgsql-general by date:

Previous
From: Rahul Ravindrudu
Date:
Subject: REF function
Next
From: Jose Soares
Date:
Subject: \copy problem