Toad World® Forums

Dot Lookup not working in 6.0


#1

I installed versions 6.0 a couple of weeks ago. The dot lookup has not worked at all. In version 5.4 I could assign a name to a table: table1 T1, and then when coding I could type T1. and then a list of all fields in table1 would come up. I’ve checked my settings and everything is enabled. Is this a bug or what am I missing?

Thanks!

Randy


#2

Hi Randy,

There have been reports about Dot look-up doesn’t work for 6.0 and we have spent a lot of time investigating it. It’s a hard issue to taclke because we rarely managed to reproduce it in our machines. However, we have made several changes to improve its performance and one of our beta user here noticed that the code completion works better in 6.1.

Hvaing said that, there are a few things you can try. You can turn off code completion completely and bring up the code completion list by pressing Ctrl+space after typing in the dot. The other issue with dot-lookup is it may take a while to retrieve the columns in the table. When you type dot, Nav will fire a query that retrieves the columns. While that query is being run, the X button will be greyed out. When it’s black again, the list will be displayed.

Hope this helps,
Gwen


#3

Gwen,

I cannot get the dot look-up to work no matter what I try. None of your suggestions have worked. Could it be a timing issue or something else that has changed with our DB connectivity? If I find the time I will completely uninstall and reinstall 6.0 to see if that helps. Otherwise I guess I’ll have to keep another window open so that I can reference the tables and field names.

Thanks!

Randy


#4

I have problems with the dot lookup, but only on 10G. What I do (and this seems to work fairly consistently) is when you type the “t1.” watch the x in the corner, when it is no longer greyed out then press the ctl-space, wait a second or so and the list shows up. This works almost every single time for me. When you type the first character (to try to reduce the list) wait about a second and the reduced list will come up. After the second letter it seems to stay up all the time (Unless you type something that can not be derived from the list).
Not sure if this is any help, but it does work for me…


#5

Hi guys,

There were some updates regarding the Code Completion/Dot Lookup. We were able to reproduce 3 cases in which this feature doesn’t work:

  • the list doesn’t pop up in an “Order by” clause
  • the list doesn’t pop up in a “Delete” statement
  • the list doesn’t pop up when object name contain two underscore characters (ie. my_testing_table)

The third one has been fixed in our patch release 6.1.1. The rest will be addressed in 6.2.

Gwen


#6

That’s great news! I really appreciate the updates.

Thanks Gwen!


#7

Hi Gwen

I tried this out in 6.1.1 but still run into a problem. While Code Completion works in a simple statement, it does not work in a more complex statement.

For example, code completion works properly in a statement like this:

SELECT t.
FROM test_t t

However, it does not work at all (including ctrl-space) in an example like this:

SELECT CASE WHEN t.
FROM test_t t

In SQL Nav 5.5, this was not a problem to do. Do you know if this is fixed in 6.2?

Thanks!
-Michael


#8

Hi Michael,

The beta build hasn’t addressed this issue yet but it will definitely be fixed soon.

Thanks,
Gwen

Message was edited by: Gwen


#9

