Почему встроенные DMBS с языковыми привязками всегда используют запросы вместо вызовов функций? - PullRequest
0 голосов
/ 26 октября 2018

Например, в sqlite я должен написать свой запрос в строке и передать его в функцию, подобную sqlite_exec...(db, "SELECT colName1, colName2 FROM FooBar"...);.Почему бы вместо этого не использовать такие функции, как

sqlite_select(db, sqlite_tablename("FooBar"), sqlite_column_names("colName1", "colName2"));

, которые могут быть проверены на наличие типов, защищены от инъекций и не должны анализироваться как строки (что должно быть быстрее)?

Естьочевидный недостаток строгой типизации, делающей очень сложные запросы очень сложными (хотим ли мы перегрузки нескольких функций для WITH AS SELECT или это должен быть параметр для SELECT и т. д.), но это не кажется слишком сложным для преодоления, чтобы стоить делать *.1007 *

...