New unique parser

Previous Libgda versions had several builtin parsers relying on Lex/Yacc (or Flex/Bison) to analyze SQL with the following limitations:

  • not all the SELECT, INSERT, DELETE and UPDATE constructions were recognized

  • the parsers were generic and could not be adapted to the different database's SQL dialects

  • there were some difficult to track problems when several parsers are used at the same time

All the parsers have been removed in favor of a new parser GdaSqlParser object which can be generic or specific to a database provider if the provider has specified it.

To create a generic GdaSqlParser object, one can use the gda_sql_parser_new() method, and for a parser adapted to a specific database's SQL dialect, use the gda_connection_create_parser() method.

The new parser uses LEMON generated parsers.