Próposito

Este módulo convierte un texto con una sentencia del lenguaje SQL a una represenatción en objetos que puede ser manipulada por los módulos sub-siguientes.

Modo de uso

¿Cómo obtener una representación en objeto de una sentencia SQL a partir de un String?

  1. Crear una instancia de uba.db.sql.parser.SQLParser
  2. Utilizar el método Sentence parse(String sqlCommand)

Por ejemplo para parsear la sentencia SELECT * FROM T:

SQLParser parser = new SQLParser();
Sentence result = parser.parse("SELECT * FROM T");

El parser retorna una instancia concreta de la interfaz Sentence, a continuación se explica como trabajar con el resultado del parser.

¿Cómo identificar cada una de las partes de una sentencia SQL?

La interfaz Sentence define el método accept(Visitor visitor) que puede utilizarse para reconocer cada una de las partes de la sentencia SQL (ver el pattern Visitor en [GOF]).

Por ejemplo para visitar la sentencia del ejemplo anterior:

Sentence result = parser.parse("SELECT * FROM T");
result.accept(visitor);