OK, but check this thing out:
(I did my best to replicate this example on another pgSQL server
running on different platform)
CREATE TABLE billingplans (
id int NOT NULL,
reseller_id integer NOT NULL,
base_tariff_id integer NOT NULL,
discount smallint NOT NULL,
freetalktime smallint NOT NULL,
description character varying(255),
status integer DEFAULT 0 NOT NULL,
created timestamp without time zone
);
INSERT INTO billingplans (id, reseller_id, base_tariff_id, discount,
freetalktime, description, status, created) VALUES (5, 1004, 38, 0, 0, 'rt',
1, '2005-06-20 00:00:00');
INSERT INTO billingplans (id, reseller_id, base_tariff_id, discount,
freetalktime, description, status, created) VALUES (1, 1000, 29, 1, 1, 'test
billing plan', 1, NULL);
INSERT INTO billingplans (id, reseller_id, base_tariff_id, discount,
freetalktime, description, status, created) VALUES (7, 1000, 29, 0, 0,
'base', 1, '2005-06-28 00:00:00');
CREATE TABLE billingplans_lots (
plan_id integer NOT NULL,
lot_id integer NOT NULL
);
INSERT INTO billingplans_lots (plan_id, lot_id) VALUES(1, 11);
CREATE TABLE resellerlots (
lotid int NOT NULL,
resellerid integer NOT NULL,
quantity integer DEFAULT 0 NOT NULL,
total numeric(12,4) DEFAULT 0 NOT NULL,
tariffid integer DEFAULT 1 NOT NULL,
lot_desc character(20) NOT NULL,
creation_date timestamp(6) without time zone NOT NULL,
client_type integer NOT NULL,
status integer DEFAULT 0 NOT NULL
);
INSERT INTO resellerlots (lotid, resellerid, quantity, total, tariffid,
lot_desc, creation_date, client_type, status) VALUES (11, 1000, 0, 0.0000,
38, 'testov za plan ', '2005-06-16 14:02:25.711764', 1, 1);
INSERT INTO resellerlots (lotid, resellerid, quantity, total, tariffid,
lot_desc, creation_date, client_type, status) VALUES (9, 1004, 1, 5.0000,
38, 'testov lot ', '2005-06-14 14:47:08.949854', 1, 1);
Then I submit:
SELECT
billingplans.id AS plan_id,
billingplans.description as plan_name
FROM (billingplans inner join billingplans_lots
on billingplans.id = billingplans_lots.plan_id) inner join resellerlots
on billingplans_lots.lot_id = resellerlots.lotid
WHERE resellerlots.lot_desc = 45678 and resellerlots.resellerid = 1000
and this is what I get:
row number -1 is out of range 0..-1
Total query runtime: 40 ms.
Data retrieval runtime: 30 ms.
0 rows retrieved.
I checked this through psql and:
plan_id | plan_name
---------+-----------
(0 rows)
----- Original Message -----
From: "Michael Fuhr" <[EMAIL PROTECTED]>
To: "Andreas Pflug" <[EMAIL PROTECTED]>
Cc: "Borislav Ivanov" <[EMAIL PROTECTED]>; <pgsql-bugs@postgresql.org>
Sent: Wednesday, June 29, 2005 4:20 PM
Subject: Re: [BUGS] BUG #1735: row number -1 is out of range 0..-1 error
On Tue, Jun 28, 2005 at 07:03:06PM +0200, Andreas Pflug wrote:
"3";"12";"0";"7 days
is the result I'm getting in pgadmin.
Same here in psql:
id | seconds | accumulate | period
----+---------+------------+--------
3 | 12 | 0 | 7 days
(1 row)
Borislav, apparently something's different in your environment than
what we're testing with. Locale and encoding maybe? Although I
don't know if or how that would cause the results you're seeing.
--
Michael Fuhr
http://www.fuhr.org/~mfuhr/
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
__________ NOD32 1.1157 (20050628) Information __________
This message was checked by NOD32 antivirus system.
http://www.nod32.com
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster