Обсуждение: Migrate to Postgres - Alias a Keyword?

Поиск
Список
Период
Сортировка

Migrate to Postgres - Alias a Keyword?

От
Huan Ruan
Дата:
Hi All

We are migrating from Firebird to Postgres. We try to minimise changes required to the application code which has lots of SQLs in it. One of the incompatibilities between these two is the way to limit the number of rows returned by a SELECT query. 

In Postgres, SELECT * FROM TestTable LIMIT 10
In Firebird,   SELECT * FROM TestTable ROWS 10 

What I'm trying to do here is to get Postgres to accept ROWS as if it's LIMIT. Looks like this is possible by adding an alias in /src/include/parser/kwlist.h, although ROWS is already defined in it for other purpose. 

Does anyone has a suggestion on this? Can I achieve this without recompiling our own copy of Postgres?

Thanks
Huan
   

Re: Migrate to Postgres - Alias a Keyword?

От
Torsten Zuehlsdorff
Дата:
Hi,

> We are migrating from Firebird to Postgres. We try to minimise changes
> required to the application code which has lots of SQLs in it. One of
> the incompatibilities between these two is the way to limit the number
> of rows returned by a SELECT query.
>
> In Postgres, /SELECT * FROM TestTable LIMIT 10/
> In Firebird, /SELECT * FROM TestTable ROWS 10/
>
> What I'm trying to do here is to get Postgres to accept ROWS as if it's
> LIMIT. Looks like this is possible by adding an alias
> in /src/include/parser/kwlist.h, although ROWS is already defined in it
> for other purpose.
>
> Does anyone has a suggestion on this? Can I achieve this without
> recompiling our own copy of Postgres?

i would hack the application, if there is database-layer in. For 
problems like this i created the DDDBL (PHP, documentation in german, 
sorry). It is a layer between application and database with full 
controll over the queries and their result.

This is exactly the point to manipulate the SQL. There are many pitfalls 
- like LIMIT as part of a relation, constant, etc - but it will work.

Greetings from Germany,
Torsten