Search Postgresql Archives

Re: DB insert Error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is how the array is formed in my C code
-------------------------------------------------------------------------------------------
 FILE   *fp;
 
 while(!feof(fp))
      {ch[i]=fgetc(fp);
       if(ch[i]=='\n') lines++;       i++;      }
    ch[i-1]='\0';
    fclose(fp);
------------------------------------------------------------------------------
and then am inserting ch as a whole in the varchar column in the database.
 
Do you want me to append a leading '{' and a trailing '}' to ch??
 
~Jas

 
On 8/16/06, Michael Fuhr <mike@xxxxxxxx> wrote:
On Wed, Aug 16, 2006 at 12:38:42AM -0400, Jasbinder Bali wrote:
> table definition of raw_email table is as follows
>
> CREATE TABLE raw_email (
>     id        int4 NOT NULL,
>     raw_email  varchar[],
>     parsed_flag bool NOT NULL DEFAULT false,
>     CONSTRAINT  pk_rawemail PRIMARY KEY (id)
> )
> WITHOUT OIDS;
>
> i have very much declared raw_email field as varchar and not char

It's not the varchar-vs-char distinction that matters; it's the
fact that raw_email is declared as array, so it expects a certain
input syntax.  Example:

test=> INSERT INTO raw_email (id, raw_email) VALUES (1, 'test');
ERROR:  array value must start with "{" or dimension information
test=> INSERT INTO raw_email (id, raw_email) VALUES (1, '{test}');
INSERT 0 1

Are you sure you want raw_email to be an array instead of a simple
varchar column?  Are you handling the contents as array elements
(e.g., one element per line) or is the whole considered a single
piece of data?

--
Michael Fuhr


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux