Skip to content
This repository has been archived by the owner on Jan 3, 2021. It is now read-only.

Latest commit

 

History

History
333 lines (256 loc) · 12.2 KB

changelog.rst

File metadata and controls

333 lines (256 loc) · 12.2 KB

0.19.1

BugFixes:

  • Fix an autocompletion bug that was crashing the completion engine when unknown keyword is entered. (Thanks: Darik Gamble)

0.19.0

Features:

  • Wider completion menus can be enabled via the config file. (Thanks: Jonathan Slenders)

    Open the config file (~/.pgclirc) and check if you have wider_completion_menu option available. If not add it in and set it to True.

  • Completion menu now has metadata information such as schema, table, column, view, etc., next to the suggestions. (Thanks: Darik Gamble)

  • Customizable history file location via config file. (Thanks: Çağatay Yüksel)

    Add this line to your config file (~/.pgclirc) to customize where to store the history file.

history_file = /path/to/history/file
  • Add support for running queries from a file using \i special command. (Thanks: Michael Kaminsky)

BugFixes:

  • Always use utf-8 for database encoding regardless of the default encoding used by the database.
  • Fix for None dereference on \d schemaname. with sequence. (Thanks: Nathan Jhaveri)
  • Fix a crashing bug in the autocompletion engine for some JOIN queries.
  • Handle KeyboardInterrupt in pager and not quit pgcli as a consequence.

Internal Changes:

0.18.0

Features:

  • Add fuzzy matching for the table names and column names.

    Matching very long table/column names are now easier with fuzzy matching. The fuzzy match works like the fuzzy open in SublimeText or Vim's Ctrl-P plugin.

    eg: Typing djmv will match django_migration_views since it is able to match parts of the input to the full table name.

  • Change the timing information to seconds.

    The Command Time and Format Time are now displayed in seconds instead of a unitless number displayed in scientific notation.

  • Support for named queries (favorite queries). (Thanks: Brett Atoms)

    Frequently typed queries can now be saved and recalled using a name using newly added special commands (\n[+], \ns, \nd).

    eg:

# Save a query
pgcli> \ns simple select * from foo
saved

# List all saved queries
pgcli> \n+

# Execute a saved query
pgcli> \n simple

# Delete a saved query
pgcli> \nd simple
  • Pasting queries into the pgcli repl is orders of magnitude faster. (Thanks: Jonathan Slenders)
  • Add support for PGPASSWORD environment variable to pass the password for the postgres database. (Thanks: Iryna Cherniavska)
  • Add the ability to manually refresh autocompletions by typing \# or \refresh. This is useful if the database was updated by an external means and you'd like to refresh the auto-completions to pick up the new change.

Bug Fixes:

  • Fix an error when running \d table_name when running on a table with rules. (Thanks: Ali Kargın)
  • Fix a pgcli crash when entering non-ascii characters in Windows. (Thanks: Darik Gamble, Jonathan Slenders)
  • Faster rendering of expanded mode output by making the horizontal separator a fixed length string.
  • Completion suggestions for the \c command are not auto-escaped by default.

Internal Changes:

  • Complete refactor of handling the back-slash commands.
  • Upgrade prompt_toolkit to 0.42. (Thanks: Jonathan Slenders)
  • Change the config file management to use ConfigObj.(Thanks: Brett Atoms)
  • Add integration tests using behave. (Thanks: Iryna Cherniavska)

0.17.0

Features:

  • Add support for auto-completing view names. (Thanks: Darik Gamble)
  • Add support for building RPM and DEB packages. (Thanks: dp)
  • Add subsequence matching for completion. (Thanks: Daniel Rocco) Previously completions only matched a table name if it started with the partially typed word. Now completions will match even if the partially typed word is in the middle of a suggestion. eg: When you type 'mig', 'django_migrations' will be suggested.
  • Completion for built-in tables and temporary tables are suggested after entering a prefix of pg_. (Thanks: Darik Gamble)
  • Add place holder doc strings for special commands that are planned for implementation. (Thanks: Iryna Cherniavska)
  • Updated version of prompt_toolkit, now matching braces are highlighted. (Thanks: Jonathan Slenders)
  • Added support of \\e command. Queries can be edited in an external editor. (Thanks: Iryna Cherniavska) eg: When you type SELECT * FROM \e it will be opened in an external editor.
  • Add special command \dT to show datatypes. (Thanks: Darik Gamble)
  • Add auto-completion support for datatypes in CREATE, SELECT etc. (Thanks: Darik Gamble)
  • Improve the auto-completion in WHERE clause with logical operators. (Thanks: Darik Gamble)

Bug Fixes:

  • Fix the table formatting while printing multi-byte characters (Chinese, Japanese etc). (Thanks: 蔡佳男)
  • Fix a crash when pg_catalog was present in search path. (Thanks: Darik Gamble)
  • Fixed a bug that broke \e when prompt_tookit was updated. (Thanks: François Pietka)
  • Fix the display of triggers as shown in the \d output. (Thanks: Dimitar Roustchev)
  • Fix broken auto-completion for INNER JOIN, LEFT JOIN etc. (Thanks: Darik Gamble)
  • Fix incorrect super() calls in pgbuffer, pgtoolbar and pgcompleter. No change in functionality but protects against future problems. (Thanks: Daniel Rocco)
  • Add missing schema completion for CREATE and DROP statements. (Thanks: Darik Gamble)
  • Minor fixes around cursor cleanup.

