• Konstantin Osipov's avatar
    Backport of revno 2630.28.10, 2630.28.31, 2630.28.26, 2630.33.1, · d4632dff
    Konstantin Osipov authored
    2630.39.1, 2630.28.29, 2630.34.3, 2630.34.2, 2630.34.1, 2630.29.29,
    2630.29.28, 2630.31.1, 2630.28.13, 2630.28.10, 2617.23.14 and
    some other minor revisions.
    
    This patch implements: 
    
    WL#4264 "Backup: Stabilize Service Interface" -- all the
    server prerequisites except si_objects.{h,cc} themselves (they can
    be just copied over, when needed).
    
    WL#4435: Support OUT-parameters in prepared statements.
    
    (and all issues in the initial patches for these two
    tasks, that were discovered in pushbuild and during testing).
    
    Bug#39519: mysql_stmt_close() should flush all data
    associated with the statement.
    
    After execution of a prepared statement, send OUT parameters of the invoked
    stored procedure, if any, to the client.
    
    When using the binary protocol, send the parameters in an additional result
    set over the wire.  When using the text protocol, assign out parameters to
    the user variables from the CALL(@var1, @var2, ...) specification.
    
    The following refactoring has been made:
      - Protocol::send_fields() was renamed to Protocol::send_result_set_metadata();
      - A new Protocol::send_result_set_row() was introduced to incapsulate
        common functionality for sending row data.
      - Signature of Protocol::prepare_for_send() was changed: this operation
        does not need a list of items, the number of items is fully sufficient.
    
    The following backward incompatible changes have been made:
      - CLIENT_MULTI_RESULTS is now enabled by default in the client;
      - CLIENT_PS_MULTI_RESUTLS is now enabled by default in the client.
    d4632dff
sql_class.cc 110 KB