db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <Richard.Hille...@Sun.COM>
Subject Re: using ASTParser and TreeWalker
Date Thu, 19 Nov 2009 17:37:26 GMT
Hi Flavio,

Thanks for those classes. I am sure they will be helpful to other 
people. Some comments inline...

Flavio Palumbo wrote:
> Hi Rick,
>
> i wrote some little classes trying to interpret the data provided by
> XmlTreeWalker, when used with insert statement.
>
> I'm happy to attach them, hoping somebody could find them useful or improve
> them.
>
> I found really hard to figure out the sequence of the nodes, to get the
> infos i need, regarding the different sintax of the statement.
>
> I've tested (successfully for me) with some use cases inserted in the class
> MyTreeWalker, but i think there are many of them i've not imagined.
>
> One question : how can i find the table owner of the AllResultColumn node ?
>   
Since you are stopping the SQL interpreter after the parsing phase, the 
AllResultColumn node does not belong to any table. Consider the 
following query:

  select * from s, t

The parser turns the * into an AllResultColumn node. The AllResultColumn 
node can't be assigned to either table--it actually applies to both of 
them. It is only during the name-binding phase that the interpreter 
expands the AllResultColumn node into columns for each of the tables. I 
am attaching xml showing the shape of the AST for this query after all 3 
major compilation phases: parsing, binding, and optimization. You can 
ignore the last 3 query trees in this file. They correspond to another 
query (the procedure call which tidies up and closes the xml output).

