Re: [HACKERS] TODO item: Have psql show current values for a sequence
Sorry for the delay on this. What I did was to mark the simple TODO items as done and add an additional TODO item to list all sequence settings: D o Have psql show current values for a sequence o Have psql \ds show all sequences and their settings * http://archives.postgresql.org/pgsql-hackers/2008-07/msg00916.php --- Tom Lane wrote: Bruce Momjian br...@momjian.us writes: Wow. I adjusted the patch slightly and applied it; the updated version is attached. We have been waiting for this to be done for quite some time. Thanks. Hmm ... I don't think that this patch actually addresses the TODO item. The TODO item seems to have originated here http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/TODO.diff?r1=1.1220;r2=1.1221;f=h in response to this question on pgsql-novice: How can I list all the sequences in the database, with their attributes (such as last_value)? (I'm having a hard time guessing 'seq-name'; the 'A_id_seq' formula did not work.) http://archives.postgresql.org/pgsql-novice/2004-02/msg00148.php This applied-with-little-discussion patch only shows the sequence values if you do a \d on a specific sequence, or \d on a wildcard that happens to include some sequences (and probably a lot of other stuff too, causing the resulting display to be far too long to be useful). My interpretation of the TODO item has always been that we should improve \ds to include all the useful information in a format that requires only one line per sequence. The reason it has remained undone for four years is that that's hard given the existing catalog representation of sequences and the constraints of describe.c's implementation. (I recall at least one failed patch that tried to do this, though I can't find it in the archives right now.) I find the present patch to be pretty useless: it's not a material advance over doing select * from sequence-name. I think it should be reverted and the TODO item reinstated --- perhaps with more detail about what the item really is requesting. regards, tom lane -- Bruce Momjian br...@momjian.ushttp://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] TODO item: Have psql show current values for a sequence
Bruce Momjian [EMAIL PROTECTED] writes: Wow. I adjusted the patch slightly and applied it; the updated version is attached. We have been waiting for this to be done for quite some time. Thanks. Hmm ... I don't think that this patch actually addresses the TODO item. The TODO item seems to have originated here http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/TODO.diff?r1=1.1220;r2=1.1221;f=h in response to this question on pgsql-novice: How can I list all the sequences in the database, with their attributes (such as last_value)? (I'm having a hard time guessing 'seq-name'; the 'A_id_seq' formula did not work.) http://archives.postgresql.org/pgsql-novice/2004-02/msg00148.php This applied-with-little-discussion patch only shows the sequence values if you do a \d on a specific sequence, or \d on a wildcard that happens to include some sequences (and probably a lot of other stuff too, causing the resulting display to be far too long to be useful). My interpretation of the TODO item has always been that we should improve \ds to include all the useful information in a format that requires only one line per sequence. The reason it has remained undone for four years is that that's hard given the existing catalog representation of sequences and the constraints of describe.c's implementation. (I recall at least one failed patch that tried to do this, though I can't find it in the archives right now.) I find the present patch to be pretty useless: it's not a material advance over doing select * from sequence-name. I think it should be reverted and the TODO item reinstated --- perhaps with more detail about what the item really is requesting. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] TODO item: Have psql show current values for a sequence
Wow. I adjusted the patch slightly and applied it; the updated version is attached. We have been waiting for this to be done for quite some time. Thanks. --- Dickson S. Guedes wrote: Hi all, These patch implements the TODO item: Have psql show current values for a sequence. Comments are welcome. * Credits The original patch were developed by Euler Taveira de Oliveira [EMAIL PROTECTED] but how he is a little busy, he sends it to me and I made some changes to satisfy the TODO item above. * Discussions http://archives.postgresql.org/pgsql-hackers/2007-12/msg00102.php http://archives.postgresql.org/pgsql-hackers/2007-12/msg00605.php * Outputs # \d foo_bar_seq Sequence public.foo_bar_seq +---+-+-+ |Column | Type |Value| +---+-+-+ | sequence_name | name| foo_bar_seq | | last_value| bigint | 11 | | start_value | bigint | 1 | | increment_by | bigint | 1 | | max_value | bigint | 9223372036854775807 | | min_value | bigint | 1 | | cache_value | bigint | 1 | | log_cnt | bigint | 31 | | is_cycled | boolean | f | | is_called | boolean | t | +---+-+-+ # \d+ foo_bar_seq Sequence public.foo_bar_seq +---+-+-+-+ |Column | Type |Value| Description | +---+-+-+-+ | sequence_name | name| foo_bar_seq | | | last_value| bigint | 11 | | | start_value | bigint | 1 | | | increment_by | bigint | 1 | | | max_value | bigint | 9223372036854775807 | | | min_value | bigint | 1 | | | cache_value | bigint | 1 | | | log_cnt | bigint | 31 | | | is_cycled | boolean | f | | | is_called | boolean | t | | +---+-+-+-+ -- []s Dickson S. Guedes -- Projeto Colmeia - Curitiba - PR +55 (41) 3254-7130 ramal: 27 http://makeall.wordpress.com/ http://pgcon.postgresql.org.br/ http://planeta.postgresql.org.br/ [ Attachment, skipping... ] -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers -- Bruce Momjian [EMAIL PROTECTED]http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. + Index: src/bin/psql/describe.c === RCS file: /cvsroot/pgsql/src/bin/psql/describe.c,v retrieving revision 1.179 diff -c -c -r1.179 describe.c *** src/bin/psql/describe.c 14 Jul 2008 23:13:04 - 1.179 --- src/bin/psql/describe.c 15 Jul 2008 03:06:24 - *** *** 811,817 printTableContent cont; int i; char *view_def = NULL; ! char *headers[5]; char **modifiers = NULL; char **ptr; PQExpBufferData title; --- 811,818 printTableContent cont; int i; char *view_def = NULL; ! char *headers[6]; ! char **seq_values = NULL; char **modifiers = NULL; char **ptr; PQExpBufferData title; *** *** 869,874 --- 870,904 tableinfo.tablespace = (pset.sversion = 8) ? atooid(PQgetvalue(res, 0, 6)) : 0; PQclear(res); + + /* + * This is used to get the values of a sequence and store it in an + * array that will be used later. + */ + if (tableinfo.relkind == 'S') + { + PGresult *result; + + #define SEQ_NUM_COLS 10 + printfPQExpBuffer(buf, + SELECT sequence_name, last_value, \n + start_value, increment_by, \n + max_value, min_value, cache_value, \n + log_cnt, is_cycled, is_called \n + FROM \%s\, + relationname); + + result = PSQLexec(buf.data, false); + if (!result) + goto error_return; + + seq_values = pg_malloc_zero((SEQ_NUM_COLS+1) * sizeof(*seq_values)); + + for (i = 0; i SEQ_NUM_COLS; i++) + seq_values[i] = pg_strdup(PQgetvalue(result, 0, i)); + + PQclear(result); + } /* Get column info (index requires additional checks) */ printfPQExpBuffer(buf, SELECT a.attname,); *** *** 932,938 } /* Set the number of columns, and their names */ ! cols = 2; headers[0] =
Re: [HACKERS] TODO item: Have psql show current values for a sequence
On Sat, May 24, 2008 at 12:27 AM, Dickson S. Guedes [EMAIL PROTECTED] wrote: Hi all, These patch implements the TODO item: Have psql show current values for a sequence. Hi all, There are some comments or suggestions about this patch? Thanks all. -- []s Dickson S. Guedes - Projeto Colmeia - Curitiba - PR +55 (41) 3254-7130 ramal: 27 http://makeall.wordpress.com/ http://pgcon.postgresql.org.br/ http://planeta.postgresql.org.br/ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers