Files
secondo/Tests/Testspecs/plugjoin.test
2026-01-23 17:03:45 +08:00

65 lines
2.6 KiB
Plaintext

#This file is part of SECONDO.
#
#Copyright (C) 2004, University in Hagen, Department of Computer Science,
#Database Systems for New Applications.
#
#SECONDO is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2 of the License, or
#(at your option) any later version.
#
#SECONDO is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with SECONDO; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# a test for the relational algebra
# run with : Runner -c MyConfig.config <relalgtest
# (Runner can be found in directory UserInterfaces)
#setup
open database berlintest;
#testcase test1
#yields (int 2366)
query strassen feed {a} WStrassen feed {w} spatialjoin0[GeoData_a, GeoData_w] count;
#testcase test2
#yields (bool TRUE)
query strassen feed {a} loopjoin[fun(t:TUPLE) WStrassen feed {w} filter[bbox(.GeoData_w) intersects bbox(attr(t, GeoData_a))]] count =
strassen feed {a} WStrassen feed {w} spatialjoin0[GeoData_a, GeoData_w] count;
#testcase test3
#yields (int 198)
query strassen feed {a} loopjoin[fun(t:TUPLE) WStrassen feed {w} filter[.GeoData_w intersects attr(t, GeoData_a)]] count;
#testcase test4
#yields (bool TRUE)
query strassen feed {a} loopjoin[fun(t:TUPLE) WStrassen feed {w} filter[.GeoData_w intersects attr(t, GeoData_a)]] count =
strassen feed {a} WStrassen feed {w} spatialjoin0[GeoData_a, GeoData_w] filter[.GeoData_a intersects .GeoData_w] count;
#testcase test7
#yields (int 244)
query Flaechen feed {X} loopjoin[fun(t: TUPLE) Flaechen feed filter[bbox(.GeoData) intersects bbox(attr(t, GeoData_X))]] count;
#testcase test7
#yields (bool TRUE)
query Flaechen feed {X} loopjoin[fun(t: TUPLE) Flaechen feed filter[bbox(.GeoData) intersects bbox(attr(t, GeoData_X))]] count =
Flaechen feed {X} Flaechen feed spatialjoin0[GeoData_X, GeoData] count;
#testcase test17
#yields (bool TRUE)
query (Flaechen feed {X} filter[.GeoData_X intersects zoogarten]
Flaechen feed spatialjoin0[GeoData_X, GeoData] filter[.GeoData_X intersects .GeoData] count) =
(Flaechen feed {X} filter[.GeoData_X intersects zoogarten]
loopjoin[fun(t: TUPLE) Flaechen feed filter[bbox(.GeoData) intersects bbox(attr(t, GeoData_X))]
filter[.GeoData intersects attr(t, GeoData_X)]] count);
#teardown
close database;