TGViewer
Роздуми Спрощенця Роздуми Спрощенця @decomplexifier · 230 subscribers
Post #10 550
‍Багато років тому, одна із сінтаксічних проблем з якою я стикався у Ерлангу (та й не тільки) полягала в тому що читати код типу f(g(h(d))) досить складно ментально, бо треба знайти власне з чого все там починається (h(d)) і читати справа наліво.

Багато мов, включаючи Elixir, так чи інакше цю проблему вирішили, чи то з чимось типу pipe operator, чи то с UFCS (Universal Function Call Syntax).

А от SQL (яким я зараз займаюсь дуже багато) — ні.

І доводиться писати и вичитувати не дуже прозорі запити типу:

 select convert_from(convert_to('Hello', 'utf-8'), 'utf-8')


Не дуже зрозуміло з чого тут все починається і чим закінчується.

А якщо ми перепишемо це отак?

select 'Hello' |> convert_to('utf-8') |> convert_from('utf-8')


Значно краще! Тут можна зрозуміти (якщо знати про що ці convert функції) що беремо текст, конвертуємо у bytea, і назад. Не дуже корисно, але це просто приклад 🥹

І мене це вже настількі достало, що так не можна, що я написав цього ранку прототип який власне це і робить за мене (див. скріншот). Я ще не знайшов нормального способу переписувати таким чином всі прямі запити до постгресу у сесії, але навіть якщо це неможливо, в мене все рівно є план написати вбудовану проксі/баунсер для постгресу. От воно ї зможе переписувати. А поки цього нема, можна переписувати запити використовуючи функцію extended_sql.

Запитання до читачів:

А які у вас є нарікання до SQL і що б ви хотіли покращити або виправити в ньому?
  • 🔥 5
  • 👍 2
More from @decomplexifier
  1. Aug 2, 2024У мене таке питання: чи є серед вас ті, хто ненавидить відлагодження SQL запитів? А як щод…
  2. Jun 14, 2024‍Тут ось яка ідея виникла: можливо іноді шукати програмістів з прямим релевантним досвідом…
  3. Oct 30, 2023‍Хвилинка самореклами. 🤡 Як ви можете пам’ятати, я Омнігресом займався з минулого року. А…
  4. Aug 26, 2023Коротка новина: нарешті зробив перший реліз досить нішевого інструмента, pg_yregress Якщо…
  5. Jul 30, 2023Я тут написав статтю про архітектуру разом з автором SQLPage і вона зараз на front page Ha…
  6. Jul 21, 2023Мене завжди дратував той факт, що для написання якоїсь бізнес-логіки на чомусь окрім SQL а…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →