Shooter7119 / sequel-pro

Automatically exported from code.google.com/p/sequel-pro
Other
0 stars 0 forks source link

[REQ] Allow user to view field names while writing SQL #183

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
When building SQL allow the users to "drill" into the table names on the left 
to view the fields. This is a helpful reference when building the SQL.

Original issue reported on code.google.com by mike.farmer on 3 Mar 2009 at 10:03

GoogleCodeExporter commented 9 years ago

Original comment by stuart02 on 4 Mar 2009 at 9:28

GoogleCodeExporter commented 9 years ago
Auto complete has been added to the Query Editor for field names and table 
names.
I'd like to avoid going down the path of using a drill down - aka outline view 
- for the table list. 
I find all SQL dev tools that do this to be too messy or have ugly 
implementation.

Original comment by avenja...@gmail.com on 14 May 2009 at 3:53

GoogleCodeExporter commented 9 years ago
Issue 344 has been merged into this issue.

Original comment by stuart02 on 16 Oct 2009 at 8:41

GoogleCodeExporter commented 9 years ago
This continues to be my biggest frustration with Sequel Pro.  I don't have all 
my
tables and their fields memorized.  Right now I have to open two sequel pro 
windows
to see table structure in one and write my query in another.  The Auto Complete
feature is unusable when you have lots of tables and lots of fields and it 
doesn't
even work most of the time.  I agree with the messy implementation that you 
refer to
but there has to be some way that I can easily lookup table and field 
information
from the query window.

Original comment by mike.farmer on 17 Dec 2009 at 7:29

GoogleCodeExporter commented 9 years ago
Mike Farmer + 1. I agree; I'd really like a visual representation of the schema 
to assist in query writing. I don't 
have my tables and columns memorized, and I'm constantly switching between tabs 
to build queries. It's the 
single feature I look for whenever I update.

The Auto-complete implementation requires that you know the first character, 
and that you manually activate 
it. If the implementation could be a bit smarter and more active, allow 
activation with zero characters (to 
prime it), and a different key combo (command + period - ESC requires a large 
hand move), it might go a 
long way.

And, to be clear, I'm not looking for an exhaustive description of the 
structure. A simple table name, then 
column name in a tree view would be brilliant. That's all you really need when 
writing queries. Maybe a hover 
state to describe the column properties, but that's all. 

Original comment by matthew.schultz on 18 Dec 2009 at 3:09

GoogleCodeExporter commented 9 years ago
To see that is one Point but to get it complete it shoold be in a Form like 
this:

>Table
       <fieldname>(<fieldtype>) 

To see whether i have to write "like" or "="...

Original comment by Arnold.S...@gmail.com on 13 Feb 2010 at 2:12

GoogleCodeExporter commented 9 years ago
The latest Sequel Pro nightly provides a new multi-mode narrow-down completion 
(for MySQL >= 5.0 up to 
now) which makes it much easier to write db/table/field names of the current 
connection. In addition it shows 
for fields the field type and encoding.
Furthermore it allows a fuzzy search completion CTRL+ESC, e.g. type "i_s.colu." 
to see all fields from the 
tables information_schema.COLUMNS and information.schema.COLUMN_PRIVILEDGES.
If one presses ⇧ while choosing the a suggestion it inserts the full path. A 
documentation will follow soon.

--Hans

PS see attachments

Original comment by bibiko@gmail.com on 13 Feb 2010 at 3:07

Attachments:

GoogleCodeExporter commented 9 years ago
Since this thread shows that this topic is a matter of opinions, let me state 
mine.

There is now Question about that the auto-completition feature isn't really 
great.
It's a fact that working with data in a lot of tables with a lot of columns 
(e.g. Wordpress with a few add-ons 
on in my case test-data for my experiments) starts to suck and it get's even 
worse considering joins between 
two (and in my case not unusually more) tables.

It would be really helpful to get a view on the datastructure while writing 
queries as seen in the attachement. 
And even better getting the type of the column along. 

If someone prefers not to have that feature then there may be a switch in the 
prefs. Further I have to say that 
this feature is very rare around the native mac os x mysql tools. So it would 
also be an strategic asset to 
establish a better position against competion on the market (even Sequel is 
free you don't do it for your self, 
but to bring a great peace of software to the people).

That's all I have to say regarding this topic. 
Please keep up the good work.

Greeting from Germany,
Arnold

Original comment by Arnold.S...@gmail.com on 14 Mar 2010 at 8:09

Attachments:

GoogleCodeExporter commented 9 years ago
Hi Arnold,

only a tiny interposed question so far: Which auto-completion version do you 
mean? Of 0.9.7 or of the nightly 
builds (see here comment 7)? If you mean the auto-completion of the nightly 
builds could you please 
substantiate what's missing?

Regardless of the auto-completion we're thinking about that request intensely.

Kind regards,
--Hans

Original comment by bibiko@gmail.com on 14 Mar 2010 at 8:44

GoogleCodeExporter commented 9 years ago
Hi Hans,

