Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(827)

Unified Diff: third_party/sqlite/sqlite-src-3080704/ext/rtree/README

Issue 949043002: Add //third_party/sqlite to dirs_to_snapshot, remove net_sql.patch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/sqlite/sqlite-src-3080704/ext/rtree/README
diff --git a/third_party/sqlite/sqlite-src-3080704/ext/rtree/README b/third_party/sqlite/sqlite-src-3080704/ext/rtree/README
new file mode 100644
index 0000000000000000000000000000000000000000..3736f45c5fd968542a4d201a2274dd09b66b7865
--- /dev/null
+++ b/third_party/sqlite/sqlite-src-3080704/ext/rtree/README
@@ -0,0 +1,120 @@
+
+This directory contains an SQLite extension that implements a virtual
+table type that allows users to create, query and manipulate r-tree[1]
+data structures inside of SQLite databases. Users create, populate
+and query r-tree structures using ordinary SQL statements.
+
+ 1. SQL Interface
+
+ 1.1 Table Creation
+ 1.2 Data Manipulation
+ 1.3 Data Querying
+ 1.4 Introspection and Analysis
+
+ 2. Compilation and Deployment
+
+ 3. References
+
+
+1. SQL INTERFACE
+
+ 1.1 Table Creation.
+
+ All r-tree virtual tables have an odd number of columns between
+ 3 and 11. Unlike regular SQLite tables, r-tree tables are strongly
+ typed.
+
+ The leftmost column is always the pimary key and contains 64-bit
+ integer values. Each subsequent column contains a 32-bit real
+ value. For each pair of real values, the first (leftmost) must be
+ less than or equal to the second. R-tree tables may be
+ constructed using the following syntax:
+
+ CREATE VIRTUAL TABLE <name> USING rtree(<column-names>)
+
+ For example:
+
+ CREATE VIRTUAL TABLE boxes USING rtree(boxno, xmin, xmax, ymin, ymax);
+ INSERT INTO boxes VALUES(1, 1.0, 3.0, 2.0, 4.0);
+
+ Constructing a virtual r-tree table <name> creates the following three
+ real tables in the database to store the data structure:
+
+ <name>_node
+ <name>_rowid
+ <name>_parent
+
+ Dropping or modifying the contents of these tables directly will
+ corrupt the r-tree structure. To delete an r-tree from a database,
+ use a regular DROP TABLE statement:
+
+ DROP TABLE <name>;
+
+ Dropping the main r-tree table automatically drops the automatically
+ created tables.
+
+ 1.2 Data Manipulation (INSERT, UPDATE, DELETE).
+
+ The usual INSERT, UPDATE or DELETE syntax is used to manipulate data
+ stored in an r-tree table. Please note the following:
+
+ * Inserting a NULL value into the primary key column has the
+ same effect as inserting a NULL into an INTEGER PRIMARY KEY
+ column of a regular table. The system automatically assigns
+ an unused integer key value to the new record. Usually, this
+ is one greater than the largest primary key value currently
+ present in the table.
+
+ * Attempting to insert a duplicate primary key value fails with
+ an SQLITE_CONSTRAINT error.
+
+ * Attempting to insert or modify a record such that the value
+ stored in the (N*2)th column is greater than that stored in
+ the (N*2+1)th column fails with an SQLITE_CONSTRAINT error.
+
+ * When a record is inserted, values are always converted to
+ the required type (64-bit integer or 32-bit real) as if they
+ were part of an SQL CAST expression. Non-numeric strings are
+ converted to zero.
+
+ 1.3 Queries.
+
+ R-tree tables may be queried using all of the same SQL syntax supported
+ by regular tables. However, some query patterns are more efficient
+ than others.
+
+ R-trees support fast lookup by primary key value (O(logN), like
+ regular tables).
+
+ Any combination of equality and range (<, <=, >, >=) constraints
+ on spatial data columns may be used to optimize other queries. This
+ is the key advantage to using r-tree tables instead of creating
+ indices on regular tables.
+
+ 1.4 Introspection and Analysis.
+
+ TODO: Describe rtreenode() and rtreedepth() functions.
+
+
+2. COMPILATION AND USAGE
+
+ The easiest way to compile and use the RTREE extension is to build
+ and use it as a dynamically loadable SQLite extension. To do this
+ using gcc on *nix:
+
+ gcc -shared rtree.c -o libSqliteRtree.so
+
+ You may need to add "-I" flags so that gcc can find sqlite3ext.h
+ and sqlite3.h. The resulting shared lib, libSqliteRtree.so, may be
+ loaded into sqlite in the same way as any other dynamicly loadable
+ extension.
+
+
+3. REFERENCES
+
+ [1] Atonin Guttman, "R-trees - A Dynamic Index Structure For Spatial
+ Searching", University of California Berkeley, 1984.
+
+ [2] Norbert Beckmann, Hans-Peter Kriegel, Ralf Schneider, Bernhard Seeger,
+ "The R*-tree: An Efficient and Robust Access Method for Points and
+ Rectangles", Universitaet Bremen, 1990.
« no previous file with comments | « third_party/sqlite/sqlite-src-3080704/ext/misc/wholenumber.c ('k') | third_party/sqlite/sqlite-src-3080704/ext/rtree/rtree.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698