Hello!
Can anyone help here. It looks like a bug in the 3.1.1beta?
i think from 3.1.1beta:
-------
SELECT t1.ID, (SELECT COUNT(*) FROM t2 WHERE t2.ID=t1.ID) FROM t1
In other words, in a subselect backreferencing to a field in its
parent select.
Now supported as of 3.1 -----------
The error message I got from crash as following:
---------
Sqlite3.exe - Application Error
the instruction at "0x0043670b" referenced memory at "0x00000000".
The memory could not be "read".
Click on OK to terminate the program
Click on CANCEL to debug the program
---------
Following is my table schema:
----------
CREATE TABLE PB_Transaction(
ID INTEGER PRIMARY KEY,
DateTime DATE NOT NULL,
Approved BOOL NOT NULL,
Memo VARCHAR,
AccountID INTEGER NOT NULL,
PayeeID INTEGER,
MarkID INTEGER NOT NULL,
MergeID INTEGER DEFAULT NULL,
TransferFTID INTEGER DEFAULT NULL,
Last_UPD DATE NOT NULL );
INSERT INTO "PB_Transaction" VALUES(1, '2005-02-06 21:03:40', 'Y',
'Memo', 1, 1, 1, NULL, NULL, '2005-02-06 21:03:40');
INSERT INTO "PB_Transaction" VALUES(2, '2005-02-06 21:03:49', 'Y',
'Memo', 2, 1, 1, NULL, NULL, '2005-02-06 21:03:49');
INSERT INTO "PB_Transaction" VALUES(3, '2005-02-06 21:03:52', 'Y',
'Memo', 3, 1, 1, NULL, NULL, '2005-02-06 21:03:52');
INSERT INTO "PB_Transaction" VALUES(4, '2005-02-06 21:04:00', 'Y',
'Memo', 4, 1, 1, NULL, NULL, '2005-02-06 21:04:00');
INSERT INTO "PB_Transaction" VALUES(5, '2005-02-06 21:04:03', 'Y',
'Memo', 5, 1, 1, NULL, NULL, '2005-02-06 21:04:03');
INSERT INTO "PB_Transaction" VALUES(6, '2005-02-06 21:04:30', 'Y',
'Memo', 5, 1, 1, NULL, NULL, '2005-02-06 21:04:30');
INSERT INTO "PB_Transaction" VALUES(7, '2005-02-06 21:04:31', 'Y',
'Memo', 5, 1, 1, NULL, NULL, '2005-02-06 21:04:31');
CREATE TABLE PB_TransactionDetail(
ID INTEGER PRIMARY KEY,
TransactionID INTEGER NOT NULL,
Description VARCHAR,
Amount MONEY NOT NULL,
CategoryID INTEGER
);
INSERT INTO "PB_TransactionDetail" VALUES(1, 1, 'Description', 10,
1);
INSERT INTO "PB_TransactionDetail" VALUES(2, 1, 'Description', 12,
1);
INSERT INTO "PB_TransactionDetail" VALUES(3, 1, 'Description', -90,
3);
INSERT INTO "PB_TransactionDetail" VALUES(5, 2, 'Description', 23,
4);
INSERT INTO "PB_TransactionDetail" VALUES(6, 3, 'Description', 23,
3);
INSERT INTO "PB_TransactionDetail" VALUES(7, 3, 'Description', 23,
3);
INSERT INTO "PB_TransactionDetail" VALUES(8, 3, 'Description', 23,
3);
INSERT INTO "PB_TransactionDetail" VALUES(9, 4, 'Description', 76,
4);
INSERT INTO "PB_TransactionDetail" VALUES(10, 4, 'Description', 76,
3);
INSERT INTO "PB_TransactionDetail" VALUES(11, 4, 'Description', 76,
3);
INSERT INTO "PB_TransactionDetail" VALUES(12, 4, 'Description', 76,
3);
INSERT INTO "PB_TransactionDetail" VALUES(13, 4, 'Description', 76,
5);
INSERT INTO "PB_TransactionDetail" VALUES(14, 4, 'Description', 76,
5);
INSERT INTO "PB_TransactionDetail" VALUES(15, 6, 'Description', 76,
5);
INSERT INTO "PB_TransactionDetail" VALUES(16, 6, 'Description', 76,
5);
INSERT INTO "PB_TransactionDetail" VALUES(17, 6, 'Description',
76.54, 5);
INSERT INTO "PB_TransactionDetail" VALUES(18, 6, 'Description',
76.54, 5);
INSERT INTO "PB_TransactionDetail" VALUES(19, 6, 'Description',
76.54, 5);
INSERT INTO "PB_TransactionDetail" VALUES(20, 7, 'Description',
-543.54, 5);
INSERT INTO "PB_TransactionDetail" VALUES(21, 7, 'Description',
1543.54, 5);
INSERT INTO "PB_TransactionDetail" VALUES(22, 7, 'Description',
1543.54, 10);
INSERT INTO "PB_TransactionDetail" VALUES(23, 7, 'Description',
1543.54, 10);
INSERT INTO "PB_TransactionDetail" VALUES(24, 7, 'Description',
1543.54, 10);
INSERT INTO "PB_TransactionDetail" VALUES(26, 7, 'Description',
1543.54, 10);
----------
Hope this info could help to fix the problem.
Thank you,
Ming
------
----- Original Message ----- From: <[EMAIL PROTECTED]>
To: <sqlite-users@sqlite.org>
Sent: Monday, February 07, 2005 1:27 PM
Subject: [sqlite] SQLITE crashs
Hi All,
I have found a SQL can cause the SQLite version 3.1.1beta to crash:
-------------
SELECT TR.ID, (SELECT sum(TRD1.Amount) FROM PB_Transaction TR1 INNER
JOIN PB_TransactionDetail TRD1 ON TR1.ID = TRD1.TransactionID WHERE
TR1.ID < TR.ID) Balance FROM PB_Transaction TR INNER JOIN
PB_TransactionDetail TRD ON TR.ID = TRD.TransactionID GROUP BY
TRD.TransactionID ------------
Regards,
Ming