[Mulgara-dev] TqlSession changes

Alex Hall alexhall at revelytix.com
Mon Nov 3 17:10:34 UTC 2008


Well, I believe I'm the only masochist here developing on Windows.  The graph
auto-completion works as advertised, and nothing major seems broken with the new
shell, but I do have the following issues:

1. In production, I never use the default "server1" server name.  In addition to
specifying a hostname for querying graphs for auto-completion, it would be nice
to override the default server name and RMI registry port.

2. No messages are actually flushed to the console until a query is successfully
executed.  For instance, I start the shell and type "help;" and hit enter -
nothing happens.  I type in a query and hit enter, and then the help message is
displayed, followed by the query results.  The same thing happens when there is
an error parsing or executing a command - the error message is not displayed
until a query actually completes.

3. I can get into a weird state where I can't exit the shell with the "quit"
command.  The most reliable way to reproduce this is to open a new shell, type
in a query with a syntax error and hit enter.  Entering "quit;" at the next
command prompt does not do anything.  There seems to be something screwy going
on with the command splitting or something like that.

All in all though, the Swing-less command shell is a much-anticipated
improvement.  Thanks!

Regards,
Alex

Brian Sletten wrote:
> I've checked in some changes to the Tql Shell (TqlSession) to leverage  
> JLine. I'm going to be creating a new shell shortly based on the  
> Command infrastructure, but for the time being I wanted to add this  
> behavior.
> 
> If you *WANT* the Swing shell, you now have to explicitly ask for it:
> 
> java -jar dist/querylang-2.0.6.jar --gui
> 
> The default behavior is now triggered by:
> 
> java -jar dist/querylang-2.0.6.jar
> 
> this will open up a "shell" in your outer shell and query a server  
> running on localhost for the names of models (for tabbed completion).  
> If you want to get models from another machine specify -r <hostname>.  
> Right now I am only doing tabbed completion of model names. If you type:
> 
> select $s $p $o from <rmi:<tab>
> 
> you'll see something like:
> 
> rmi://192.168.0.7/server1#             rmi://192.168.0.7/ 
> server1#sampledata   rmi://192.168.0.7/server1#graph
> 
> If you give it enough to uniquely identify the model, it will complete  
> it.
> 
> I eventually will be capturing variable names and URIs as you type  
> them for completion as well, but I am going to add that to the new  
> shell first.
> 
> In addition to working within your shell and tabbed completion, we  
> also now have command history (triggered by up arrow and down arrow)  
> including cross-session histories (stored in $HOME/.itqllog), and  
> shell clearing on proper terminals (CTRL-L).
> 
> I hope people find these useful. I've been wanting this capability  
> ever since I first started using TKS. The new shell will have some  
> other capabilities too (that I will be writing up shortly), but I want  
> to see what people think about these new capabilities, what else  
> they'd like to see, etc. Please test this on Windows and let me know  
> if there are any issues.
> 
> Thanks,
> 
> Brian
> _______________________________________________
> Mulgara-dev mailing list
> Mulgara-dev at mulgara.org
> http://mulgara.org/mailman/listinfo/mulgara-dev



More information about the Mulgara-dev mailing list