Difference between revisions of "SQLite Adapter Research"

From CDOT Wiki
Jump to: navigation, search
Line 13: Line 13:
 
! Limit
 
! Limit
 
|-
 
|-
|Number of columns
+
|Max Number of Columns
 
|Default: 2000 Max: 32767
 
|Default: 2000 Max: 32767
 
|-
 
|-
 
|Number of rows
 
|Number of rows
|2^64 (Max file size should be reached before this)
+
|2 ^ 64 (Max file size should be reached before this)
 
|-
 
|-
 
|Page size
 
|Page size
|
+
|512 - 65536
 
|-
 
|-
 
|Database size
 
|Database size
|
+
|2 ^ 31 - 2 * Page_Size - Max theoretical size is 14 Terabytes, Operating system file size limit could occur before that point
 
|-
 
|-
|Max number of columns
+
|UUID
|
+
|UUID's implemented in randomblob(); + hex();
 
|-
 
|-
|UUID & Auto Increment
+
|Auto Increment
|
+
|AUTOINCREMENT keyword guarantees that automatically chosen ROWIDs will be increasing but not that they will be sequential
 
|-
 
|-
 
|Joins
 
|Joins
|
+
|SQLite supports JOINS and LEFT Joins, FULL JOIN and RIGHT JOIN are supported
 
|}
 
|}

Revision as of 22:01, 22 September 2011

Overview

Data Types

http://www.sqlite.org/datatype3.html Most SQL database engines (every SQL database engine other than SQLite, as far as we know) uses static, rigid typing. With static typing, the datatype of a value is determined by its container - the particular column in which the value is stored.

SQLite uses a more general dynamic type system. In SQLite, the datatype of a value is associated with the value itself, not with its container. The dynamic type system of SQLite is backwards compatible with the more common static type systems of other database engines in the sense that SQL statement that work on statically typed databases should work the same way in SQLite. However, the dynamic typing in SQLite allows it to do things which are not possible in traditional rigidly typed databases.

Limits

Feature Limit
Max Number of Columns Default: 2000 Max: 32767
Number of rows 2 ^ 64 (Max file size should be reached before this)
Page size 512 - 65536
Database size 2 ^ 31 - 2 * Page_Size - Max theoretical size is 14 Terabytes, Operating system file size limit could occur before that point
UUID UUID's implemented in randomblob(); + hex();
Auto Increment AUTOINCREMENT keyword guarantees that automatically chosen ROWIDs will be increasing but not that they will be sequential
Joins SQLite supports JOINS and LEFT Joins, FULL JOIN and RIGHT JOIN are supported