-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathREADME
125 lines (95 loc) · 2.85 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
This project contains grammars for the ANSI SQL Standards (taken from
the drafts).
See the HTML rendered grammars here:
http://jakewheat.github.io/sql-overview/
TODO
Cover most of the SQL Standard:
explain what the concepts are. Document the names for these in the SQL
standard, and what names products use.
Focus mostly on grammar, but also on semantics. Explain and give
examples of sql source, and cover the availability of these in sql
products, mentioning the compatibility with the standard and other
products, and the jargon used for each product.
The reader should go away with:
* an understanding of what is in the standard and what the names of
things really mean
* an understanding of which bits of the standard are widely supported,
which bits are widely supported but with varying syntax or
behaviour, and which bits exist only in the minds of the sql
standards people and don't relate to reality
* an understanding of why features exist and what purpose they are for
* an understanding of which features are supported in a range of
common products
* a good and in depth appreciation for sql's strengths and weaknesses
Provisional product list ideas: db2, oracle, sql server, sap dbmss,
postgresql, mysql.
TODO: cross referenced grammar
What kinds of features are in the standards:
1 syntax which everyone supports
2 syntax which many dbmss support
3 features which many dbmss support with different syntax
4 features which many dbmss support, possibly with different syntax,
with not very similar semantics
5 features which no or very few dbmss support
-------
TOC ideas:
databases, tables, queries, updates
scalar types
type constructors: row, array, multiset
scalar expressions
dml
queries
queries
select list
table ref, joins
aggregates, group by, grouping sets
window functions
where, having
limit, offset
order by
set operations
cte
array unnest and variations?
subqueries, csq, lateral
updates
delete
truncate
insert
merge
update
cursors
temporary tables ??
ddl, schemas
tables, columns
defaults, identity, sequences
constraints, unique/pk, not null, referential, check
alter table
table periods, system versioning
other schema objects
locators??
transaction management
session management
catalog
access control
clients, servers, sessions, connections
databases, 'catalog clusters', and schemas
control statements
connection management
diagnostics
dynamic sql
embedded sql
direct invocation
procedural sql
external data
extensibility
call level interface
persistent stored modules
management of external data
object language bindings (java?)
information and definition schema
java
xml
--------------------------
postgres manual says that there are 179 mandatory features for 2011
core conformance, postgres does 160, and no database product does all
of these