Разбор SQL-запроса в DOM-подобное дерево для включения автоматической перестановки? - PullRequest
5 голосов
/ 19 марта 2012

У меня большое и сложное представление sql, которое я пытаюсь отладить. Есть запись, не отображаемая в представлении, и мне нужно определить, какое предложение или объединение вызывает ее появление. В данный момент я делаю это очень вручную, удаляя по одному предложения и запускаю запрос, чтобы увидеть, появляется ли нужная строка.

Я думаю, что было бы здорово, если бы я мог сделать это программно, потому что в конечном итоге я погружался в подобные запросы примерно раз в две недели.


Кто-нибудь знает, есть ли способ проанализировать SQL-запрос в дереве объектов (например, в sqlalchemy.sql.expression), чтобы я мог переставить дерево и выполнить результаты?

1 Ответ

4 голосов
/ 20 марта 2012

Если вы еще не определили представление в SQLAlchemy, я не думаю, что оно может вам помочь.

Вы можете попробовать что-то вроде sqlparse , что может дать вам некоторые изпуть там.Вы могли бы переставить его вывод и выполнить перестановки как raw sql, используя SQLA.

...