Database: berlintest Restore : No Operator : bbox Number : 1 Signature: rtree -> rect Example : query bbox(strassen_GeoData) Result : (rect (-10836.00000001 33575.00000001 -6686.00000001 28095.00000001)) Operator : bulkloadrtree Number : 1 Signature: stream (tuple (x1 t1)...(xn tn) (id tid))) xi) -> (rtree (tuple ((x1 t1)...(xn tn))) ti false), (id tid)(low int)(high int))) xi) -> (rtree (tuple ((x1 t1)...(xn tn))) ti true) (id tid)(low int)(high int))) xi) -> (rtree (tuple ((x1 t1)...(xn tn))) ti true) Example : query Landstrassen feed projectextend[ ; TID: tupleid(.), MBR: bbox(.GeoData)] sortby[MBR asc] bulkloadrtree[MBR] Result : file_platform Operator : bulkloadrtree Number : 2 Signature: stream (tuple (x1 t1)...(xn tn) (id tid))) xi xj) -> (rtree (tuple ((x1 t1)...(xn tn))) ti false), (id tid)(low int)(high int))) xi) -> (rtree (tuple ((x1 t1)...(xn tn))) ti true) (id tid)(low int)(high int))) xi) -> (rtree (tuple ((x1 t1)...(xn tn))) ti true) Example : query Landstrassen feed projectextend[ ; ATID: tupleid(.), MBR: bbox(.GeoData)] extend[ BTid : .ATID] sortby[MBR asc] bulkloadrtree[MBR, ATID] Result : file_platform Operator : creatertree Number : 1 Signature: ((rel (tuple (x1 t1)...(xn tn)))) xi) -> (rtree (tuple ((x1 t1)...(xn tn))) ti false) Example : query strassen creatertree[GeoData] Result : file_platform Operator : creatertree Number : 2 Signature: ((rel (tuple (x1 t1)...(xn tn)))) xi) -> (rtree (tuple ((x1 t1)...(xn tn))) ti false) Example : query strassen creatertree[GeoData] windowintersectsS[tiergarten] count Result : 79 Operator : gettuples Number : 1 Signature: (stream (tuple ((id tid) (x1 t1)...(xn tn)))) x (rel (tuple ((y1 t1)...(yn tn)))) -> (stream (tuple ((x1 t1)...(xn tn) (y1 t1)...(yn tn)))) Example : query unitTrains_Line exactmatchS[1] UnitTrains gettuples count Result : 6554 Operator : gettuples2 Number : 1 Signature: (stream (tuple ((id tid) (x1 t1)...(xn tn)))) x (rel (tuple ((y1 t1)...(yn tn)))) -> (stream (tuple ((x1 t1)...(xn tn) (y1 t1)...(yn tn)))) Example : query unitTrains_Line exactmatchS[1] UnitTrains gettuples2[Id] count Result : 6554 Operator : gettuples2 Number : 2 Signature: (stream (tuple ((id tid) (x1 t1)...(xn tn)))) x (rel (tuple ((y1 t1)...(yn tn)))) -> (stream (tuple ((x1 t1)...(xn tn) (y1 t1)...(yn tn)))) Example : query unitTrains_Line exactmatchS[1] {S} extend[Id2: .Id_S] UnitTrains gettuples2[Id2] count Result : 6554 Operator : gettuples2 Number : 3 Signature: (stream (tuple ((id tid) (x1 t1)...(xn tn)))) x (rel (tuple ((y1 t1)...(yn tn)))) x id -> (stream (tuple ((x1 t1)...(xn tn) (y1 t1)...(yn tn)))) Example : query ten feed {T} extend[Tenid: tupleid(.)] unitTrains_Line exactmatchS[1] {S} product UnitTrains gettuples2[Id_S] count Result : 65540 Operator : gettuplesdbl Number : 1 Signature: (stream (tuple ((id tid) (x1 t1)...(xn tn)))) x (rel (tuple ((y1 t1)...(yn tn)))) x yk -> (stream (tuple ((x1 t1)...(xn tn) (y1 t1)...(yn tn)))) Example : query (Trains feed {X} filter[.Id_X < 3] filter[.Up_X = TRUE] addid extend[Low: 2 , High: 3] project[TID, Low, High]) Trains gettuplesdbl[Trip] consume Result : ((rel (tuple ((Id int)(Line int)(Up bool)(Trip mpoint))))((1 1 TRUE ((("2003-11-20-06:04:08.127" "2003-11-20-06:04:15.658" TRUE FALSE)(13287.0 10675.0 13244.0 10635.0))(("2003-11-20-06:04:15.658" "2003-11-20-06:04:22.886" TRUE FALSE)(13244.0 10635.0 13193.0 10611.0))))(2 1 TRUE ((("2003-11-20-06:11:08.127" "2003-11-20-06:11:15.658" TRUE FALSE)(13287.0 10675.0 13244.0 10635.0))(("2003-11-20-06:11:15.658" "2003-11-20-06:11:22.886" TRUE FALSE)(13244.0 10635.0 13193.0 10611.0)))))) Operator : nodes Number : 1 Signature: rtree (tuple ((x1 t1)...(xn tn))) ti false) -> stream(tuple((level int) (nodeId int) (MBR rect) (fatherId int) (isLeaf bool) (minEntries int) (maxEntries int) (countEntries int))) Example : query nodes(strassen_GeoData) filter[.Level = 1] consume Result : file_platform Operator : no_entries Number : 1 Signature: rtree -> int Example : query no_entries(strassen_GeoData) Result : 3212 Operator : no_nodes Number : 1 Signature: rtree -> int Example : query no_nodes(strassen_GeoData) Result : (platform (linux (int 55)) (win32 (int 65)) (linux64 (int 80))(mac_osx (int 55))) Operator : treeheight Number : 1 Signature: rtree -> int Example : query treeheight(strassen_GeoData) Result : (platform (linux (int 1)) (win32 (int 1)) (linux64 (int 2))(mac_osx (int 1))) Operator : windowintersects Number : 1 Signature: ((rtree (tuple ((x1 t1)...(xn tn))) ti)(rel (tuple ((x1 t1)...(xn tn)))) T) -> (stream (tuple ((x1 t1)...(xn tn)))), where T = ti in {rect} U SPATIAL2D U SPATIAL3D U SPATIAL4D U SPATIAL8D Example : query strassen_GeoData strassen windowintersects[ bbox(thecenter) ] count Result : 1266 Operator : windowintersectsS Number : 1 Signature: ((rtree (tuple ((x1 t1)...(xn tn))) ti) T -> (stream (tuple ((id tid)))), where T = ti in {rect} U SPATIAL2D U SPATIAL3D U SPATIAL4D U SPATIAL8D Example : query strassen_GeoData windowintersectsS[ bbox(thecenter) ] count Result : 1266 Operator : entries Number : 1 Signature: rtree (tuple ((x1 t1)...(xn tn))) ti false) -> stream(tuple((nodeId int) (MBR rect) (Tid tupleid))) Example : query entries(strassen_GeoData_rtree) filter[.Nodeid = getRootNode(strassen_GeoData_rtree)] tconsume count; Result : 3212 Operator : getFileInfo Number : 1 Signature: rtree (tuple ((x1 t1)...(xn tn))) ti bool) -> text Example : query isdefined(getFileInfo(strassen_GeoData_rtree)) Result : TRUE Operator : getRootNode Number : 1 Signature: rtree -> int Example : query getRootNode(strassen_GeoData_rtree) > 0 Result : TRUE Operator : getNodeInfo Number : 1 Signature: rtree (tuple ((x1 t1)...(xn tn))) ti false) x int -> stream(tuple((nodeId int) (MBR rect) (IsLeafNode bool) (IsRootNode bool) (MBRsize real) (MBRdead real) (MBRoverlapSize real) (MBRoverlapsNo int) (MBRdensity real))) Example : query getNodeInfo(strassen_GeoData_rtree, 2) count Result : 1 Operator : getNodeSons Number : 1 Signature: rtree (tuple ((x1 t1)...(xn tn))) ti false) x int -> stream(tuple((NodeId int) (SonId int) (SonMBR rect))) Example : query (getNodeSons(strassen_GeoData_rtree, 2) count) > 1 Result : TRUE Operator : getLeafEntries Number : 1 Signature: rtree (tuple ((x1 t1)...(xn tn))) ti false) x int -> stream(tuple((NodeId int) (TupleID tid) (EntryMBR rect))) Example : query (getLeafEntries(strassen_GeoData_rtree, 3) count) > 20 Result : TRUE Operator : updatebulkloadrtree Number : 1 Signature: (rtree (tuple ((x1 t1)...(xn tn))) ti false) stream (tuple (x1 t1)...(xn tn) (id tid))) xi) -> (rtree (tuple ((x1 t1)...(xn tn))) ti false), (id tid)(low int)(high int))) xi) -> (rtree (tuple ((x1 t1)...(xn tn))) ti true) (id tid)(low int)(high int))) xi) -> (rtree (tuple ((x1 t1)...(xn tn))) ti true) Example : query strassen_GeoData_rtree strassen feed extend[TID : tupleid(.)] sortby[GeoData asc] updatebulkloadrtree[GeoData]; Result : crashes Remark : After that query the berkeley db is in a unnormal state Operator : dspatialJoin Number: : 1 Signature : rtree1 x rel1(tuple(X)) x rtree2 x rel2(tuple(Y)) [x rename] -> stream(tuple(X,Y@ren)) Example : query strassen_GeoData_rtree strassen strassen_GeoData_rtree strassen dspatialJoin[a] count Result : 26492