Fixing tab-complete for dollar-names

Mikhail Gribkov <youzhick@gmail.com>

From: Mikhail Gribkov <youzhick@gmail.com>
To: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2023-06-16T21:51:30Z
Lists: pgsql-hackers

Attachments

Hi hackers,

In modern versions of Postgres the dollar sign is a totally legal character
for identifiers (except for the first character), but tab-complete do not
treat such identifiers well.
For example if one try to create an Oracle-style view like this:

create view v$activity as select * from pg_stat_activity;

, he will get a normally functioning view, but psql tab-complete will not
help him. Type "v", "v$" or "v$act" and press <TAB> - nothing will be
suggested.

Attached is a small patch fixing this problem.
Honestly I'm a little surprised that this was not done before. Maybe, there
are some special considerations I am not aware of, and the patch will break
something?
What would you say?
--
 best regards,
    Mikhail A. Gribkov

Commits

  1. Fix psql tab-completion for identifiers containing dollars.