vendredi, juillet 4 2008

Et un patch intégré aux sources de PostgreSQL

Bon, c'est pas un patch du moteur... mais quand même, ça me fait bêtement plaisir :)

Lorsque vous utilisez l'outil client psql avec un serveur PostgreSQL de version antérieure, les métacommandes (\du par exemple) pouvaient vous renvoyer une erreur. Par exemple :

 guillaume@laptop:~$ psql -tc "select version()" aa
  PostgreSQL 8.0.17 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
 guillaume@laptop:~$ /opt/postgresql-8.3/bin/psql --version
 psql (PostgreSQL) 8.3.3
 contains support for command-line editing
 guillaume@laptop:~$ /opt/postgresql-8.3/bin/psql aa
 Welcome to psql 8.3.3 (server 8.0.17), the PostgreSQL interactive terminal.
 Type:  \copyright for distribution terms
        \h for help with SQL commands
        \? for help with psql commands
        \g or terminate with semicolon to execute query
        \q to quit
 WARNING:  You are connected to a server with major version 8.0,
 but your psql client is major version 8.3.  Some backslash commands,
 such as \d, might not work properly.
 aa=# \du
 ERROR:  relation "pg_catalog.pg_roles" does not exist
 ERROR:  relation "pg_catalog.pg_roles" does not exist

Ce que mon patch fait, c'est de modifier dynamiquement la requête exécutée suivant la version du serveur où psql est connecté :

 guillaume@laptop:~$ /opt/postgresql-head/bin/psql aa
 psql (8.4devel, server 8.0.17)
 WARNING: psql version 8.4, server version 8.0.
          Some psql features might not work.
 Type "help" for help.
 aa=# \du
            List of roles
  Role name | Attributes | Member of
 -++-
  guillaume | Superuser  |
            : Create DB
  postgres  | Superuser  |
            : Create DB
  pouet     |            |

Voilà, c'est pas grand chose, mais c'est plaisant :) Je pense que je vais travailler sur un autre patch pour le prochain commit fest.

jeudi, janvier 4 2007

Patch pour pgAdmin

Ciné, pas ciné, ciné, pas ciné... finalement pas ciné.

Cela étant dit, pas motivé non plus pour bosser sur le PC. Petit épisode de Grey's Anatomy (1ère saison, 2è épisode, très sympa). Toujours pas motivé. Je jette quand même un oeil aux sources de pgAdmin, histoire de m'attaquer à un patch que j'ai promis à Dave (support de pgstattuple). J'ai donc jeté un oeil, puis deux... et j'ai eu du mal à en sortir. Une modif par ci, un ajout par là, je me suis régalé. Bref, je me trouve avec un joli patch et quelques problèmes à résoudre encore. J'ai envoyé tout ça sur pgadmin-hackers pour avoir quelques conseils. En tout cas, je me suis bien amusé :)

Les obligatoires screenshots et le thread sur pgadmin-hackers.