Обсуждение: PGRES_POLLING_ACTIVE is unused...

Поиск
Список
Период
Сортировка

PGRES_POLLING_ACTIVE is unused...

От
Lennert Buytenhek
Дата:
...any reason why it is there at all?

(Please CC, not on this list.)



diff -urN postgresql-7.3.2.orig/doc/src/sgml/libpq.sgml postgresql-7.3.2/doc/src/sgml/libpq.sgml
--- postgresql-7.3.2.orig/doc/src/sgml/libpq.sgml    2003-01-30 20:50:07.000000000 +0100
+++ postgresql-7.3.2/doc/src/sgml/libpq.sgml    2003-02-26 17:20:34.000000000 +0100
@@ -316,9 +316,7 @@
   </para>
   <para>
    If <function>PQconnectStart</> succeeds, the next stage is to poll <application>libpq</> so that it may
-   proceed with the connection sequence.  Loop thus: Consider a connection
-   <quote>inactive</quote> by default. If <function>PQconnectPoll</function> last returned
<symbol>PGRES_POLLING_ACTIVE</>,
-   consider it <quote>active</quote> instead. If <function>PQconnectPoll(conn)</function> last returned
+   proceed with the connection sequence.  Loop thus: If <function>PQconnectPoll(conn)</function> last returned
    <symbol>PGRES_POLLING_READING</symbol>, perform a <function>select()</> for reading on
<function>PQsocket(conn)</function>.If 
    it last returned <symbol>PGRES_POLLING_WRITING</symbol>, perform a <function>select()</> for writing on
    <function>PQsocket(conn)</function>. If you have yet to call <function>PQconnectPoll</function>, i.e. after the