SELECT a.empno, a**.ename, a.job, a.mgr, a.hiredate, a.sal, a.comm, a.deptno
FROM scott.emp a
SELECT a.empno, a.ename, a.job, a.mgr, a.hiredate, a.sal, a.comm, a.deptno, INITCAP(a.
FROM scott.emp a
SELECT a
.empno,** a**.ename,** a**.job,** a**.mgr,** a**.hiredate,** a**.sal,** a**.comm,** a**.deptno, INITCAP()
**FROM scott.emp a
Hi Gwen,

Thank you for the response!

I’m a little bit confused by your statement, however. Anytime an alias is used on a column in a SELECT statement, it occurs before the table reference in the FROM clause. This is normal behavior, right? Oracle handles the processing of the query.

When I press Ctrl+space, i see the X in the corner disappear, but the list of column names never pops up.

Again, as an example, we can use the SCOTT schema: Code Completion works fine in a statement like this. However, if you add a function, it no longer works until the function is closed:

Does not work:Works:

If you close the parenthesis first, then back up and type in “a.” Code Completion works. This seems to be a little back backward, and not particularly useful. The functionality in previous versions (everything up to 5.5) was far more useful and productive. Imagine writing several nested functions or a long CASE statement; as it stands now, Code Completion would not be functional.

Does this make a bit more sense?

Thanks!
-Michael


#10

Hi Michael,

I edited my reply not long before your post. You’re totally right. It should work no matter what. When I tested your case before, I typed:
select a. from emp a;
The list didn’t pop up. As a result, I thought the underlying issue is not with the ‘select case’ syntax but with the position of the alias.I reread your post later on and realized my mistake. Notice how the keyword ‘FROM’ is on the same line as the alias, that’s what cause the issue I had. So there’re 2 bugs here that we need to address. These will be our highest priorities for 6.2.

Cheers
Gwen


#11

Awesome! I appreciate the update, Gwen.

Thanks!
-Michael


#12

Hi Gwen,

I recently installed SQLNAV 6.2.1 but still continue to have problems with code completion. Sometimes, it will fire off, other times it won’t. I’ve noticed that sometimes it doesn’t run when used with a function i.e. LPAD(a.column_name…), and other times it just doesn’t work at all. I see the “X” in the upper right corner turn gray and try to run, but nothing happens. I can press ctrl-space to bring up the code completion when this happens.

However, even in the few instances when it does work, it is awfully, painfully slow. I have two machines side-by-side, one running SQLNAV 5.5.0.713, and the other running SQLNAV 6.2.1. The 5.5 machine can bring up code completion in less than one second, the 6.2 machine takes 6 seconds or more. The 5.5 machine is old hardware, so environment can be ruled out.

I really need this feature to work in order to continue to use SQLNAV.

Feel free to let me know if you have any questions.

Thanks!
-Michael


#13

Hi Michael,

We’re aware of the above issues regarding the Code Completion feature. Unfortunately, most of the issues except for the timing cannot be reproduced in our environment which makes it extremely hard to debug and fix. We’re planning to have a webex session with a customer with the same problem at the end of the week.

I will keep you posted if we have any more news.

Cheers
Gwen


#14

Hi Randy,

There’re currently three outstanding issues with Code Completion

  1. Code Completion doesn’t work with incomplete syntaxes. For example:
    select * from dual
    select * from emp e where e.
    To make this work, add semi-colon at the end of the first statement.
    Another case is with using function
    select max (a.
    In this case, close the brackets before using Code Completion.

  2. Code Completion is slow even after changing the delay time

  3. Code Completion doesn’t work at all. We found out that this may be related to the delay time. If the delay time is set to a small number (i.e. 100) and the query used to retrieve code completion information takes a long time, code completion may not appear at all. This happens quite often if you have a slow connection which slows down response time.

In your case, if there’re times that code completion doesn’t work at all, please try set the delay time to a larger number as a work-around.

Gwen


#15

Hi Gwen

about 3. may I suggest that SQLNav could check if the query takes to long and issue a warning to the user or automatically change the delay time?

Thanks

Filipe


#16

Hi all,
I’m working on the timing issue right now. What makes it difficult to fix is that all the completion queries run in the background in the current session, so whenever the user makes a change, we have to interrupt the current completion thread and initiate another. To interrupt the thread immediately, we have to send a break to the server; this sometimes doesn’t work straight away and instead of the current query breaks the one that we send next. I’m thinking on a better solution, but bear in mind that we don’t want to make too many changes at this stage as we would have to completely retest it.
Thanks for your understanding,
Roman


#17

Thank you for looking into it, Roman.

Forgive me for asking the obvious, but as a layman, it worked flawlessly in 5.5. Is it not possible to use the same logic/approach for the current version? I’ll assume that some piece of functionality was added, which changed code assistant. However, does the new functionality outweigh the loss of the previous, desired feature?

Thanks,
-Michael


#18

Hi Michael,

Could you please verify if this problem is fixed in the latest Beta build.

Thank you,
Roman


#19

Hi Roman,

Will do! One question… should I uninstall all Quest SQLNAV-related software prior to installing the latest build of SQLNAV 6.3? I’m on a production machine.

Regards,
-Michael


#20

Hi Michael,

You can install this build side by side with all other SQL Nav products. Just make sure a different installation folder is selected. As this is only a beta release, we recommend you not to install it on a product machine.

Cheers,
Gwen