8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 07:23:03 +01:00
This commit is contained in:
robocop 2009-08-04 08:42:23 +00:00
parent 39abdec20a
commit c5f03f2aa1
2 changed files with 9 additions and 7 deletions

View File

@ -168,13 +168,13 @@ struct gds_msg
// blob_filter.h and "struct isc_blob_ctl" from ibase.h. These two should match // blob_filter.h and "struct isc_blob_ctl" from ibase.h. These two should match
// for blob filters to work. However, this one is private to gds.cpp and hence // for blob filters to work. However, this one is private to gds.cpp and hence
// I renamed it gds_ctl to avoid confusion and possible name clashes. // I renamed it gds_ctl to avoid confusion and possible name clashes.
// However, filters.cpp calls gds__print_blr(), but this struct is not shared // However, filters.cpp calls fb_print_blr(), but this struct is not shared
// between the two modules. // between the two modules.
struct gds_ctl struct gds_ctl
{ {
BlrReader ctl_blr_reader; BlrReader ctl_blr_reader;
FPTR_PRINT_CALLBACK ctl_routine; /* Call back */ FPTR_PRINT_CALLBACK ctl_routine; // Call back
void* ctl_user_arg; /* User argument */ void* ctl_user_arg; // User argument
SSHORT ctl_language; SSHORT ctl_language;
Firebird::string ctl_string; Firebird::string ctl_string;
}; };
@ -3124,8 +3124,7 @@ static SLONG blr_print_line(gds_ctl* control, SSHORT offset)
* *
**************************************/ **************************************/
(*control->ctl_routine)(control->ctl_user_arg, offset, (*control->ctl_routine)(control->ctl_user_arg, offset, control->ctl_string.c_str());
control->ctl_string.c_str());
control->ctl_string.erase(); control->ctl_string.erase();
return control->ctl_blr_reader.getOffset(); return control->ctl_blr_reader.getOffset();
@ -3422,7 +3421,7 @@ static void blr_print_verb(gds_ctl* control, SSHORT level)
if (blr_operator == blr_cursor_fetch) if (blr_operator == blr_cursor_fetch)
{ {
#ifdef SCROLLABLE_CURSORS #ifdef SCROLLABLE_CURSORS
if (BLR_PEEK == blr_seek) { if (control->ctl_blr_reader.peekByte() == blr_seek) {
blr_print_verb(control, level); blr_print_verb(control, level);
} }
#endif #endif

View File

@ -2990,8 +2990,11 @@ jrd_nod* PAR_parse_node(thread_db* tdbb, CompilerScratch* csb, USHORT expected)
if (csb->csb_blr_reader.peekByte() == (UCHAR) blr_stall) if (csb->csb_blr_reader.peekByte() == (UCHAR) blr_stall)
node->nod_arg[e_for_stall] = PAR_parse_node(tdbb, csb, STATEMENT); node->nod_arg[e_for_stall] = PAR_parse_node(tdbb, csb, STATEMENT);
if (csb->csb_blr_reader.peekByte() == (UCHAR) blr_rse || csb->csb_blr_reader.peekByte() == (UCHAR) blr_singular) if (csb->csb_blr_reader.peekByte() == (UCHAR) blr_rse ||
csb->csb_blr_reader.peekByte() == (UCHAR) blr_singular)
{
node->nod_arg[e_for_re] = PAR_parse_node(tdbb, csb, TYPE_RSE); node->nod_arg[e_for_re] = PAR_parse_node(tdbb, csb, TYPE_RSE);
}
else else
node->nod_arg[e_for_re] = par_rse(tdbb, csb, blr_operator); node->nod_arg[e_for_re] = par_rse(tdbb, csb, blr_operator);
node->nod_arg[e_for_statement] = PAR_parse_node(tdbb, csb, sub_type); node->nod_arg[e_for_statement] = PAR_parse_node(tdbb, csb, sub_type);