Частичный парсинг SQL

d3a
Дата: 06.07.2012 11:46:15
Hello, friends.

Требуется разобрать по полям (поля в том числе с кавычками) ORDER clause. Планирую сделать это при помощи регулярных выражений. Подход правильный или это номинация "Полный абзац Канделябр года"? Буду признателен, если ткнете меня носом в лексическое определение этих самых полей. Спасибо.
Dimitry Sibiryakov
Дата: 06.07.2012 11:51:33

d3a
Буду признателен, если ткнете меня носом в лексическое определение этих самых
полей.

src/dsq/parse.y, order_clause.

Posted via ActualForum NNTP Server 1.5

d3a
Дата: 06.07.2012 11:53:06
Dimitry Sibiryakov,

Спасибо. А по первой части вопроса?
o_v_a
Дата: 06.07.2012 13:54:17
Для постановки задачи ожидается наличие входных и выходных параметров.
Пока что я не понимаю, откуда взяться кляузе ORDER - из вакуума?
В каком виде подать результат разбора на выход? Массив строк?
О чем речь-то вообще?
zeon11
Дата: 09.07.2012 08:10:00
o_v_a
.....
О чем речь-то вообще?


Я так понял, что ТС хочет в прибор типа мясорубки засунуть произвольный SQL-запрос, а на выходе получить список возвращаемых полей, в частности и список полей в ORDER BY
d3a
Дата: 09.07.2012 13:49:40
Hello, friends!

o_v_a, подразумевается, что order clause имеется (более того - это часть корректного запроса), а) это строка, б) в этой строке поля диалекта 3 (т.е. полный фарш с двойными кавычками)

zeon11, на выходе хочу получить а) список полей, б) asc оно или desc, возвращать, видимо, придется как 2x-vararray

В настоящий момент борюсь в отладчике с nulls first|last. Добрые советы принимаются с признательностью. Если кому интересен результат - отпишусь.
WildSery
Дата: 09.07.2012 14:04:53
d3a,

Т.к. конечная цель неясна, сам по себе список полей никому не интересен.
d3a
Дата: 09.07.2012 14:21:55
WildSery,

Многоуважаемый модератор, помогите пожалуйста с лексическим определением полей диалекта 3 (чтоб я не фантазировал), а то камрад Dimitry Sibiryakov ткнул меня носом в немножко множко не то, что я просил. Если не затруднит, выскажитесь о правильности подхода (применению регексп) к решению данной задачки. И, да - список полей мне интересен.
d3a
Дата: 09.07.2012 14:28:21
Да, забыл делаю это на Delphi.
Мимопроходящий
Дата: 09.07.2012 14:31:47

Hello, d3a!
You wrote on 9 июля 2012 г. 14:31:35:

d3a
Да, забыл делаю это на Delphi.

Delphi тут никто не знает.
иди туда, где знают Delphi.

Posted via ActualForum NNTP Server 1.5