call
diff -urN postgresql-7.3.2.orig/src/interfaces/libpq/fe-connect.c postgresql-7.3.2/src/interfaces/libpq/fe-connect.c
--- postgresql-7.3.2.orig/src/interfaces/libpq/fe-connect.c    2003-01-30 20:50:07.000000000 +0100
+++ postgresql-7.3.2/src/interfaces/libpq/fe-connect.c    2003-02-26 17:19:04.000000000 +0100
@@ -1090,9 +1090,6 @@
          */
         switch (flag)
         {
-            case PGRES_POLLING_ACTIVE:
-                break;
-
             case PGRES_POLLING_OK:
                 return 1;        /* success! */

@@ -1804,9 +1801,6 @@
          */
         switch (flag)
         {
-            case PGRES_POLLING_ACTIVE:
-                break;
-
             case PGRES_POLLING_OK:
                 return true;    /* success! */

diff -urN postgresql-7.3.2.orig/src/interfaces/libpq/libpq-fe.h postgresql-7.3.2/src/interfaces/libpq/libpq-fe.h
--- postgresql-7.3.2.orig/src/interfaces/libpq/libpq-fe.h    2002-09-04 22:31:47.000000000 +0200
+++ postgresql-7.3.2/src/interfaces/libpq/libpq-fe.h    2003-02-26 17:19:22.000000000 +0100
@@ -65,7 +65,6 @@
     PGRES_POLLING_READING,        /* These two indicate that one may      */
     PGRES_POLLING_WRITING,        /* use select before polling again.   */
     PGRES_POLLING_OK,
-    PGRES_POLLING_ACTIVE        /* Can call poll function immediately. */
 } PostgresPollingStatusType;

 typedef enum

Re: PGRES_POLLING_ACTIVE is unused...

От
Tom Lane
Дата:
Lennert Buytenhek <buytenh@gnu.org> writes:
> ...any reason why it is there at all?

Good question.  Some digging in CVS shows that it was unused even in the
patch that introduced it, and never has been used in any release since.
So it does seem like useless complication.

However, I think it'd be unwise to remove the constant from libpq-fe.h,
because that would break the application of any poor sod who believed
the documentation and wrote code that actually checks for
PGRES_POLLING_ACTIVE.

I'd be inclined to remove it from the documentation and the library
innards, but leave something like this in libpq-fe.h:

    PGRES_POLLING_ACTIVE    /* unused; keep for awhile for
                 * backwards compatibility */


            regards, tom lane

Re: PGRES_POLLING_ACTIVE is unused...

От
Bruce Momjian
Дата:
Your patch has been added to the PostgreSQL unapplied patches list at:

    http://momjian.postgresql.org/cgi-bin/pgpatches

I will try to apply it within the next 48 hours.

---------------------------------------------------------------------------


Lennert Buytenhek wrote:
> ...any reason why it is there at all?
>
> (Please CC, not on this list.)
>
>
>
> diff -urN postgresql-7.3.2.orig/doc/src/sgml/libpq.sgml postgresql-7.3.2/doc/src/sgml/libpq.sgml
> --- postgresql-7.3.2.orig/doc/src/sgml/libpq.sgml    2003-01-30 20:50:07.000000000 +0100
> +++ postgresql-7.3.2/doc/src/sgml/libpq.sgml    2003-02-26 17:20:34.000000000 +0100
> @@ -316,9 +316,7 @@
>    </para>
>    <para>
>     If <function>PQconnectStart</> succeeds, the next stage is to poll <application>libpq</> so that it may
> -   proceed with the connection sequence.  Loop thus: Consider a connection
> -   <quote>inactive</quote> by default. If <function>PQconnectPoll</function> last returned
<symbol>PGRES_POLLING_ACTIVE</>,
> -   consider it <quote>active</quote> instead. If <function>PQconnectPoll(conn)</function> last returned
> +   proceed with the connection sequence.  Loop thus: If <function>PQconnectPoll(conn)</function> last returned
>     <symbol>PGRES_POLLING_READING</symbol>, perform a <function>select()</> for reading on
<function>PQsocket(conn)</function>.If 
>     it last returned <symbol>PGRES_POLLING_WRITING</symbol>, perform a <function>select()</> for writing on
>     <function>PQsocket(conn)</function>. If you have yet to call <function>PQconnectPoll</function>, i.e. after the
call
> diff -urN postgresql-7.3.2.orig/src/interfaces/libpq/fe-connect.c postgresql-7.3.2/src/interfaces/libpq/fe-connect.c
> --- postgresql-7.3.2.orig/src/interfaces/libpq/fe-connect.c    2003-01-30 20:50:07.000000000 +0100
> +++ postgresql-7.3.2/src/interfaces/libpq/fe-connect.c    2003-02-26 17:19:04.000000000 +0100
> @@ -1090,9 +1090,6 @@
>           */
>          switch (flag)
>          {
> -            case PGRES_POLLING_ACTIVE:
> -                break;
> -
>              case PGRES_POLLING_OK:
>                  return 1;        /* success! */
>
> @@ -1804,9 +1801,6 @@
>           */
>          switch (flag)
>          {
> -            case PGRES_POLLING_ACTIVE:
> -                break;
> -
>              case PGRES_POLLING_OK:
>                  return true;    /* success! */
>
> diff -urN postgresql-7.3.2.orig/src/interfaces/libpq/libpq-fe.h postgresql-7.3.2/src/interfaces/libpq/libpq-fe.h
> --- postgresql-7.3.2.orig/src/interfaces/libpq/libpq-fe.h    2002-09-04 22:31:47.000000000 +0200
> +++ postgresql-7.3.2/src/interfaces/libpq/libpq-fe.h    2003-02-26 17:19:22.000000000 +0100
> @@ -65,7 +65,6 @@
>      PGRES_POLLING_READING,        /* These two indicate that one may      */
>      PGRES_POLLING_WRITING,        /* use select before polling again.   */
>      PGRES_POLLING_OK,
> -    PGRES_POLLING_ACTIVE        /* Can call poll function immediately. */
>  } PostgresPollingStatusType;
>
>  typedef enum
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Re: PGRES_POLLING_ACTIVE is unused...

От
Bruce Momjian
Дата:
This change will be made to the poll patch:


Your patch has been added to the PostgreSQL unapplied patches list at:

    http://momjian.postgresql.org/cgi-bin/pgpatches

I will try to apply it within the next 48 hours.

---------------------------------------------------------------------------


Tom Lane wrote:
> Lennert Buytenhek <buytenh@gnu.org> writes:
> > ...any reason why it is there at all?
>
> Good question.  Some digging in CVS shows that it was unused even in the
> patch that introduced it, and never has been used in any release since.
> So it does seem like useless complication.
>
> However, I think it'd be unwise to remove the constant from libpq-fe.h,
> because that would break the application of any poor sod who believed
> the documentation and wrote code that actually checks for
> PGRES_POLLING_ACTIVE.
>
> I'd be inclined to remove it from the documentation and the library
> innards, but leave something like this in libpq-fe.h:
>
>     PGRES_POLLING_ACTIVE    /* unused; keep for awhile for
>                  * backwards compatibility */
>
>
>             regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Re: PGRES_POLLING_ACTIVE is unused...

От
Bruce Momjian
Дата:
Patch applied.  Thanks.

Symbol kept in include file for backward compatibility, with comment.

---------------------------------------------------------------------------


Lennert Buytenhek wrote:
> ...any reason why it is there at all?
>
> (Please CC, not on this list.)
>
>
>
> diff -urN postgresql-7.3.2.orig/doc/src/sgml/libpq.sgml postgresql-7.3.2/doc/src/sgml/libpq.sgml
> --- postgresql-7.3.2.orig/doc/src/sgml/libpq.sgml    2003-01-30 20:50:07.000000000 +0100
> +++ postgresql-7.3.2/doc/src/sgml/libpq.sgml    2003-02-26 17:20:34.000000000 +0100
> @@ -316,9 +316,7 @@
>    </para>
>    <para>
>     If <function>PQconnectStart</> succeeds, the next stage is to poll <application>libpq</> so that it may
> -   proceed with the connection sequence.  Loop thus: Consider a connection
> -   <quote>inactive</quote> by default. If <function>PQconnectPoll</function> last returned
<symbol>PGRES_POLLING_ACTIVE</>,
> -   consider it <quote>active</quote> instead. If <function>PQconnectPoll(conn)</function> last returned
> +   proceed with the connection sequence.  Loop thus: If <function>PQconnectPoll(conn)</function> last returned
>     <symbol>PGRES_POLLING_READING</symbol>, perform a <function>select()</> for reading on
<function>PQsocket(conn)</function>.If 
>     it last returned <symbol>PGRES_POLLING_WRITING</symbol>, perform a <function>select()</> for writing on
>     <function>PQsocket(conn)</function>. If you have yet to call <function>PQconnectPoll</function>, i.e. after the
call
> diff -urN postgresql-7.3.2.orig/src/interfaces/libpq/fe-connect.c postgresql-7.3.2/src/interfaces/libpq/fe-connect.c
> --- postgresql-7.3.2.orig/src/interfaces/libpq/fe-connect.c    2003-01-30 20:50:07.000000000 +0100
> +++ postgresql-7.3.2/src/interfaces/libpq/fe-connect.c    2003-02-26 17:19:04.000000000 +0100
> @@ -1090,9 +1090,6 @@
>           */
>          switch (flag)
>          {
> -            case PGRES_POLLING_ACTIVE:
> -                break;
> -
>              case PGRES_POLLING_OK:
>                  return 1;        /* success! */
>
> @@ -1804,9 +1801,6 @@
>           */
>          switch (flag)
>          {
> -            case PGRES_POLLING_ACTIVE:
> -                break;
> -
>              case PGRES_POLLING_OK:
>                  return true;    /* success! */
>
> diff -urN postgresql-7.3.2.orig/src/interfaces/libpq/libpq-fe.h postgresql-7.3.2/src/interfaces/libpq/libpq-fe.h
> --- postgresql-7.3.2.orig/src/interfaces/libpq/libpq-fe.h    2002-09-04 22:31:47.000000000 +0200
> +++ postgresql-7.3.2/src/interfaces/libpq/libpq-fe.h    2003-02-26 17:19:22.000000000 +0100
> @@ -65,7 +65,6 @@
>      PGRES_POLLING_READING,        /* These two indicate that one may      */
>      PGRES_POLLING_WRITING,        /* use select before polling again.   */
>      PGRES_POLLING_OK,
> -    PGRES_POLLING_ACTIVE        /* Can call poll function immediately. */
>  } PostgresPollingStatusType;
>
>  typedef enum
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073