0.16.3

Bug Fixes:

  • Add more SQL keywords for auto-complete suggestion.
  • Messages raised as part of stored procedures are no longer ignored.
  • Use postgres flavored syntax highlighting instead of generic ANSI SQL.

0.16.2

Bug Fixes:

  • Fix a bug where the schema qualifier was ignored by the auto-completion. As a result the suggestions for tables vs functions are cleaner. (Thanks: Darik Gamble)
  • Remove scientific notation when formatting large numbers. (Thanks: Daniel Rocco)
  • Add the FUNCTION keyword to auto-completion.
  • Display NULL values as <null> instead of empty strings.
  • Fix the completion refresh when \connect is executed.

0.16.1

Bug Fixes:

  • Fix unicode issues with hstore.
  • Fix a silent error when database is changed using \c.

0.16.0

Features:

  • Add ds special command to show sequences.
  • Add Vi mode for keybindings. This can be enabled by adding 'vi = True' in ~/.pgclirc. (Thanks: Jay Zeng)
  • Add a -v/--version flag to pgcli.
  • Add completion for TEMPLATE keyword and smart-completion for 'CREATE DATABASE blah WITH TEMPLATE <tab>'. (Thanks: Daniel Rocco)
  • Add custom decoders to json/jsonb to emulate the behavior of psql. This removes the unicode prefix (eg: u'Éowyn') in the output. (Thanks: Daniel Rocco)
  • Add df special command to show functions. (Thanks: Darik Gamble)
  • Make suggestions for special commands smarter. eg: dn - only suggests schemas. (Thanks: Darik Gamble)
  • Print out the version and other meta info about pgcli at startup.

Bug Fixes:

  • Fix a rare crash caused by adding new schemas to a database. (Thanks: Darik Gamble)
  • Make dt command honor the explicit schema specified in the arg. (Thanks: Darik Gamble)
  • Print BIGSERIAL type as Integer instead of Float.
  • Show completions for special commands at the beginning of a statement. (Thanks: Daniel Rocco)
  • Allow special commands to work in a multi-statement case where multiple sql statements are separated by semi-colon in the same line.

0.15.4

  • Dummy version to replace accidental PyPI entry deletion.

0.15.3

  • Override the LESS options completely instead of appending to it.

0.15.2

  • Revert back to using psycopg2 as the postgres adapter. psycopg2cffi fails for some tests in Python 3.

0.15.0

Features:

  • Add syntax color styles to config.
  • Add auto-completion for COPY statements.
  • Change Postgres adapter to psycopg2cffi, to make it PyPy compatible. Now pgcli can be run by PyPy.

Bug Fixes:

  • Treat boolean values as strings instead of ints.
  • Make di, dv and dt to be schema aware. (Thanks: Darik Gamble)
  • Make column name display unicode compatible.

0.14.0

Features:

  • Add alias completion support to ON keyword. (Thanks: Iryna Cherniavska)
  • Add LIMIT keyword to completion.
  • Auto-completion for Postgres schemas. (Thanks: Darik Gamble)
  • Better unicode handling for datatypes, dbname and roles.
  • Add timing command to time the sql commands. This can be set via config file (~/.pgclirc) using timing = True.
  • Add different table styles for displaying output. This can be changed via config file (~/.pgclirc) using table_format = fancy_grid.
  • Add confirmation before printing results that have more than 1000 rows.

Bug Fixes:

  • Performance improvements to expanded view display (x).
  • Cast bytea files to text while displaying. (Thanks: Daniel Rocco)
  • Added a list of reserved words that should be auto-escaped.
  • Auto-completion is now case-insensitive.
  • Fix the broken completion for multiple sql statements. (Thanks: Darik Gamble)

0.13.0

Features:

  • Add -d/--dbname option to the commandline. eg: pgcli -d database
  • Add the username as an argument after the database. eg: pgcli dbname user

Bug Fixes:

  • Fix the crash when c fails.
  • Fix the error thrown by d when triggers are present.
  • Fix broken behavior on ?. (Thanks: Darik Gamble)

0.12.0

Features:

  • Upgrade to prompt_toolkit version 0.26 (Thanks: https://github.com/macobo) * Adds Ctrl-left/right to move the cursor one word left/right respectively. * Internal API changes.
  • IPython integration through ipython-sql (Thanks: Darik Gamble) * Add an ipython magic extension to embed pgcli inside ipython. * Results from a pgcli query are sent back to ipython.
  • Multiple sql statments in the same line separated by semi-colon. (Thanks: https://github.com/macobo)

Bug Fixes:

  • Fix 'message' attribute not found exception in Python 3. (Thanks: https://github.com/GMLudo)
  • Use the database username as the database name instead of defaulting to OS username. (Thanks: https://github.com/fpietka)
  • Auto-completion for auto-escaped column/table names.
  • Fix i-reverse-search to work in prompt_toolkit version 0.26.

0.11.0

Features:

Bug Fixes:

Improvements: