3. 2018
MariaDB 10.2
SQL Server 2017 PostgreSQL 10
MySQL 8.0???
Percona Live Amsterdam 2016:
Already mentioned MySQL 8.0
https://twitter.com/MarkusWinand/status/852862475699707904
Conformance
test of MySQL
8.0.1 for the
WITH clause:
2017
5. A little bit of history
‣MariaDB was founded by the creator of MySQL in 2009
(because Sun was bought by Oracle)
‣MariaDB aimed for feature compatibility until 2012
(last feature compatible version was 5.5)
‣Next major version was 10 (still in 2012)
(to indicate it has not the same features as MySQL 5.6)
‣Release 10.2 adds window functions and the WITH clause
At the same time: MySQL 8.0 is under development—also
announcing window functions and the WITH clause.
MariaDB 10.2 May 2017
6. MariaDB won the race to introduce
window functions and
the WITH clause
with release 10.2 in May 2017.
(MySQL 8.0 is not yet released for production)
(as of 2018-01-15)
MariaDB 10.2 Released May 2017
But how
about the
quality?
7. How is MariaDB 10.2 doing in my conformance test?
WITH (non recursive)
MariaDB 10.2.12 vs. MySQL 8.0.3
MariaDB 10.2 Released May 2017
8. How is MariaDB 10.2 doing in my conformance test?
WITH RECURSIVE
MariaDB 10.2.12 vs. MySQL 8.0.3
MariaDB 10.2 Released May 2017
10. MariaDB 10.2 Released May 2017
(standard) JSON functions
MariaDB 10.2.12 vs. MySQL 8.0.3
Note: MariaDB 10.1 has none of these features (everything X)
Description of the features: http://modern-sql.com/blog/2017-06/whats-new-in-sql-2016
11. MariaDB 10.2 Released May 2017
(standard) JSON functions
MariaDB 10.2.12 vs. MySQL 8.0.3
Note: MariaDB 10.1 has none
of these features (everything X)
12. MariaDB 10.2 Released May 2017
CHECK constraints
MariaDB 10.2.12 vs. MySQL 8.0.3
Note: MariaDB 10.1 works like MySQL 8.0.3:
syntax is accepted, but constraint not validated.
13. Other topics:
‣ NO PAD collations
‣ Expressions in DEFAULT clause, DEFAULT for BLOB and TEXT
https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-102/
MariaDB 10.2 Released May 2017
15. Although SQL Server 2016 was supposed to be available on Linux,
it never became available on public channels.
SQL Server 2017 had a public beta and can be installed through
regular package managers.
A free developer license is available.
16. SQL Server 2017 Released Oct 2017
TRIM function
Why would you introduce a function from the standard partially?
17. SQL Server 2017 Released Oct 2017
STRING_AGG function
The SQL standard
has listagg for this purpose:
A string_agg function is
available in PostgreSQL —
but with a different syntax!
(placement of order by differs)
Double Fail!
18. Some other topics:
‣ Batch mode adaptive joins
Decide to use nested loops or hash join during execution
(like Oracle’s adaptive joins, but more limited).
‣ Graph processing capabilities
a match clause that reminds one of the Cypher Query Language.
https://docs.microsoft.com/en-us/sql/database-engine/whats-new-in-sql-server-2017
SQL Server 2017 Released Oct 2017
20. XMLTABLE IDENTITY columns
(basic support, not tested thoroughly) (possibly buggy as of 10.1)
PostgreSQL 10 Released Oct 2017
Suspected bug: each row inserted
consumes two values (one is lost)
21. Some other topics:
‣ Parallel query improvements
Merge Join, Bitmap Heap Scan, Index [Only] Scan, and more.
‣ Multi-column optimizer statistics
The optimizer understands cross column correlations.
‣ ICU collations
Operating system independent rules for comparing character strings.
https://www.postgresql.org/docs/10/static/release-10.html
PostgreSQL 10 Released Oct 2017
23. Window functions and with clause (see MariaDB 10.2).
Other topics:
‣ DESC indexes (!!!!)
Similar to check constraints, MySQL accepted desc in indexes but ignored it.
‣new JSON functions
(but no new SQL standard JSON functionality)
https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
MySQL 8.0 No GA release yet