Hope this helps,
-Rick
> Any suggestion would be appreciated.
>
> Flavio
>
>
>
>   
>> -----Messaggio originale-----
>> Da: Richard.Hillegas@Sun.COM [mailto:Richard.Hillegas@Sun.COM]
>> Inviato: giovedì 12 novembre 2009 16.33
>> A: Derby Discussion
>> Oggetto: Re: R: R: R: using ASTParser and TreeWalker
>>
>>
>> Hi Flavio,
>>
>> I have checked in this patch. All you need to do now is refresh your
>> sources and rebuild the trunk.
>>
>> Hope this helps,
>> -Rick
>>
>> Flavio Palumbo wrote:
>>     
>>> Hi Rick,
>>>
>>> the result you attached is quite what i need.
>>>
>>> I'm currently run my test against derby built from trunk.
>>>
>>> Is enough that i refresh my sources from svn to get the new
>>>       
>> (working) copy
>>     
>>> or i have to do what exposed in
>>>
>>>       
>> https://issues.apache.org/jira/secure/attachment/12424653/derby-79
>> 1-02-aa-pr
>>     
>>> intTargetColumnList.diff ?
>>>
>>> Sorry if my questions looks trivial but i'm not familiar in
>>>       
>> working on this
>>     
>>> kind of projects.
>>>
>>> Thanks a lot
>>> Flavio
>>>
>>>
>>>       
>>>> -----Messaggio originale-----
>>>> Da: Richard.Hillegas@Sun.COM [mailto:Richard.Hillegas@Sun.COM]
>>>> Inviato: mercoledì 11 novembre 2009 22.51
>>>> A: Derby Discussion
>>>> Oggetto: Re: R: R: using ASTParser and TreeWalker
>>>>
>>>>
>>>> Hi Flavio,
>>>>
>>>> The ASTParser relies on tree-printing logic in the AST nodes while the
>>>> XmlTreeWalker relies on tree walking logic in the nodes. It turns out
>>>> that the tree printing logic is more capable than the tree
>>>>         
>> walking logic
>>     
>>>> for the InsertNode. I have attached a patch to derby-791 which improves
>>>> the tree walking logic for InsertNodes. I am attaching the
>>>>         
>> XmlTreeWalker
>>     
>>>> output for your query when I apply this patch. This makes the
>>>> information you need visible.
>>>>
>>>> If the tests run cleanly for me, I can apply this patch to the trunk.
>>>> That, however, won't help you if you're running against
>>>>         
>> 10.5.3.0. To get
>>     
>>>> the benefits of this change, you will need to build the Derby trunk and
>>>> run your experiments against the trunk.
>>>>
>>>> Regards,
>>>> -Rick
>>>>
>>>> Flavio Palumbo wrote:
>>>>
>>>>         
>>>>> Hi Rick,
>>>>> i'm  bit confused ;-)
>>>>>
>>>>> I've seen the posts at the link you provided and they are quite clear.
>>>>>
>>>>> Now i'm trying to discover tables and fields from an insert
>>>>>
>>>>>           
>>>> statement (very
>>>>
>>>>         
>>>>> simple : "insert into eurofile.tdepro (dpcdst, dpcdme, dpcdpr)
>>>>>
>>>>>           
>>>> values(?, ?,
>>>>
>>>>         
>>>>> ?)"):
>>>>>
>>>>> If i run ASTParser i get under the node
>>>>> org.apache.derby.impl.sql.compile.TableName
>>>>> the table name followed by a
>>>>> org.apache.derby.impl.sql.compile.ResultColumnList node and 3
>>>>> org.apache.derby.impl.sql.compile.ResultColumn nodes each one with its
>>>>> column name.
>>>>>
>>>>> If i run XmlTreeWalker (better in my mind because i can
>>>>>           
>> control the loop
>>     
>>>>> over the nodes) i cannot neither
>>>>>
>>>>>           
>>>> org.apache.derby.impl.sql.compile.TableName
>>>>
>>>>         
>>>>> node nor the 3 org.apache.derby.impl.sql.compile.ResultColumn nodes.
>>>>>
>>>>> Can you please give me a hint ?
>>>>>
>>>>> Thanks a lot.
>>>>>
>>>>> Flavio
>>>>>
>>>>>
>>>>>
>>>>>           
>>>>>> -----Messaggio originale-----
>>>>>> Da: Richard.Hillegas@Sun.COM [mailto:Richard.Hillegas@Sun.COM]
>>>>>> Inviato: lunedì 9 novembre 2009 19.16
>>>>>> A: Derby Discussion
>>>>>> Oggetto: Re: R: using ASTParser and TreeWalker
>>>>>>
>>>>>>
>>>>>> Hi Flavio,
>>>>>>
>>>>>> There is some commentary on the following issue, which might help you
>>>>>> make some sense of the trees:
>>>>>> https://issues.apache.org/jira/browse/DERBY-3946
>>>>>>
>>>>>> These trees are not part of Derby's public API so there's
>>>>>>             
>> not a lot of
>>     
>>>>>> documentation on them other than the Derby engine's javadoc. You may
>>>>>> have to ask a couple more questions before you touch bottom.
>>>>>>
>>>>>> Hope this helps,
>>>>>> -Rick
>>>>>>
>>>>>>
>>>>>>
>>>>>> flavio palumbo wrote:
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> Hi Rick,
>>>>>>> renaming junit did it ;-))
>>>>>>> I've been able to run ASTParser and XmlTreeWalker and I've seen
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>> that they
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> give a very big quantity of infos ; where can I find some docs
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>> to discover
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> how to point what I need ? In particular I'm searching for
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>> tables and fields
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> names included in the statement, which is the quickest way to
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>> find them ?
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> Thanks a lot
>>>>>>> Flavio
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Rick Hillegas <Richard.Hillegas@Sun.COM>
>>>>>>> To: Derby Discussion <derby-user@db.apache.org>
>>>>>>> Date: Fri, 06 Nov 2009 14:01:50 -0800
>>>>>>> Subject: Re: R: using ASTParser and TreeWalker
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>>>> flavio palumbo wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> Hi Rich,
>>>>>>>>> I've just tried to build Derby (now I'm at home with nb
>>>>>>>>>                   
>> 6.5.1 on win
>>     
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> vista)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> and got these messages :
>>>>>>>>> .....
>>>>>>>>> .....
>>>>>>>>> Building zip: D:\derby2009\trunk\java\demo\toursdb\toursdb.jar
>>>>>>>>> Finished building toursdb
>>>>>>>>> copyfiles:
>>>>>>>>> Copying 13 files to
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>> D:\derby2009\trunk\classes\org\apache\derbyTesting\functionTests\tests\
>>>>
>>>>         
>>>>>>>> demo
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> toursdb:
>>>>>>>>> demo:
>>>>>>>>> testing:
>>>>>>>>> testing:
>>>>>>>>> junitcomponents:
>>>>>>>>> Compiling 1 source file to D:\derby2009\trunk\classes
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>> D:\derby2009\trunk\java\testing\org\apache\derbyTesting\junit\SecurityM
>>>>
>>>>         
>>>>>>>> anagerSetup.java:30:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> package junit.extensions does not exist
>>>>>>>>> import junit.extensions.TestSetup;
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>> D:\derby2009\trunk\java\testing\org\apache\derbyTesting\junit\SecurityM
>>>>
>>>>         
>>>>>>>> anagerSetup.java:31:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> package junit.framework does not exist
>>>>>>>>> import junit.framework.Test;
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>> D:\derby2009\trunk\java\testing\org\apache\derbyTesting\junit\SecurityM
>>>>
>>>>         
>>>>>>>> anagerSetup.java:32:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> package junit.framework does not exist
>>>>>>>>> import junit.framework.TestSuite;
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>> D:\derby2009\trunk\java\testing\org\apache\derbyTesting\junit\SecurityM
>>>>
>>>>         
>>>>>>>> anagerSetup.java:39:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> cannot find symbol
>>>>>>>>> symbol: class TestSetup
>>>>>>>>> public final class SecurityManagerSetup extends TestSetup {
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>> D:\derby2009\trunk\java\testing\org\apache\derbyTesting\junit\SecurityM
>>>>
>>>>         
>>>>>>>> anagerSetup.java:73:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> cannot find symbol
>>>>>>>>> symbol  : class Test
>>>>>>>>> location: class org.apache.derbyTesting.junit.SecurityManagerSetup
>>>>>>>>>         public SecurityManagerSetup(Test test, String
>>>>>>>>>
>>>>>>>>>                   
>>>> policyResource)
>>>>
>>>>         
>>>>>>>>>                                     ^
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>> D:\derby2009\trunk\java\testing\org\apache\derbyTesting\junit\SecurityM
>>>>
>>>>         
>>>>>>>> anagerSetup.java:94:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> cannot find symbol
>>>>>>>>> symbol  : class Test
>>>>>>>>> location: class org.apache.derbyTesting.junit.SecurityManagerSetup
>>>>>>>>>         public static Test noSecurityManager(Test test)
>>>>>>>>>                                              ^
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>> D:\derby2009\trunk\java\testing\org\apache\derbyTesting\junit\SecurityM
>>>>
>>>>         
>>>>>>>> anagerSetup.java:94:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> cannot find symbol
>>>>>>>>> symbol  : class Test
>>>>>>>>> location: class org.apache.derbyTesting.junit.SecurityManagerSetup
>>>>>>>>>         public static Test noSecurityManager(Test test)
>>>>>>>>> .....
>>>>>>>>> .....
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>> D:\derby2009\trunk\java\testing\org\apache\derbyTesting\junit\JDBC.java
>>>>
>>>>         
>>>>>>>> :673:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> cannot find symbol
>>>>>>>>> symbol  : variable Assert
>>>>>>>>> location: class org.apache.derbyTesting.junit.JDBC
>>>>>>>>>         Assert.assertEquals("Unexpected column count:",
>>>>>>>>> 100 errors
>>>>>>>>> D:\derby2009\trunk\build.xml:499: The following error
>>>>>>>>>                   
>> occurred while
>>     
>>>>>>>>> executing this line:
>>>>>>>>> D:\derby2009\trunk\java\testing\build.xml:59: The following error
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> occurred
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> while executing this line:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>> D:\derby2009\trunk\java\testing\org\apache\derbyTesting\junit\build.xml
>>>>
>>>>         
>>>>>>>> :74:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> Compile failed; see the compiler error output for details.
>>>>>>>>> BUILD FAILED (total time: 54 seconds)
>>>>>>>>> The previous time I hadn't read carefully the
>>>>>>>>>                   
>> building.html doc, but
>>     
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> now
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> I've put ant.jar and junit-3.8.2.jar into my
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> D:\derby2009\trunk\tools\java
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> directory.
>>>>>>>>> It seems that nothing has changed :-((
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> Hi Flavio,
>>>>>>>>
>>>>>>>> Have you tried building Derby outside Netbeans? That might
>>>>>>>>
>>>>>>>>                 
>>>> help narrow
>>>>
>>>>         
>>>>>>>> down the problem. One thing to note: the JUnit jarball
>>>>>>>>
>>>>>>>>                 
>>>> should be called
>>>>
>>>>         
>>>>>>>> junit.jar, not junit-3.8.2.jar. Try renaming the JUnit
>>>>>>>>
>>>>>>>>                 
>>>> jarball and see
>>>>
>>>>         
>>>>>>>> if that helps.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> -Rick
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> Thanks a lot
>>>>>>>>> Flavio
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Rick Hillegas <Richard.Hillegas@Sun.COM>
>>>>>>>>> To: Derby Discussion <derby-user@db.apache.org>
>>>>>>>>> Date: Fri, 06 Nov 2009 08:35:38 -0800
>>>>>>>>> Subject: Re: R: using ASTParser and TreeWalker
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>>>> Hi Flavio,
>>>>>>>>>>
>>>>>>>>>> A couple more comments inline...
>>>>>>>>>>
>>>>>>>>>> Flavio Palumbo wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> Hi Rich,
>>>>>>>>>>>
>>>>>>>>>>> thanks for your super quick answer ;-))
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>>>> Please tell us more about the problems you are having compiling
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>> the
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>>>> Derby trunk. We want to make the build easier.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>> I tried to build Derby following the guide at
>>>>>>>>>>> http://wiki.apache.org/db-derby/BuildingDerby ; I'm
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>> currently using
>>>>
>>>>         
>>>>>>>>>>>                       
>>>>>>>>>> NetBeans
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> 6.5 with jdk 1.6.0 ; when I try to build the project I
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>> get a lot of
>>>>
>>>>         
>>>>>>>>>>> exceptions due mainly to the fact that I'm not able to add jUnit
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>> jars
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>> to the
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> project.
>>>>>>>>>>> I'm bit hurry now, I'll try to generate again the project
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>> this week
>>>>
>>>>         
>>>>>>>>>>>                       
>>>>>>>>>> end to
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> be more accurate.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> Thanks for giving us this feedback. If you configure the
>>>>>>>>>>                     
>> ant build
>>     
>>>>>>>>>> target to be "buildsource" rather than "all", then you shouldn't
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>> need
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>> the junit jars. For more information, see the
>>>>>>>>>>                     
>> BUILDING.html file in
>>     
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>> the
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>> root directory of the Derby trunk.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>> Yes, you should be able to compile these classes against the
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>> official
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>> debug jars for 10.5.3.0.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>> what you mean with "debug jars" ?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> If you go to the 10.5.3 download page (
>>>>>>>>>> http://db.apache.org/derby/releases/release-10.5.3.0.cgi
>>>>>>>>>>                     
>> ), you'll
>>     
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>> see
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>> a
>>>>>>>>>> number of downloadable distributions. Two of them have the word
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>> "debug"
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>> in their names. The jars in those two distributions have extra
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>> tracing
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>> logic built into them. The TreeWalker uses that extra
>>>>>>>>>>
>>>>>>>>>>                     
>>>> tracing logic.
>>>>
>>>>         
>>>>>>>>>> Hope this helps,
>>>>>>>>>> -Rick
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> Thanks a lot.
>>>>>>>>>>>
>>>>>>>>>>> Flavio
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>>>> -----Messaggio originale-----
>>>>>>>>>>>> Da: Richard.Hillegas@Sun.COM [mailto:Richard.Hillegas@Sun.COM]
>>>>>>>>>>>> Inviato: venerdì 6 novembre 2009 15.45
>>>>>>>>>>>> A: Derby Discussion
>>>>>>>>>>>> Oggetto: Re: using ASTParser and TreeWalker
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Hi Flavio,
>>>>>>>>>>>>
>>>>>>>>>>>> Flavio Palumbo wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I tried test ASTParser and TreeWalker to try to parse SQL
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>>> strings and the
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> first works fine while I cannot compile the second cause I
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>> receive
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>> this
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>> compile time error :
>>>>>>>>>>>>> TreeWalker is not abstract and does not override
>>>>>>>>>>>>>                           
>> abstract method
>>     
>> visitChildrenFirst(org.apache.derby.iapi.sql.compile.Visitable)
>>     
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>> in
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>>>>> org.apache.derby.iapi.sql.compile.Visitor
>>>>>>>>>>>>>
>>>>>>>>>>>>> is there a newer version I can use or can somebody tell me how
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>>> to fix this
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> problem ?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>>> The visitChildrenFirst() method was added to the Visitor
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>> interface
>>>>
>>>>         
>>>>>>>>>>>> recently. I have attached  new versions of TreeWalker,
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>> XmlTreeWalker,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>> and XmlTreePrinter to DERBY-3946, DERBY-791, and DERBY-4415
>>>>>>>>>>>> respectively. The new versions implement the new method
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>> and should
>>>>
>>>>         
>>>>>>>>>>>> compile against the current Derby trunk. If this
>>>>>>>>>>>>                         
>> doesn't fix your
>>     
>>>>>>>>>>>> problem, let me know and I'll look into this more.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> also I found the post "Rick Hillegas added a comment -
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>>> 25/Aug/09 04:00 PM"
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> on https://issues.apache.org/jira/browse/DERBY-3946 :
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have successfully compiled and run this ASTParser
>>>>>>>>>>>>>                           
>> against the
>>     
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>> debug
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>> derby.jar that is part of the 10.5.3.0 distribution
>>>>>>>>>>>>>
>>>>>>>>>>>>> it means that I can compile and run ASTParser and TreeWalker
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>> against the
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>> normal distribution of Derby ?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>>> Yes, you should be able to compile these classes against the
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>> official
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>> debug jars for 10.5.3.0.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> this would be great cause I fight a lot to compile Derby from
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>> svn.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>>>> Please tell us more about the problems you are having compiling
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>> the
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>>>> Derby trunk. We want to make the build easier.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> -Rick
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> Any hint would be appreciated.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Flavio
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> -----------------------------------------------------------
>>>>>>>>>>>>> Il presente messaggio non costituisce un impegno contrattuale
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>>> tra SILMA S.r.l. ed il destinatario.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> Le opinioni ivi espresse sono quelle dell'autore.
>>>>>>>>>>>>> SILMA S.r.l. non assume alcuna responsabilita riguardo al
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>>> contenuto del presente messaggio.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> Il messaggio è destinato esclusivamente al destinatario.
>>>>>>>>>>>>> Il contenuto e gli allegati sono da considerarsi di natura
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>> confidenziale
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>> Nel caso abbiate ricevuto il presente messaggio per errore
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>>> siete pregati di comunicarlo
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> alla casella segreteria@silmasoftware.com.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>> -----------------------------------------------------------
>>>>>>>>>>> Il presente messaggio non costituisce un impegno
>>>>>>>>>>>                       
>> contrattuale tra
>>     
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> SILMA S.r.l. ed il destinatario.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> Le opinioni ivi espresse sono quelle dell'autore.
>>>>>>>>>>> SILMA S.r.l. non assume alcuna responsabilita riguardo al
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>> contenuto
>>>>
>>>>         
>>>>>>>>>>>                       
>>>>>>>>>> del presente messaggio.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> Il messaggio è destinato esclusivamente al destinatario.
>>>>>>>>>>> Il contenuto e gli allegati sono da considerarsi di natura
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> confidenziale
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> Nel caso abbiate ricevuto il presente messaggio per errore siete
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>>> pregati di comunicarlo
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> alla casella segreteria@silmasoftware.com.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>                       
>>>>>>>>> -----------------------------------------------------------
>>>>>>>>> Il presente messaggio non costituisce un impegno contrattuale tra
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> SILMA S.r.l. ed il destinatario.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> Le opinioni ivi espresse sono quelle dell'autore.
>>>>>>>>> SILMA S.r.l. non assume alcuna responsabilita riguardo al
>>>>>>>>>                   
>> contenuto
>>     
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> del presente messaggio.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> Il messaggio è destinato esclusivamente al destinatario.
>>>>>>>>> Il contenuto e gli allegati sono da considerarsi di natura
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> confidenziale
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> Nel caso abbiate ricevuto il presente messaggio per errore siete
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>> pregati di comunicarlo
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> alla casella segreteria@silmasoftware.com.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>> -----------------------------------------------------------
>>>>>>> Il presente messaggio non costituisce un impegno contrattuale
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>> tra SILMA S.r.l. ed il destinatario.
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> Le opinioni ivi espresse sono quelle dell'autore.
>>>>>>> SILMA S.r.l. non assume alcuna responsabilita riguardo al
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>> contenuto del presente messaggio.
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> Il messaggio è destinato esclusivamente al destinatario.
>>>>>>> Il contenuto e gli allegati sono da considerarsi di natura
>>>>>>>
>>>>>>>               
>>>> confidenziale
>>>>
>>>>         
>>>>>>> Nel caso abbiate ricevuto il presente messaggio per errore
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>> siete pregati di comunicarlo
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> alla casella segreteria@silmasoftware.com.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>> -----------------------------------------------------------
>>>>> Il presente messaggio non costituisce un impegno contrattuale
>>>>>
>>>>>           
>>>> tra SILMA S.r.l. ed il destinatario.
>>>>
>>>>         
>>>>> Le opinioni ivi espresse sono quelle dell'autore.
>>>>> SILMA S.r.l. non assume alcuna responsabilita riguardo al
>>>>>
>>>>>           
>>>> contenuto del presente messaggio.
>>>>
>>>>         
>>>>> Il messaggio è destinato esclusivamente al destinatario.
>>>>> Il contenuto e gli allegati sono da considerarsi di natura
>>>>>           
>> confidenziale
>>     
>>>>> Nel caso abbiate ricevuto il presente messaggio per errore
>>>>>
>>>>>           
>>>> siete pregati di comunicarlo
>>>>
>>>>         
>>>>> alla casella segreteria@silmasoftware.com.
>>>>>
>>>>>
>>>>>
>>>>>           
>>> -----------------------------------------------------------
>>> Il presente messaggio non costituisce un impegno contrattuale
>>>       
>> tra SILMA S.r.l. ed il destinatario.
>>     
>>> Le opinioni ivi espresse sono quelle dell'autore.
>>> SILMA S.r.l. non assume alcuna responsabilita riguardo al
>>>       
>> contenuto del presente messaggio.
>>     
>>> Il messaggio è destinato esclusivamente al destinatario.
>>> Il contenuto e gli allegati sono da considerarsi di natura confidenziale
>>>
>>> Nel caso abbiate ricevuto il presente messaggio per errore
>>>       
>> siete pregati di comunicarlo
>>     
>>> alla casella segreteria@silmasoftware.com.
>>>
>>>
>>>       
>
>
> -----------------------------------------------------------
> Il presente messaggio non costituisce un impegno contrattuale tra SILMA S.r.l. ed il destinatario.
> Le opinioni ivi espresse sono quelle dell'autore.
> SILMA S.r.l. non assume alcuna responsabilita riguardo al contenuto del presente messaggio.
> Il messaggio è destinato esclusivamente al destinatario.
> Il contenuto e gli allegati sono da considerarsi di natura confidenziale
>
> Nel caso abbiate ricevuto il presente messaggio per errore siete pregati di comunicarlo
> alla casella segreteria@silmasoftware.com.


Mime
View raw message