ANTLR-SQL Statement

70 views
Skip to first unread message

sandy2987

unread,
Nov 15, 2013, 1:52:38 PM11/15/13
to antlr-di...@googlegroups.com
Hi,

I am Pavan from India. I am new to antlr world. So I am posting here,

I want a query parser engine .

Consider this example

SELECT Employees.LastName, COUNT (Orders.OrderID) AS NumberOfOrders FROM Orders INNER JOIN Employees
ON Orders.EmployeeID=Employees.EmployeeID WHERE LastName='Davolio' OR LastName='Fuller' GROUP BY LastName
HAVING COUNT (Orders.OrderID) > 25;

I want to parse this select statement and retrieve this elements by calling methods.

For example

getStatement() -> “select”

getColumn() -> [Employees.LastName, COUNT (Orders.OrderID)]

getColumnAliase() ->[null, NumberOfOrders]

getJoin() -> [Orders INNER JOIN Employees]

getJoinCondition() -> [ON Orders.EmployeeID=Employees.EmployeeID]

getWhere() -> [OR]

getOr() -> [LastName='Davolio', LastName='Fuller']

getGroupBy() -> [LastName]

getHaving() -> [COUNT (Orders.OrderID) > 25]



Please some one help in how to start working on this. I will give a try to understand. I need input how to accomplish my problem.

Please let me know if more information from my side. :)

Thanks in advance.

Pavan

Greg D

unread,
Nov 15, 2013, 2:18:08 PM11/15/13
to antlr-di...@googlegroups.com
Pavan,

I would guess that you would want to start with an existing SQL grammar.

I don't see any for ANTLR4 at: ANTLR V4 Grammars. There appears to be several flavours at: ANTLR V3 Grammars.

Dmitry Maslennikov

unread,
Nov 18, 2013, 6:40:25 AM11/18/13
to antlr-di...@googlegroups.com
You can use Listener or Visiter from ANTLR4. Like in examples on link
http://www.antlr.org/wiki/pages/viewpage.action?pageId=31064096&navigatingVersions=true

пятница, 15 ноября 2013 г., 22:52:38 UTC+4 пользователь sandy2987 написал:
Reply all
Reply to author
Forward
0 new messages