Re[110]: Тормознутость и кривость linq
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.06.16 08:19
Оценка: 1 (1)
Здравствуйте, IT, Вы писали:

IT>>>Ты для начала покажи разницу хотя бы с примерами с пейджингом, которые тебе тут уже демонстрировали.

_>>Это где тут была показана разница в пейджинге между postresql и sqlite? )

IT>Если не нашёл, то могу ещё раз показать. Мне не сложно.


Он говорит именно про postgresql и sqlite. В твоем примере разницы в структуре запроса нет
http://rsdn.ru/forum/flame.comp/6433187.1
Автор: IT
Дата: 01.05.16


-- PostgreSQL
SELECT
    t1."ParentID",
    t1."ChildID"
FROM
    "Child" t1
ORDER BY
    t1."ChildID" DESC
LIMIT 5 OFFSET 2 


-- SQLite
SELECT
    [t1].[ParentID],
    [t1].[ChildID]
FROM
    [Child] [t1]
ORDER BY
    [t1].[ChildID] DESC
LIMIT 5 OFFSET 2


P.S. Разница есть в тех бд, которые у alex_public отсутствуют

Вообще, sqlpp11 умеет всего ажно три базы
MySQL: https://github.com/rbock/sqlpp11-connector-mysql
Sqlite3: https://github.com/rbock/sqlpp11-connector-sqlite3
PostgreSQL: https://github.com/matthijs/sqlpp11-connector-postgresql

Я вот сходу не могу придумать запрос, который в этих трех базах будет иметь принципиально разную структуру

Автор либы утверждает следующее

there is a misunderstanding. sqlpp11 is not an abstraction layer or an ORM. It just offers a different way of expression SQL statements. You still have to deal with all the gory details like how to join your tables, which condition to put into the WHERE and which condition to put into the HAVING part, for example. sqlpp11 does not relieve you of any of those decisions.


sqlpp11 умеет работать против STL,
STL Container: https://github.com/rbock/sqlpp11-connector-stl

Получается, чисто теоретически на Sqlpp11 можно построить аналог OR/Mapper. Прямо искаропки sqlpp11 дает только SQL expression tree. Т.е. задача мягко говоря, очень нетривиальная, надо писать конвертер sql->sql

Вопрос можно закрывать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.