I've been talking about the nightly builds. But regarding that question I 
assume you misunderstood me. 
I talked about the feature "auto-completion" by itself. Itself can only prevent 
from typing much, but doesn't give 
you some kind of overview of your possibilities to get to a specific target. 
The feature itself in its type is not 
comparable to the possibility to get a more detailed view of the tables while 
actually writing a query. Also the 
detailed view is more self-explanatory than learn substitutes like "i_s.colu" 
and if I've learned something about 
software it will be that you have to make it as easy to use as possible.

I hope you get my point, since it's kinda hard for me to express myself in 
english. So please excuse my bad 
english.

Greeting from Germany again,
Arnold

Original comment by Arnold.S...@gmail.com on 14 Mar 2010 at 11:46

GoogleCodeExporter commented 9 years ago
I'm a bit confused by your comment, too.
If you have a hard time writing English just write German, Hans and me both can 
unterstand that :)

Are you looking for a tool that provides completion while writing a query when 
you don't even know which 
table/column you want to add?

Original comment by schlabbe...@gmail.com on 16 Mar 2010 at 2:00

GoogleCodeExporter commented 9 years ago
I think he means he wants a more visual list somewhere, rather than 
autocompletion; while you can now type 
"i_s." and hit autocomplete for a list of the columns, it still isn't as 
obvious/visible as a separate structure list 
somewhere?

Original comment by rowanb@gmail.com on 16 Mar 2010 at 2:19

GoogleCodeExporter commented 9 years ago
I've commented before, but I'd like to reiterate my support for this simple, 
yet highly important feature. It's as 
simple as the screenshot I've attached. 

Replace the 'Table Information' (which I find superfluous), with the column 
list. Simple. Effective. If you're 
worried about mucking up the interface, simply provide the column meta info 
(type, size, etc.) upon rollover. 
Again, simple, effective.

I almost never use the auto-completion because I really do need the visual cue 
of the column names. This is a 
killer feature.

Original comment by muedot...@gmail.com on 16 Mar 2010 at 2:49

Attachments:

GoogleCodeExporter commented 9 years ago
Hi all,

@schlabberdog
If i would write in german, i can assume that 90% of everybody can't get my 
point, so i think i just stick with english. 

I think rowanb got the point. But it's not only about visibility and handling. 
It's a feature to see even more then one table-
structure at the same time. So i have to disagree with matthewschultz001 about 
the place where i would like that 
information to see. Although i have to admit that i never ever looked at the 
table-infomation there. So i kind of agree 
that the given information there is a senseless use of space since the 
information is redundant (information pane).

I think the table structure (and so the column meta-info within) should be 
provided in the way shown in my screenshot 
above. 

In the end i want to say that i'm only explaining my wish for that feature 
since i felt kind of asked for my humble opinion  
by avenjamin saying he don't likes it. 

So far...
Arnold  

Original comment by Arnold.S...@gmail.com on 16 Mar 2010 at 8:46

GoogleCodeExporter commented 9 years ago
Agreed that the column names can also be a one-level deep tree structure, but 
(if I properly recall), that was 
shot down as being inelegant.

Original comment by muedot...@gmail.com on 16 Mar 2010 at 8:54

GoogleCodeExporter commented 9 years ago
Issue 279 has been merged into this issue.

Original comment by stuart02 on 17 Mar 2010 at 12:15

GoogleCodeExporter commented 9 years ago
Quick mockup.
What about a menu item which lets you create as many info panels as you want 
and you 
can set them to show what you need while writing the query?

Original comment by schlabbe...@gmail.com on 17 Mar 2010 at 1:28

Attachments:

GoogleCodeExporter commented 9 years ago
Since a one-level deep tree structure is inelegant (which i can't see by 
myself) i think schlabberdogs proposal 
will satisfy my needs in functionality. Although i think the handling would be 
as good as in a one-level deep tree 
structure.

Even if there is now a proposal that will satisfy me i kinda feel like i have 
to ask:
Why is a one-level deep tree structure inelegant?

Original comment by Arnold.S...@gmail.com on 17 Mar 2010 at 11:40

GoogleCodeExporter commented 9 years ago
Do I understand that "one-level deep tree structure" mean that the table list 
would be an outline view, with 
tables expandable to view their fields?

If so, I'd agree on the "inelegant" front - disclosure triangles next to every 
table/view suddenly moves us away 
from the "standard" OS X left-list which everyone is used to the appearance of, 
and fields would probably have 
to be non-selectable (or otherwise what would you show when a field was 
selected?).  It would achieve the aim 
of displaying fields, but would compromise on the standard interface.

We've batted around a few ideas for this and will see what we can do once 0.9.8 
is out of the door.

Original comment by rowanb@gmail.com on 17 Mar 2010 at 12:44

GoogleCodeExporter commented 9 years ago
I have to answer your first question with a straight "yes".

Now i think i get your point. There is now api for doing so. I've never did 
something cocoa so i didn't know it. I 
simply assumed it would be not a big deal because i've seen thinks like that 
befor (screenshot given).

So i'm really looking forward for your ideas.

Original comment by Arnold.S...@gmail.com on 17 Mar 2010 at 1:05

Attachments:

GoogleCodeExporter commented 9 years ago
Oh there is an API - just compared to most apps with a sidebar, this is not a 
usual use :)

