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

Reply via email to