摘要:
Systems, methods, and other embodiments associated with spatial query processing using query window indexes are described. One example method includes receiving a spatial query on spatial data that has an associated spatial data index. The spatial query specifies a query window. A query window index structure is constructed that describes a geometry of the query window. The query window index structure is compared to the spatial data index and, when necessary, to the spatial data to determine a spatial relationship between the query window and the spatial data.
摘要:
Techniques are described for generating histograms for a multidimensional space. In the presence of large spatial objects, fuzzy splitting techniques are utilized to recursively divide the multidimensional space into partitions, where a single spatial object may belong to multiple partitions. Large spatial objects are essentially broken down into smaller objects that may allow for more efficient partitioning of the multidimensional space. A count of spatial objects in each partition yields a spatial histogram. A spatial object that belongs to multiple partitions may have a weighted count for each of the multiple partitions, based on the extent to which the spatial object overlaps with each partition. Thus, an object that is split among a handful of partitions will only contribute a fraction of a count to each partition. Small partitions having relatively few objects are avoided by refusing to subdivide a partition whose members drop below a threshold number.
摘要:
Systems, methods, and other embodiments associated with query pruning via query rewrite are described. One example method includes receiving a query on a partitioned table that will result in a first query plan that includes accessing a local domain index on each partition in the database. The query is rewritten to generate a second query that will result in a second query plan that includes accessing a global domain index instead of the local domain index on each partition in the database.
摘要:
Systems, methods, and other embodiments associated with query pruning via query rewrite are described. One example method includes receiving a query on a partitioned table that will result in a first query plan that includes accessing a local domain index on each partition in the database. The query is rewritten to generate a second query that will result in a second query plan that includes accessing a global domain index instead of the local domain index on each partition in the database.
摘要:
Techniques are described for generating histograms for a multidimensional space. In the presence of large spatial objects, fuzzy splitting techniques are utilized to recursively divide the multidimensional space into partitions, where a single spatial object may belong to multiple partitions. Large spatial objects are essentially broken down into smaller objects that may allow for more efficient partitioning of the multidimensional space. A count of spatial objects in each partition yields a spatial histogram. A spatial object that belongs to multiple partitions may have a weighted count for each of the multiple partitions, based on the extent to which the spatial object overlaps with each partition. Thus, an object that is split among a handful of partitions will only contribute a fraction of a count to each partition. Small partitions having relatively few objects are avoided by refusing to subdivide a partition whose members drop below a threshold number.
摘要:
One example method of spatial query processing using query window indexes includes receiving a spatial query on spatial data that has an associated spatial data index. The spatial query specifies a query window. A query window index structure is constructed that describes a geometry of the query window. The query window index structure is compared to the spatial data index and, when necessary, to the spatial data to determine a spatial relationship between the query window and the spatial data.
摘要:
Systems, methods, and other embodiments associated with determining whether geometries represented by geometry objects intersect are described. One example method recursively decomposes a higher order geometry (e.g., solid) into a set of lower order geometries (e.g., surfaces) and examines the lower order geometries, continuing the recursion until an intersection decision is reached. The example method includes accessing geometry objects and accessing a spatial index that stores MBVs associated with the geometry objects. The method includes extracting candidate pairs of intersecting features upon determining MBVs associated with the geometry objects intersect and providing the candidate features to a feature-feature logic. The method includes providing an intersection signal based on a features intersection signal provided by the feature-feature logic.
摘要:
A method for maintaining a long transaction database lock across multiple database sessions. It is determined if at least one row of a long transaction lock enabled table, identified in a long transaction lock request, is locked by a short or long transaction lock. If the row is not locked, locking the at least one row with a long transaction lock. The long transaction lock on the at least one row is associated with a current client session that generated the request. The long transaction lock can be transferred to another client session in response to a lock transfer request from the another client session.
摘要:
Locking feature instances in a web feature service by processing a web feature service data transformation request; identifying a table associated with the web feature service data transformation request from a feature type identified in the request; determining if the table associated with the web feature service data transformation request is enabled for long transaction locking; and, if the table is long transaction lock enabled, locking at least one feature instance associated with a filter condition of the web feature service data transformation request by associating a session transferable identifier with the at least one feature instance and identifying the client session as owner of the session transferable identifier; and enabling a transfer of the long transaction lock to another client session in response to a lock transfer request from the another client session that references the session transferable identifier in a web feature service transaction request.
摘要:
Techniques for history enabling a table in a database system so that past versions of rows of the history-enabled table are available for temporal querying. The table is history enabled by adding a start time column to the table and creating a history table for the history-enabled table. The history table's rows are copies of rows of the history-enabled table that have changed and include start time and end time fields whose values indicate a period in which the history table's row was in the history-enabled table. Temporal queries are performed on a view which is the union of the history-enabled table and the history table. The temporal queries are speeded up by period of time indexes in which the leaves are grouped based on time period size, identifiers are assigned to the groups, and the keys of the index include the group identifiers.