On Tue, Jul 14, 2015 at 4:27 AM, Dan Ungureanu <udan1107(a)gmail.com> wrote:
On 13.07.2015 18:09, Madhura Jayaratne wrote:
Hi Dan,
MariaDB (5.2.0+) supports virtual columns and the syntax is
<type> [GENERATED ALWAYS] AS ( <expression> ) [VIRTUAL | PERSISTENT]
[UNIQUE] [UNIQUE KEY] [COMMENT <text>]
While implementing [1], to add parser support for virtual columns, I
tried to model this syntax using $FIELD_OPTIONS [2]. Even though I am able
to retrieve the expression this way, all the brackets and spaces of the
expression are gone. As I understand, this due to the tokenization.
Do you have any suggestion for an alternative approach?
[1]
https://sourceforge.net/p/phpmyadmin/feature-requests/1517/
[2]
https://github.com/madhuracj/phpmyadmin/commit/b287aae9d56c4ae15d850b47a5f7…
--
Thanks and Regards,
Madhura Jayaratne
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud
Today.https://www.gigenetcloud.com/
_______________________________________________
Phpmyadmin-devel mailing
listPhpmyadmin-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel
Hello Madhura,
The way you approached this was the correct solution, however, there was a
bug in my code which skipped white-spaces. I am not sure what exactly you
want to extract from that expression and I implemented here [2] a new type
of option "expr" that should make your job easier and parse an expression
directly.
You can find here [1] a snippet of code I used to parse a CREATE statement
that contains virtual fields and the result of the parsing. As you can see,
the fact that I used the `Expression` component to parse the expression
extracted the function name as well. Anyway, you can continue using the
"var" option which will only format the expression, without extracting any
information.
[1]
https://gist.github.com/udan11/4b6eaee2a1fb7fa315c2
[2]
https://github.com/udan11/sql-parser/commit/68ad40b4f30c0ff55d662413729fec4…
Best regards,
Dan Ungureanu
Thanks Dan.
I've taken the latest version of sql-parser into phpMyAdmin in [1]. I've
used the parsed output to detect the expression in MariaDB generated
columns and it works fine.
Btw, great job with parser rewrite!
[1]