Re: [HACKERS] Keep ECPG comment for log_min_duration_statement
Michael Meskes wrote: > > Michael Meskes wrote: > > > The other option I can see, albeit without looking into details, is > > > allowing all comments and then testing it for the right syntax after > > > parsing. This could potentially also solve the above mentioned > > > option problem. > > > > This idea sounds great. But I am not sure that I can understand it > > correctly. > > > > I understood the concept of this idea as following. Is it right? > > 1. The parser ignores comments/*...*/ as usual. That is, parser does > > not > > identify comments as a token. > > I guess it'd be easier to accept each comment as a token and then parse the > token > text afterwards. > > > 2. After parsing, we parse again only to extract comments. > > Not sure if we can do that without creating a lot of overhead. I see. Based on your advice, I try to make a patch. I will attach a patch when I finish it. Regards, Okano Naoki Fujitsu -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Keep ECPG comment for log_min_duration_statement
> Michael Meskes wrote: > > The other option I can see, albeit without looking into details, is > > allowing all comments and then testing it for the right syntax > > after > > parsing. This could potentially also solve the above mentioned > > option > > problem. > > This idea sounds great. But I am not sure that I can understand it > correctly. > > I understood the concept of this idea as following. Is it right? > 1. The parser ignores comments/*...*/ as usual. That is, parser does > not > identify comments as a token. I guess it'd be easier to accept each comment as a token and then parse the token text afterwards. > 2. After parsing, we parse again only to extract comments. Not sure if we can do that without creating a lot of overhead. Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Meskes at (Debian|Postgresql) dot Org Jabber: michael at xmpp dot meskes dot org VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Keep ECPG comment for log_min_duration_statement
Thank you for your kind advise! Michael Meskes wrote: > The other option I can see, albeit without looking into details, is > allowing all comments and then testing it for the right syntax after > parsing. This could potentially also solve the above mentioned option > problem. This idea sounds great. But I am not sure that I can understand it correctly. I understood the concept of this idea as following. Is it right? 1. The parser ignores comments/*...*/ as usual. That is, parser does not identify comments as a token. 2. After parsing, we parse again only to extract comments. 3. comments are put back or forth in SQL statement. Regards, Okano Naoki Fujitsu -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Keep ECPG comment for log_min_duration_statement
> As I said in the first e-mail, there are some restrictions of comment > position in my implementation. I am concerned that an error will > occur in .pgc files users made in old version. > So, this feature should be a new option. I see, this makes sense. > When the pre-compiler(ECPG) converts C with embedded SQL to normal C > code, gram.y is used for syntactic analysis. I need to change gram.y > for comments in SQL statement. > But I do not come up with better idea that gram.y is not affected. > If you are interested in my implementation in detail, please check > the [WIP]patch I attached. I'm not sure we would want to change the backend parser for something only used in ecpg. Actually I'm pretty sure we don't. I can see two possible solutions. One would be to replace the parser rules. Please see parse.pl for details. Some rules are already replaced by ecpg specific ones. However, the more rules we replace the more manual syncing effort we need for changes in gram.y. The other option I can see, albeit without looking into details, is allowing all comments and then testing it for the right syntax after parsing. This could potentially also solve the above mentioned option problem. Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Meskes at (Debian|Postgresql) dot Org Jabber: michael at xmpp dot meskes dot org VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Keep ECPG comment for log_min_duration_statement
Hi, Michael wrote: > The reason for not keeping the comments in the statement was simply to > make the parser simpler. If you added this feature, do we still see a > reason for keeping the old version? Or in other words, shouldn't we > make the "enable-parse-comment" version the default without a new > option? Thank you for your feedback! As I said in the first e-mail, there are some restrictions of comment position in my implementation. I am concerned that an error will occur in .pgc files users made in old version. So, this feature should be a new option. When the pre-compiler(ECPG) converts C with embedded SQL to normal C code, gram.y is used for syntactic analysis. I need to change gram.y for comments in SQL statement. But I do not come up with better idea that gram.y is not affected. If you are interested in my implementation in detail, please check the [WIP]patch I attached. I am appreciated if you give me any idea or opinion. Regards, Okano Naoki Fujitsu [WIP]enable-parse-comment.patch Description: [WIP]enable-parse-comment.patch -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Keep ECPG comment for log_min_duration_statement
Hi, > So, I'd like to modify ecpg command not to remove some specific > comments. > ... > [Interface] > add a new option "--enable-parse-comment" to ecpg command. > > ecpg --enable-parse-comment ,..., prog.pgc > > This option enables ecpg command to pass on block comments (/* 〜 */) > to converted C file. The reason for not keeping the comments in the statement was simply to make the parser simpler. If you added this feature, do we still see a reason for keeping the old version? Or in other words, shouldn't we make the "enable-parse-comment" version the default without a new option? Michael -- Dr. Michael Meskes, Geschaeftsfuehrer/CEO Tel.: +49 (0)2166 / 99 01 0 E-Mail: michael.mes...@credativ.com IM: m...@jabber.credativ.com PGP: BBBC 58B4 5994 CF9C CC56 BCDA DF23 DA33 9697 8EB3 credativ international GmbH, HRB Moenchengladbach 15543, Trompeterallee 108, 41189 Moenchengladbach, Germany Geschaeftsfuehrung: Dr. Michael Meskes, Joerg Folz == Global: http://credativ.com Germany:http://credativ.de Netherlands:http://credativ.nl India: http://credativ.in UK: http://credativ.co.uk USA:http://credativ.us == -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers