DB Firebird 2.5.4Korzystanie obliczony indeks górny w Firebird porównać wielkość liter ma znaczenie ciągi
mam 1 stół, 2 pola smyczkowych i 1 komputerowej murawę:
Files
name varchar 256
extension varchar 4
filename computed by name||extension
chcę szukać nazwy pliku w tej tabeli (przypadek insensisive)
kwerenda jest
Select *
from files f
where upper(f.filename) = upper('test.txt')
ten pracuje z Oczywiście, i przyspieszyć zapytanie, stworzyłem komputerowej indeks plików na upper(filename)
CREATE INDEX test ON FILES COMPUTED BY (upper(filename));
Teraz to samo zapytanie już nie działa! Nic nie zwraca. Próbowałem niższy indeks, ale to też nie działa.
wtf? Czy gdzieś tęsknię za opcją?
Na pierwszy rzut oka brzmi jak błąd, zobaczę, czy mogę odtworzyć (dziś wieczorem, nie mam teraz dostępu do instancji Firebird) –
Edytowałem post z dokładniejszym opisem 2 minuty temu. –
W zeszłym tygodniu na liście dyskusyjnej support firebird-support pojawił się post, w którym ktoś wspomniał o podobnym problemie z indeksami w kolumnach obliczeniowych. W celu obejścia tego problemu prawdopodobnie można ustawić 'filename' jako zwykłą kolumnę i wypełnić ją w wyzwalaczu podczas aktualizacji i wstawiania. –