MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / REMOTE_reset_statement

Function REMOTE_reset_statement

src/remote/remote.cpp:546–587  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

544
545
546void REMOTE_reset_statement( Rsr* statement)
547{
548/**************************************
549 *
550 * R E M O T E _ r e s e t _ s t a t e m e n t
551 *
552 **************************************
553 *
554 * Functional description
555 * Reset a statement by releasing all buffers except 1
556 *
557 **************************************/
558 RMessage* message;
559
560 if (!statement || (!(message = statement->rsr_message)))
561 return;
562
563 // Reset all the pipeline counters
564
565 statement->rsr_rows_pending = 0;
566 statement->rsr_msgs_waiting = 0;
567 statement->rsr_reorder_level = 0;
568 statement->rsr_batch_count = 0;
569
570 // only one entry
571
572 if (message->msg_next == message)
573 return;
574
575 // find the entry before statement->rsr_message
576
577 RMessage* temp = message->msg_next;
578 while (temp->msg_next != message)
579 temp = temp->msg_next;
580
581 temp->msg_next = message->msg_next;
582 message->msg_next = message;
583
584 statement->rsr_buffer = statement->rsr_message;
585
586 REMOTE_release_messages(temp);
587}
588
589
590// TMN: Beginning of C++ port - ugly but a start

Callers 7

reset_statementFunction · 0.85
executeMethod · 0.85
freeClientDataMethod · 0.85
prepareMethod · 0.85
end_statementMethod · 0.85
prepare_statementMethod · 0.85

Calls 1

REMOTE_release_messagesFunction · 0.85

Tested by

no test coverage detected