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 sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users