Hello to all,
I think I have found a bug in the RTree extension (I'm using version 3.6.0)
If I run this script :
DROP TABLE IF EXISTS GEO_TEST;
DROP TABLE IF EXISTS SI_GEO_TEST;
CREATE TABLE GEO_TEST (FID INTEGER PRIMARY KEY NOT NULL, NAME CHAR
NOT NULL, E_UTMX REAL, E_UTMY REAL);
CREATE VIRTUAL TABLE SI_GEO_TEST USING rtree(si_pkid_si, si_xmin_si,
si_xmax_si, si_ymin_si, si_ymax_si);
CREATE TRIGGER TSII_GEO_TEST AFTER INSERT ON GEO_TEST FOR EACH ROW
BEGIN INSERT INTO SI_GEO_TEST (si_pkid_si, si_xmin_si, si_xmax_si,
si_ymin_si, si_ymax_si) VALUES (NEW.ROWID, NEW.E_UTMX, NEW.E_UTMX,
NEW.E_UTMY, NEW.E_UTMY); END;
CREATE TRIGGER TSIU_GEO_TEST AFTER UPDATE ON GEO_TEST FOR EACH ROW
BEGIN UPDATE SI_GEO_TEST SET si_xmin_si = NEW.E_UTMX, si_xmax_si =
NEW.E_UTMX, si_ymin_si = NEW.E_UTMY, si_ymax_si = NEW.E_UTMY WHERE
si_pkid_si = NEW.ROWID; END;
CREATE TRIGGER TSID_GEO_TEST AFTER DELETE ON GEO_TEST FOR EACH ROW
BEGIN DELETE FROM SI_GEO_TEST WHERE si_pkid_si = OLD.ROWID; END;
BEGIN;
INSERT INTO GEO_TEST(FID, NAME, E_UTMX, E_UTMY) VALUES (1, 'A',
10.0, 10.0);
INSERT INTO GEO_TEST(FID, NAME, E_UTMX, E_UTMY) VALUES (2, 'B',
20.0, 20.0);
INSERT INTO GEO_TEST(FID, NAME, E_UTMX, E_UTMY) VALUES (3, 'C',
30.0, 30.0);
INSERT INTO GEO_TEST(FID, NAME, E_UTMX, E_UTMY) VALUES (4, 'D',
40.0, 40.0);
INSERT INTO GEO_TEST(FID, NAME, E_UTMX, E_UTMY) VALUES (5, 'E',
50.0, 50.0);
END;
The first row is not inserted in the GEO_TEST table.
If I do the inserts this way (with the first insert out of the transaction):
INSERT INTO GEO_TEST(FID, NAME, E_UTMX, E_UTMY) VALUES (1, 'A',
10.0, 10.0);
BEGIN;
INSERT INTO GEO_TEST(FID, NAME, E_UTMX, E_UTMY) VALUES (2, 'B',
20.0, 20.0);
INSERT INTO GEO_TEST(FID, NAME, E_UTMX, E_UTMY) VALUES (3, 'C',
30.0, 30.0);
INSERT INTO GEO_TEST(FID, NAME, E_UTMX, E_UTMY) VALUES (4, 'D',
40.0, 40.0);
INSERT INTO GEO_TEST(FID, NAME, E_UTMX, E_UTMY) VALUES (5, 'E',
50.0, 50.0);
END;
then every thing goes right.
Am I doing something wrong ?
Thanks in advance.
Xevi
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users