Skip to content

Commit 262af1d

Browse files
committed
Fixed bug #8171 : Trace plugin unloaded if called method is not implemented
1 parent cc71c6f commit 262af1d

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

src/include/firebird/FirebirdInterface.idl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1574,19 +1574,23 @@ interface TracePlugin : ReferenceCounted
15741574
TraceFunction function, boolean started, uint func_result);
15751575

15761576
version: // 4.0.1 -> 4.0.2
1577+
[notImplemented(true)]
15771578
boolean trace_dsql_restart(TraceDatabaseConnection connection, TraceTransaction transaction,
15781579
TraceSQLStatement statement, uint number);
15791580

15801581
version: // 4.0 -> 5.0
15811582

15821583
// Compilation of stored procedures, functions, triggers
15831584

1585+
[notImplemented(true)]
15841586
boolean trace_proc_compile(TraceDatabaseConnection connection, TraceProcedure procedure,
15851587
int64 time_millis, uint proc_result);
15861588

1589+
[notImplemented(true)]
15871590
boolean trace_func_compile(TraceDatabaseConnection connection, TraceFunction function,
15881591
int64 time_millis, uint func_result);
15891592

1593+
[notImplemented(true)]
15901594
boolean trace_trigger_compile(TraceDatabaseConnection connection, TraceTrigger trigger,
15911595
int64 time_millis, uint trig_result);
15921596
}

src/include/firebird/IdlFbInterfaces.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6342,7 +6342,7 @@ namespace Firebird
63426342
{
63436343
if (cloopVTable->version < 4)
63446344
{
6345-
return 0;
6345+
return true;
63466346
}
63476347
FB_BOOLEAN ret = static_cast<VTable*>(this->cloopVTable)->trace_dsql_restart(this, connection, transaction, statement, number);
63486348
return ret;
@@ -6352,7 +6352,7 @@ namespace Firebird
63526352
{
63536353
if (cloopVTable->version < 5)
63546354
{
6355-
return 0;
6355+
return true;
63566356
}
63576357
FB_BOOLEAN ret = static_cast<VTable*>(this->cloopVTable)->trace_proc_compile(this, connection, procedure, time_millis, proc_result);
63586358
return ret;
@@ -6362,7 +6362,7 @@ namespace Firebird
63626362
{
63636363
if (cloopVTable->version < 5)
63646364
{
6365-
return 0;
6365+
return true;
63666366
}
63676367
FB_BOOLEAN ret = static_cast<VTable*>(this->cloopVTable)->trace_func_compile(this, connection, function, time_millis, func_result);
63686368
return ret;
@@ -6372,7 +6372,7 @@ namespace Firebird
63726372
{
63736373
if (cloopVTable->version < 5)
63746374
{
6375-
return 0;
6375+
return true;
63766376
}
63776377
FB_BOOLEAN ret = static_cast<VTable*>(this->cloopVTable)->trace_trigger_compile(this, connection, trigger, time_millis, trig_result);
63786378
return ret;

src/include/gen/Firebird.pas

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9291,7 +9291,7 @@ function ITracePlugin.trace_func_execute(connection: ITraceDatabaseConnection; t
92919291
function ITracePlugin.trace_dsql_restart(connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; number: Cardinal): Boolean;
92929292
begin
92939293
if (vTable.version < 4) then begin
9294-
Result := false;
9294+
Result := true;
92959295
end
92969296
else begin
92979297
Result := TracePluginVTable(vTable).trace_dsql_restart(Self, connection, transaction, statement, number);
@@ -9301,7 +9301,7 @@ function ITracePlugin.trace_dsql_restart(connection: ITraceDatabaseConnection; t
93019301
function ITracePlugin.trace_proc_compile(connection: ITraceDatabaseConnection; procedure_: ITraceProcedure; time_millis: Int64; proc_result: Cardinal): Boolean;
93029302
begin
93039303
if (vTable.version < 5) then begin
9304-
Result := false;
9304+
Result := true;
93059305
end
93069306
else begin
93079307
Result := TracePluginVTable(vTable).trace_proc_compile(Self, connection, procedure_, time_millis, proc_result);
@@ -9311,7 +9311,7 @@ function ITracePlugin.trace_proc_compile(connection: ITraceDatabaseConnection; p
93119311
function ITracePlugin.trace_func_compile(connection: ITraceDatabaseConnection; function_: ITraceFunction; time_millis: Int64; func_result: Cardinal): Boolean;
93129312
begin
93139313
if (vTable.version < 5) then begin
9314-
Result := false;
9314+
Result := true;
93159315
end
93169316
else begin
93179317
Result := TracePluginVTable(vTable).trace_func_compile(Self, connection, function_, time_millis, func_result);
@@ -9321,7 +9321,7 @@ function ITracePlugin.trace_func_compile(connection: ITraceDatabaseConnection; f
93219321
function ITracePlugin.trace_trigger_compile(connection: ITraceDatabaseConnection; trigger: ITraceTrigger; time_millis: Int64; trig_result: Cardinal): Boolean;
93229322
begin
93239323
if (vTable.version < 5) then begin
9324-
Result := false;
9324+
Result := true;
93259325
end
93269326
else begin
93279327
Result := TracePluginVTable(vTable).trace_trigger_compile(Self, connection, trigger, time_millis, trig_result);

0 commit comments

Comments
 (0)