Skip to content

Commit

Permalink
use SQLite driver for ExecuteSQL test
Browse files Browse the repository at this point in the history
  • Loading branch information
apjoseph committed Jul 24, 2024
1 parent 77bd3b3 commit 29b98ec
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 17 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-gdal.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e
GDALVERSION=$1


apt update && apt-get install -y cmake autoconf libproj-dev libgeos-dev build-essential libsqlite3-dev libspatialite-dev curl pkg-config libjpeg-turbo8-dev sqlite3
apt update && apt-get install -y cmake autoconf libproj-dev libgeos-dev build-essential libsqlite3-dev curl pkg-config libjpeg-turbo8-dev sqlite3
cd $HOME
mkdir -p gdal
cd gdal
Expand Down
26 changes: 10 additions & 16 deletions godal_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2544,7 +2544,8 @@ func TestVectorTranslate(t *testing.T) {
}

func TestExecuteSQL(t *testing.T) {

poly1Wkt := "POLYGON ((-72.573946 44.254648, -72.573946 44.255163, -72.573076 44.255163, -72.573076 44.254648, -72.573946 44.254648))"
poly2Wkt := "POLYGON ((-72.576558 44.25799, -72.576558 44.258213, -72.576064 44.258213, -72.576064 44.25799, -72.576558 44.25799))"
el := ErrLogger(eh().ErrorHandler)

sqld := DriverName("SQLite")
Expand All @@ -2553,32 +2554,26 @@ func TestExecuteSQL(t *testing.T) {
panic(err)
}

ds, err := CreateVector(sqld, "/vsimem/test.db", CreationOption("SPATIALITE=YES"))
ds, err := CreateVector(sqld, "/vsimem/test.db")
if err != nil {
panic(err)
}
defer ds.Close()

rs, err := ds.ExecuteSQL("CREATE TABLE test(id integer NOT NULL PRIMARY KEY)", el)
assert.NoError(t, err)
err = rs.Close(el)
wgs84, _ := NewSpatialRef("EPSG:4326")
tl, err := ds.CreateLayer("test", wgs84, GTPolygon)
assert.NoError(t, err)
_, err = ds.ExecuteSQL("SELECT AddGeometryColumn('test','geom',4326,'POLYGON')", el, SQLiteDialect())

rs, err := ds.ExecuteSQL("SELECT name FROM sqlite_schema", SQLiteDialect())
assert.NoError(t, err)
err = rs.Close(el)
err = rs.Close()
assert.NoError(t, err)

tl := ds.LayerByName("test")

fc, err := tl.FeatureCount()
assert.NoError(t, err)
assert.Equal(t, 0, fc)

ins := "INSERT INTO test VALUES (1,ST_GeomFromText('POLYGON ((-72.573946 44.254648, -72.573946 44.255163, -72.573076 44.255163, -72.573076 44.254648, -72.573946 44.254648))',4326)),"
ins += "(2,ST_GeomFromText('POLYGON ((-72.576558 44.25799, -72.576558 44.258213, -72.576064 44.258213, -72.576064 44.25799, -72.576558 44.25799))',4326))"
assert.NoError(t, err)
err = rs.Close(el)
assert.NoError(t, err)
ins := fmt.Sprintf("INSERT INTO test VALUES (1,'%s'), (2,'%s')", poly1Wkt, poly2Wkt)

err = ds.StartTransaction(el, EmulatedTx())
assert.NoError(t, err)
Expand Down Expand Up @@ -2607,10 +2602,9 @@ func TestExecuteSQL(t *testing.T) {

fc, _ = tl.FeatureCount()
assert.Equal(t, 2, fc)
wgs84, _ := NewSpatialRef("EPSG:4326")
g, _ := NewGeometryFromWKT("POINT (-72.57349970718771 44.25492684820907)", wgs84)

rs, err = ds.ExecuteSQL("SELECT * FROM test", NewSpatialFilter(g))
rs, err = ds.ExecuteSQL("SELECT * FROM test", NewSpatialFilter(g), SQLiteDialect())
assert.NoError(t, err)
fc, _ = rs.FeatureCount()
assert.Equal(t, 1, fc)
Expand Down

0 comments on commit 29b98ec

Please sign in to comment.