tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

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.