In the middle of a script, inside a transaction, I run the following
query:
update customer_contact
set next_billed=min(customer_services.eff_date)
where customer_contact.conn_num=7698
and customer_services.conn_num=7698
and customer_services.inv_num=0
I have also tried changing this to
update customer_contact
set next_billed=min(customer_services.eff_date)
where customer_contact.conn_num=7698
and customer_services.conn_num=customer_contact.conn_num
and customer_services.inv_num=0
... which changes the query plan, but both give the following error:
ERROR: ExecutePlan: (junk) `ctid' is NULL!
Now... I tried dumping and reloading the database. Then I upgraded
from 7.2.1 to 7.2.3 (and reloaded the database from scratch). Neither
worked.
The odd part about the error is that this query gets executed 100's of
times a day with different conn_num values. Only this conn_num gives
the error. This conn_num exists in both tables. eff_date has a
senable value (it's a 'timestamp with timezone'). In fact:
sales=# select min(next_billed),min(customer_services.eff_date)
from customer_contact, customer_services
where customer_contact.conn_num=7698
and customer_services.conn_num=7698
and customer_services.inv_num=0;
min | min
------------+------------------------
2003-01-23 | 2003-01-23 00:00:00-05
(1 row)
Anyone got any ideas?
Dave.
--
============================================================================
|David Gilbert, Velocet Communications. | Two things can only be |
|Mail: dgilbert@velocet.net | equal if and only if they |
|http://daveg.ca | are precisely opposite. |
=========================================================GLO================