• Davi Arnaut's avatar
    Backport of Bug#41860 to mysql-next-mr · 17871ade
    Davi Arnaut authored
    ------------------------------------------------------------
    revno: 3317
    revision-id: davi.arnaut@sun.com-20090522170916-fzc5ca3tjs9roy1t
    parent: patrick.crews@sun.com-20090522152933-ole8s3suy4zqyvku
    committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
    branch nick: 41860-6.0
    timestamp: Fri 2009-05-22 14:09:16 -0300
    message:
      Bug#41860: Without Windows named pipe
    
      The problem was that the patch for Bug#10374 broke named pipe
      and shared memory transports on Windows due to a failure to
      implement a dummy poll method for transports other than BSD
      sockets. Another problem was that mysqltest lacked support
      for named pipe and shared memory connections, which lead to
      misleading test cases that were supposed run common queries
      over both transports.
    
      The solution is to properly implement, at the VIO layer, the
      poll and is_connected methods. The is_connected method is
      implemented for every suppported transport and the poll one
      only where it makes sense. Furthermore, support for named pipe
      and shared memory connections is added to mysqltest as to
      enable testing of both transports using the test suite.
    
    client/mysqltest.cc:
      Add support for named pipe and shared memory connections.
    include/violite.h:
      Move private functions to vio/vio_priv.h
      Add poll_read and is_connected methods.
    mysql-test/t/named_pipe.test:
      Run tests over a named pipe connection.
    mysql-test/t/shm.test:
      Run tests over a shared memory connection.
    sql/item_func.cc:
      Rename method.
    sql/sql_class.cc:
      Remove higher-level vio_is_connected implementation.
    sql/sql_class.h:
      Rename vio_is_connected to not conflict with the vio one.
      Verify that there is a valid vio.
    vio/vio.c:
      Add poll_read and is_connected methods.
    vio/vio_priv.h:
      Add private functions.
    vio/viosocket.c:
      Implement the is_connected method for the various transports.
    17871ade
vio.c 7.95 KB