Thread: v7.1 error ... SELECT converted to a COPY?

v7.1 error ... SELECT converted to a COPY?

From
The Hermit Hacker
Date:
Okay, maybe this query isn't quite as simple as I think it is, but does
this raise any flags for anyone?  How did I get into a COPY?  It appears
re-creatable, as I've done it twice so far ...

eceb=# select e.idnumber,e.password from egi e, auth_info a where e.idnumber != a.idnumber;
Backend sent D message without prior T
Backend sent D message without prior T
Backend sent D message without prior T
Backend sent D message without prior T
Backend sent D message without prior T
Backend sent D message without prior T
Backend sent D message without prior T
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> \.
Unknown protocol character 'J' read from backend.  (The protocol character is the first character the backend sends in
responseto a query it receives).
 
PQendcopy: resetting connection



Marc G. Fournier                   ICQ#7615664               IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy@hub.org           secondary: scrappy@{freebsd|postgresql}.org



Re: v7.1 error ... SELECT converted to a COPY?

From
Tom Lane
Date:
The Hermit Hacker <scrappy@hub.org> writes:
> Okay, maybe this query isn't quite as simple as I think it is, but does
> this raise any flags for anyone?  How did I get into a COPY?  It appears
> re-creatable, as I've done it twice so far ...

> eceb=# select e.idnumber,e.password from egi e, auth_info a where e.idnumber != a.idnumber;
> Backend sent D message without prior T
> Backend sent D message without prior T

At a guess, you're running out of memory on the client side for the
SELECT results (did you really want a not-equal rather than equal
constraint there!?) --- libpq tends not to cope with this too
gracefully.  Someone oughta fix that...
        regards, tom lane


Re: v7.1 error ... SELECT converted to a COPY?

From
The Hermit Hacker
Date:
On Mon, 30 Apr 2001, Tom Lane wrote:

> The Hermit Hacker <scrappy@hub.org> writes:
> > Okay, maybe this query isn't quite as simple as I think it is, but does
> > this raise any flags for anyone?  How did I get into a COPY?  It appears
> > re-creatable, as I've done it twice so far ...
>
> > eceb=# select e.idnumber,e.password from egi e, auth_info a where e.idnumber != a.idnumber;
> > Backend sent D message without prior T
> > Backend sent D message without prior T
>
> At a guess, you're running out of memory on the client side for the
> SELECT results (did you really want a not-equal rather than equal
> constraint there!?)

Yup, want to figure out which ones are in the egi table that I hadn't
transfer'd over yet ... tried it with a NOT IN ( SELECT ... ) combination,
but an explain of that showed two sequential searches on the tables, so am
working on fixing that ...





Re: v7.1 error ... SELECT converted to a COPY?

From
Hannu Krosing
Date:
The Hermit Hacker wrote:
> 
> On Mon, 30 Apr 2001, Tom Lane wrote:
> 
> > The Hermit Hacker <scrappy@hub.org> writes:
> > > Okay, maybe this query isn't quite as simple as I think it is, but does
> > > this raise any flags for anyone?  How did I get into a COPY?  It appears
> > > re-creatable, as I've done it twice so far ...
> >
> > > eceb=# select e.idnumber,e.password from egi e, auth_info a where e.idnumber != a.idnumber;
> > > Backend sent D message without prior T
> > > Backend sent D message without prior T
> >
> > At a guess, you're running out of memory on the client side for the
> > SELECT results (did you really want a not-equal rather than equal
> > constraint there!?)
> 
> Yup, want to figure out which ones are in the egi table that I hadn't
> transfer'd over yet ... tried it with a NOT IN ( SELECT ... ) combination,
> but an explain of that showed two sequential searches on the tables,

did you do it as

select e.idnumber,e.password from egi ewhere e.idnumber not in (select idnumber from auth_info a where
e.idnumber = a.idnumber)
;

to smarten up the optimizer about using a join ?

I guess that it can be done using outer joins and testing the "outer2
part for IS NULL in 7.1

-------------------
Hannu