Project

General

Profile

Migration Ubuntu 2004 MariaDB >1024 » History » Version 4

Carsten Rose, 02.02.2021 16:42

1 1 Carsten Rose
h1. Migration auf Ubuntu 20.04 / MariaDB >10.2.4
2
3 3 Carsten Rose
h2. SQL_MODE
4
5 1 Carsten Rose
Mit Ubuntu 20.04 kommt MariaDB 10.3 (Ubuntu 16.04: 10.0, Ubuntu 18.04: 10.1).
6
7
Es gibt einen neuen default "STRICT_TRANS_TABLE":https://mariadb.com/kb/en/sql-mode/#strict-modeS, der u.a.: 
8
9 3 Carsten Rose
* Bei einem INSERT muessen alle Spalten, die nicht explizit angegeben sind, eine DEFAULT Definition haben. Existiert kein Default, kann der Record nicht erzeugt werden und es gibt eine Fehlermeldung.
10 1 Carsten Rose
* Das Datum '0000-00-00' ist nicht mehr erlaubt (DATE, DATETIME). Entweder `null` oder >=`1000-01-01` "DATETIME":https://mariadb.com/kb/en/datetime/#supported-values
11
12
In der QFQ Extension kann definiert werden:
13
<pre>
14
# database.init 
15
set names utf8; set @@SQL_MODE = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
16
</pre>
17 2 Carsten Rose
18 1 Carsten Rose
Ausgabe `SELECT @@SQL_MODE`
19 3 Carsten Rose
20
h2. Offen
21
22
Auf der GEO Lean Dashboard Seite gibt es eine Query die unter 16.04 funktioniert, nicht jedoch unter 20.04. Die folgende Reduzierung funktioniert auf beiden Versionen, das Problem ist damit leider nicht gezeigt
23
24
<pre>
25 4 Carsten Rose
# Test 1
26
SELECT * FROM (SELECT 1 as tr, 0 AS _pId UNION SELECT 2, 0 UNION SELECT 3,1) as fake WHERE _pId=0
27
28
# Test 2
29 3 Carsten Rose
SELECT * FROM (SELECT 1 as tr, 0 AS _pId FROM (SELECT '') AS a WHERE 0=1 UNION SELECT 2, 0 UNION SELECT 3,1) as fake WHERE _pId=0
30
</pre>