Eg disk utility, Mail.app have expandable sidebars - but each item is 
selectable.  The fields would (I think) not be 
selectable in Sequel Pro, which would seem wrong.

Original comment by rowanb@gmail.com on 17 Mar 2010 at 1:35

GoogleCodeExporter commented 9 years ago
But it could be (and be useful) by providing be additional information about a 
column at the place shown in 
matthewschultz001 screenshot.
Information like:
 - is this column covered by an (primary)index (useful for joins)
 - how big is the cardinality of the values in this column (useful but not easy to implement, may be 
impossible)
 - what is the length of the field (is it a varchar 3 oder 255?)
 - what is the charset of the column (every column can have its own charset regardless of the tables charset)
 - relations for this column (is there a foreign key contraint)

But i think they are really hard to gather.

Original comment by Arnold.S...@gmail.com on 17 Mar 2010 at 2:04

GoogleCodeExporter commented 9 years ago
 I would suggest a usability improvement to auto-complete.

At present the biggest issue for me to using this is differentiating between 
field and table names.
When the pop-up table listing all the possibilities names is displayed, a 
helpful improvement would be if I can 
either:

click on a small 'f' or 't' buttons, that are shown in a tiny menu bar,
 to filter the list to display either fields or tables ( or even 'v' for views )

or

type cmd-f or cmd-t ( or other key combination )  that would then just list the 
fields or tables.

Michael

Original comment by mjpta...@gmail.com on 3 Apr 2010 at 5:01

GoogleCodeExporter commented 9 years ago
auto_complet bug

if the full name of a table or field is key stroke enter do NOT pop up the 
auto_complete box.

This interferes with editing.  Once I have entered a field and I am hesitating 
while I think of the next thing to 
write
even though I have completely enter the field name and there are no other 
matching field names that use the 
entered text as a root for their name

ie ifI have fields name:
drug_name
drug_conc  

If Ii enter "drug_"   then the autocomplete should pop up
but if I enter "drug_name"  it should NOT.

michael

Original comment by mjpta...@gmail.com on 7 Apr 2010 at 8:18

GoogleCodeExporter commented 9 years ago
Hi mjptango,

which version do you are using?
A couple of hours ago we improved the auto-complete behaviour. Thus if you 
would like to try it please test the 
latest nightly build.

Thanks,
--Hans

Original comment by bibiko@gmail.com on 7 Apr 2010 at 8:34

GoogleCodeExporter commented 9 years ago
r2124

auto-complete needs to be quieted down.

it now wishes to auto complete numbers spaces brackets, 

a moments hesitation after typing ";" ie a semi colon and whooose a long list 
of 

michael

Original comment by mjpta...@gmail.com on 16 Apr 2010 at 11:10

GoogleCodeExporter commented 9 years ago
Michael,

Thanks for noting that - r2134 should have quieted it down a bit by no longer 
autocompleting on a range of 
symbols.  Let us know if you think more need to be added!

Original comment by rowanb@gmail.com on 19 Apr 2010 at 9:11

GoogleCodeExporter commented 9 years ago
Rowan,

testing with r2154
the autocomplete is working much better.
and there seems to be some improvement with deciding when to auto add ' ' and ( 
)  etc

nice work
michael

Original comment by mjpta...@gmail.com on 23 Apr 2010 at 4:50

GoogleCodeExporter commented 9 years ago
I came here to suggest exactly this feature and wasn't surprise by seeing so 
many people requesting the same. Actually is very painful in Sequel PRO to 
write an SQL command without knowing the field names by heart.
I saw a lot of ways to implement it so please please do it :)
The fields auto-completion add some extra ' which doesn't work for me :( so at 
the end I have to remove all those characters to work with my code.
Is there any way to remove the (') from the auto-completion?
Thanks
LP

Original comment by luispedr...@gmail.com on 21 Jan 2011 at 7:27

GoogleCodeExporter commented 9 years ago
Hi,

1) What do mean by "...add some extra ' "? Do you mean ` ? If so, it's MySQL's 
default wrap character to identify a given string uniquely as table name and 
schema resp.

2) Up to now you can press ⌥⌘3 to come up with a list of field names of the 
current selected table; start typing to narrow down that list or press CTRL+ESC 
to switch to fuzzy search mode (then you can type "dbdex" to get eg 
"ndb_binlog_index - which also works with completion). If you hold down CTRL 
while pressing RETURN that list keeps open to be able to insert another field 
name.

Please wait for the next release which is coming soon. Here we've implemented a 
Navigator which shows all field names plus SQL type etc. including drag&drop, 
search functionality. In addition the completion was improved in that respect 
and is aware of alias names for table names eg [| = cursor]: "select a.| from 
table1 as a"  and press ESC to see a list of all fields of table1 etc.

Cheers,
--Hans

Original comment by bibiko@gmail.com on 21 Jan 2011 at 9:01

Attachments:

GoogleCodeExporter commented 9 years ago
The navigator does provide a good solution to the functionality that Mike 
Farmer was requesting. 

Original comment by mattlangtree on 14 Jan 2012 at 8:42