Prosím o otestování Nette Database 3.x s performance fixem
- David Grudl
- Nette Core | 8239
Ahoj,
připravuji vydání nové verze Nette Database 3.2 (a také 3.1) a rád bych vás požádal o pomoc s otestováním. Můžete ji vyzkoušet pomocí:
composer require nette/database:^3.2.x-dev
Nejzajímavější změnou je potenciální zrychlení Database Exploreru. Je až neuvěřitelné, že stačila změna jediného řádku kódu (viz issue #312) a při výpisu tisíců záznamů může být Explorer rychlejší o několik řádů. Rád bych věděl, jestli je fix OK.
Další novinkou je vylepšení podmínek WHERE. Jednou ze skvělých vlastností Database je, že automaticky volí správný operátor podle typu hodnoty:
$db->query(['SELECT * FROM tbl WHERE', [
'foo' => $foo,
]]);
// SELECT * FROM tbl WHERE foo = 123 když je $foo hodnota
// SELECT * FROM tbl WHERE foo IS NULL když je $foo null
// SELECT * FROM tbl WHERE foo IN (1, 2, 3) když je pole
A nově to funguje takto i s operátorem NOT:
$db->query(['SELECT * FROM tbl WHERE', [
'foo NOT' => $foo,
]]);
// SELECT * FROM tbl WHERE foo != 123
// SELECT * FROM tbl WHERE foo IS NOT NULL
// SELECT * FROM tbl WHERE foo NOT IN (1, 2, 3)
A opraveno je i chování s prázdným polem:
$db->query(['SELECT * FROM tbl WHERE', [
'foo NOT' => [],
]]);
// SELECT * FROM tbl WHERE 1=1
Mimochodem, kompletně jsem přepracoval dokumentaci a přidal novou stránku o bezpečnosti.