* [X] Fix the \d . Seems broken. * [X] Check what happens when \d django* is run. * [] \c is broken. * [] Check why Indexes have a invalid at the end when \d is called on them. * [X] Vendor in tabulate. * [X] Create a separate pgspecial package. * [X] Vendor in pgspecial package. * [X] Auto-refresh for \c and 'use' statements. * [X] Add \c command. * [O] Add MySQL commands (use, describe etc) * [X] Add exit, quit and \q. * [] Show only table sensitive columns. * [] Add logging. * [] Add some tests. Sanity, Unit, Completion, Config. * [] Setup the pgcli.com website. * [ ] Add a new trigger for M-/ that does dumb completion. * [] Improve the smart completion for Insert statement. * [] Improve the smart completion for Update statement. * [ ] Find a way to add documentation to sql commands. This could get tricky. * [ ] Add tests for smart completion. * [ ] Detect a '.' and parse the word before it and get it's real name. * [] Refactor the execution and output into a separate class. * [] Create a class for the config and make it easy to access. * [ ] Add more complex slash commands such as \d . * This is going to take a separate lib. * [] Send the last token as a PR back to sqlparse. * [] Create a better framework for adding special commands. * A dict with special commands as keys. * The value can either be a string or a callable. * [X] Get new table style merged back to tabulate. * [X] Add multi-line support. * [X] Refresh tables and columns after a create table and alter table. * [x] Add a lot more SQL keywords to auto-completion (Read the postgres docs) * [X] Deal with commands that have no return rows (such as delete, begin transaction etc). * [X] Update README. * [X] Upload rev 2 to PyPI. * [X] Add borders around the table. * [X] Investigate why having a space in the beginning of the line breaks everything. * [X] Test if the special comands are autocompleted correctly. * [x] Control smart completion via config file. * [x] Figure out how to deal with transactions. * [X] Add a config file. * [X] Add context sensitive auto-completion. * Check how sqlpython is doing it. * [X] Prettify the output into nice columnar tables. * [X] Check how to deal with failed commands that result in dangling transaction. * [X] Add a history file. * [X] Deal with errors that happen at connection (password, host etc). * [X] Deal with errors that happen during sql execution. * [X] Add auto-completion based on the tables, columns names. * launch psql with -E option and try \d, \dt etc and copy the sql statements. * [X] Translate the commands to pg backend. * [X] Add options to read the host, user, passwd etc. * [X] Add the back-slash commands. * launch psql with -E option and try \d, \dt etc and copy the sql statements.