LINUX.ORG.RU

История изменений

Исправление xen0n, (текущая версия) :

В Exact все они уже реализованы?

Примерно так же, как в MySQL. Там ведь нет конкретной реализации «поиска маек цвета X с максимальной ценой не выше Y», там есть просто SELECT … WHERE … .

Я не знаю, как классифицировать Exact, может быть его предназначение будет понятнее, если назвать его как-то вроде «anonymous (no-auth) read-only database» куда вы открываете доступ всем, и ничем не рискуете.

В некотором приближении можно сказать, что подход Exact’а аналогичен тому, как если бы мы на бэкенде делали «SELECT * FROM tableName WHERE $query». (query может быть «color=‘red’ and price<100» или «year<2000 and salary>1000»)

А вот отличия в том, что делать SQL запросы свободного формата на основании недоверенных входных данных - опасно. SQL Injection, все такое. Открыли пользователю доступ, чтоб он майки искал, а он себе баланс на счете увеличил до квадриллиона долларов. А вот передавать любое выражение в Exact - заведомо безопасно.

Выше в треде мой пример с «ДеНиро» - представьте, что вам нужно написать API для поиска с такой вот гибкостью - как бы вы поступили, сколько времени-денег это бы стоило. Вот этот же эффект можно достичь за минуту с экзактом.

чем преимущество фронтендеру каждый сайт настраивать на этот синтаксис Exact-a, а не писать тоже самое обычными запросами к SQL

Вы имеете в виду, «почему нельзя выполнять SQL команды, полученные от хакера»?

Исходная версия xen0n, :

В Exact все они уже реализованы?

Примерно так же, как в MySQL. Там ведь нет конкретной реализации «поиска маек цвета X с максимальной ценой не выше Y», там есть просто SELECT … WHERE … .

Я не знаю, как классифицировать Exact, может быть его предназначение будет понятнее, если назвать его как-то вроде «anonymous (no-auth) read-only database» куда вы открываете доступ всем, и ничем не рискуете.

В некотором приближении можно сказать, что подход Exact’а аналогичен тому, как если бы мы на бэкенде делали «SELECT * FROM tableName WHERE $query». (query может быть «color=‘red’ and price<100» или «year<2000 and salary>1000»)

А вот отличия в том, что делать SQL запросы свободного формата на основании недоверенных входных данных - опасно. SQL Injection, все такое. Открыли пользователю доступ, чтоб он майки искал, а он себе баланс на счете увеличил до квадриллиона долларов. А вот передавать любое выражение в Exact - заведомо безопасно.

Выше в треде мой пример с «ДеНиро» - представьте, что вам нужно написать API для поиска с такой вот гибкостью - как бы вы поступили, сколько времени-денег это бы стоило. Вот этот же эффект можно достичь за минуту с экзактом.