Re: proposal - assign result of query to psql variable - Mailing list pgsql-hackers
From | Pavel Stehule |
---|---|
Subject | Re: proposal - assign result of query to psql variable |
Date | |
Msg-id | CAFj8pRD=AraLR4XF6xqLngWqDtfMQ65gF4=8orrBFv9JDxE=vQ@mail.gmail.com Whole thread Raw |
In response to | Re: proposal - assign result of query to psql variable (Pavel Stehule <pavel.stehule@gmail.com>) |
Responses |
Re: proposal - assign result of query to psql variable
|
List | pgsql-hackers |
Hello here is updated version of gset patch. * merge Shigeru's doc patch * rename psql regression test from "psql" to "psql_cmd" Regards Pavel Stehule 2012/9/27 Pavel Stehule <pavel.stehule@gmail.com>: > Hello > > 2012/9/21 Shigeru HANADA <shigeru.hanada@gmail.com>: >> Hi Pavel, >> >> (2012/09/21 2:01), Pavel Stehule wrote: >>>> - Is it intentional that \gset can set special variables such as >>>> AUTOCOMMIT and HOST? I don't see any downside for this behavior, >>>> because \set also can do that, but it is not documented nor tested at all. >>>> >>> >>> I use a same "SetVariable" function, so a behave should be same >> >> It seems reasonable. >> >>>> Document >>>> ======== >>>> - Adding some description of \gset command, especially about limitation >>>> of variable list, seems necessary. >>>> - In addition to the meta-command section, "Advanced features" section >>>> mentions how to set psql's variables, so we would need some mention >>>> there too. >>>> - The term "target list" might not be familiar to users, since it >>>> appears in only sections mentioning PG internal relatively. I think >>>> that the feature described in the section "Retrieving Query Results" in >>>> ECPG document is similar to this feature. >>>> http://www.postgresql.org/docs/devel/static/ecpg-variables.html >>> >>> I invite any proposals about enhancing documentation. Personally I am >>> a PostgreSQL developer, so I don't known any different term other than >>> "target list" - but any user friendly description is welcome. >> >> How about to say "stores the query's result output into variable"? >> Please see attached file for my proposal. I also mentioned about 1-row >> limit and omit of variable. > > should be > >> >>>> Coding >>>> ====== >>>> The code follows our coding conventions. Here are comments for coding. >>>> >>>> - Some typo found in comments, please see attached patch. >>>> - There is a code path which doesn't print error message even if libpq >>>> reported error (PGRES_BAD_RESPONSE, PGRES_NONFATAL_ERROR, >>>> PGRES_FATAL_ERROR) in StoreQueryResult. Is this intentional? FYI, ecpg >>>> prints "bad response" message for those errors. >>> >>> yes - it is question. I use same pattern like PrintQueryResult, but >>> "bad response" message should be used. >>> >>> I am sending updated patch >> >> It seems ok. >> >> BTW, as far as I see, no psql backslash command including \setenv (it >> was added in 9.2) has regression test in core (I mean src/test/regress). >> Is there any convention about this issue? If psql backslash commands >> (or any psql feature else) don't need regression test, we can remove >> psql.(sql|out). >> # Of course we need to test new feature by hand. > > It is question for Tom or David - only server side functionalities has > regress tests. But result of some backslash command is verified in > other regress tests. I would to see some regression tests for this > functionality. > >> >> Anyway, IMO the name psql impresses larger area than the patch >> implements. How about to rename psql to psql_cmd or backslash_cmd than >> psql as regression test name? >> > > I have no idea - psql_cmd is good name > > Regards > > Pavel > >> -- >> Shigeru HANADA
Attachment
pgsql-hackers by date: