Oznámení
Postgre driver
před 11 lety
- m0t3jl
- Člen | 293
Ahoj, znovu já.
V ovladači pro PostgreSQL by to chtělo doplnit podporu pro case-sensitive věci. Všiml jsem si, že když nastavím např. parametr schema na třeba MojeSchema a v databázi se schéma skutečně jmenuje „MojeSchema“, dibi po připojení zahlásí chybu, protože se snaží udělat SET search_path TO MojeSchema, ale PostgreSQL když vidí cokoliv, co není v závorkách, převádí to na malá písmena; jak si asi sami dokážete domyslet, „MojeSchema“ to prostě nikdy nenajde ;).
Navrhuji tedy, aby se do toho výběru schématu buď přidaly natvrdo uvozovky, nebo se detekovalo, např. když z názvu schematu udělám lowercase (mb_strtolower), a to lowercase se liší od původního názvu schématu, ať se použijí uvozovky, v opačném případě nikoliv.
před 11 lety
- David Grudl
- Nette Core | 6806
To je na mě moc složité. Chceš říct, že by bylo vhodné nahradit v postgre.php
$this->query('SET search_path TO ' . $config['schema']);
za
$this->query('SET search_path TO "' . $config['schema'] . '"');
před 11 lety
- m0t3jl
- Člen | 293
David Grudl napsal(a):
To je na mě moc složité. Chceš říct, že by bylo vhodné nahradit v postgre.php
$this->query('SET search_path TO ' . $config['schema']);
za
$this->query('SET search_path TO "' . $config['schema'] . '"');
Ten druhej případ s tím detekováním jsem tam dal jen tak. Pokud to nahradíš takto, tak se rozhodně zlobit nebudu, já všude používám case-sensitive názvy, takže mi to rozhodně pomůže. Jen bych byl rád, kdyby se tady ozval někdo proti (pokud takový člověk existuje) a dal svůj názor ;).
Pokud se nikdo neozve, klidně tam ty uvozovky vlož.
před 11 lety
- David Grudl
- Nette Core | 6806
Nikdo se neozývá, zkusím to do další revize dát.