@WolandWspanialy zakładam, że mamy jakiś driver abstrakcji w stylu JDBC/ODBC i nie klepiemy binarnej komunikacji z bazą. Nie mamy tylko frameworka, który zamienia wywołań metod na zapytania sqlowe on-the-fly. To nie jest na tyle duży narzut, żeby się nim przejmować.
W korpo praktyce, często zaawansowane rzeczy opakowywało się w procedurę bazodanową, a do zrobienia dawało ludziom, którzy tą bazę utrzymują. Oni sobie klepią, żeby było im wydajnie, a ty masz elegancki interfejs. Oczywiście z podejściem scrumowym średnio się to spina, ale to już problem menadżerów.
@WolandWspanialy
@Vuaaas
Fajny przykład z kariery to pewna firma kurierska, która miała inny silnik bazodanowy w oddziałach, a inny w centrali. Interoperacyjność zapewniało się tak, że struktura widoków i nagłówki procedur były spójne. Inny był tylko środek funkcji, trzeba było napisać dla obu silników oddzielnie. Dodatkowo był tam przedpotopowy postgresql i musiałem się zastanawiać, jak pisać niektóre rzeczy bez window functions.