Bash Autocomplete (Textual Completion) in der MySQL Konsole

Irgendwelche Probleme mit XAMPP für Mac OS X? Dann ist hier genau der richtige Ort um nachzufragen.

Bash Autocomplete (Textual Completion) in der MySQL Konsole

Postby Sehl » 12. December 2006 19:05

Erstmal hallo zusammen, ich bin neu in diesem Forum :) und starte gleich mit einer Frage (und ich hoffe, es ist der richtige Ort hier ;) ):

Mac OS X bietet ja seit der Panther-Version (oder so) eine komplett funktionstüchtige Bash, die auch "Textual Completion" unterstützt - mit der [Tab] Taste.

In mysql funktioniert die auch, allerdings nur für grundlegende Befehle (z.B. use, show, select usw...) aber danach nicht mehr.

In gewissen Linux-Distributionen funktioniert dieses Autocompletion aber "besser" in der MySQL-Konsole. Ich habe unter anderem Tabellen mit sehr langen Spaltennamen oder sehr langen Tabellennamen. Ich hätte also gerne, dass dieses Autocomplete auch dort greift und mir, wenn ich:

"select * from userG" und dann [Tab]

eingebe automatisch zu Folgendem komplettiert:

"select * from userGroupPermission"

"userG" ist schon genügend eindeutig - in meinem Fall. Und die Tabelle existiert auch.

Ich arbeite praktisch nur mit der Console in MySQL (PHPmyAdmin ist remote ein wenig zu langsam und mit InnoDB wirds schnell mühsam). Deshalb wäre ich froh, wenn ich auf meinen Mac nicht immer die vollen Spaltennamen oder Tabellennamen ausschreiben müsste.

Geht das irgendwie? Liegt es daran, wie MySQL kompiliert wurde?

Ich hoffe mal, es war alles verständlich hier, sonst natürlich motzen.

Grüsse
Sehl

P.S. Kann man übrigens mithelfen bei der FAQ für MacOS X? Wird mal Zeit, dass die kommt ;)
Sehl
 
Posts: 3
Joined: 12. December 2006 18:50
Location: Basel

Postby Kristian Marcroft » 13. December 2006 00:21

Hallo Sehl,

mir ist bislang keine Option beim kompilieren für solch eine Funktion bekannt.
Ich würde idch gerne bitte das ganze als Request unter http://bugs.xampp.org einzutragen. (English only!). Gerne werden wir uns das dann einmal ansehen, evtl. habe ich ja doch etwas übersehen.

Was die FAQ angeht, bist du gerne jederzeit Willkommen sinnvolle Beiträge an uns weiterzugeben.

Mit freundlichem Gruß
Kristian Marcroft
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby Sehl » 13. December 2006 00:48

Nach einiger Recherche glaube ich immer weniger, dass dies an Xampp (also an die mysql binary in Xampp) liegt - wohl viel eher an der bash von Mac OS X (10.4).

Es gibt da ein paar bash-complete plugins - vielleicht taugen die was.

Ich denke, es ist sinnvoller es als request zu posten, wenn ich WEISS, dass es mit Xampp zu tun hat - oder geht ihr damit nicht so restriktiv um?

Die Lösung - wenn ich denn eine finde - werde ich hier sicher posten.

Betr. FAQ: Ich müsste natürlich wissen, was ihr schon habt, sonst arbeiten wir doppelt ;) Die Mac OS FAQ sind ja nicht ersichtlich, momentan - oder habe ich was verpasst?
Sehl
 
Posts: 3
Joined: 12. December 2006 18:50
Location: Basel

Postby Kristian Marcroft » 13. December 2006 00:57

Hallo,

besser herausfinden obs an XAMPP liegt oder nicht. Dann Bug eröffnen.

bzgl. FAQ:
Es gibt bislang keine. Es hatte bislang keiner Zeit dafür gefunden sich mit den FAQ auseinander zu setzen und dafür wirklich etwas zu schreiben.

Mit freundlichem Gruß
Kristian Marcroft
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby Sehl » 15. December 2006 03:27

So doof ...

Die Lösung liegt vor der Nase - man muss nur aufhören zu suchen ;)

Die oben beschriebene Funktion ist eine Funktion der MySQL Console. Autocompletion wird aber erst aktiviert, wenn eine Datenbank ausgewählt ist (use irgendeine_datenbank) oder wenn die Console mit --auto-rehash gestartet wird ;)

http://dev.mysql.com/doc/refman/5.0/en/ ... tions.html

Ein einfaches "rehash" in der Console bringt's auch.

In der in Xampp mitgelieferten my.cnf ist diese Funktion explizit ausgeschaltet.

In der Section [mysql] muss "no-auto-rehash" auskommentiert werden, damit Autocompletion wieder von alleine funktioniert. MySQL (also der Client, die Console) startet ein wenig schneller, wenn diese Option nicht aktiviert ist, da es nicht alle Tabellen- und Spaltennamen einlesen muss. Schlussendlich ist dieser Zeitverlust aber kein Vergleich zum Zeitgewinn durch Aktivierung dieser Funktion. In der Console ist man (mit ein wenig - wirklich wenig - Übung) schneller als z.B. mit phpmyAdmin.

Für eine weitere Erklärung dieser Funktion gibt es hier ein paar Infos.

Grüsse
Sehl

An die FAQ mache ich mich mal ran, wenn's beliebt, schliesslich waren für die Installation doch noch einige Hürden zu meistern (je nach Konfiguration und so)

P.S.
Sehl
 
Posts: 3
Joined: 12. December 2006 18:50
Location: Basel


Return to XAMPP für Mac OS X

Who is online

Users browsing this forum: No registered users and 2 guests