firebirdfirebird2.5

Need to trace a large update statement on Firebird 2.5


Using Delphi 5 / Firebird 2.5

I am receiving a strange error message from an update statement in one of our legacy application.

value exceeds the range for valid timestamps

This is from a Midas connection, so I don't really have control on the generation of the update SQL itself, the project is also using bpl so it is difficult to debug in Delphi's code like we usually do with single exe project.

I looked at some tracing tools but it looks Firebird itself is limiting the length of the trace somehow.

param29 = integer, ""
...88 more arguments skipped...

Is there a way to get more information from the trace API to see what are these skipped values?


Solution

  • You need to change the max_arg_count value in your trace configuration. The default configuration file included with Firebird 2.5 uses max_arg_count 30 (max_arg_count = 30 in Firebird 3.0 and higher), and this is also the default when it is not explicitly set in the configuration.

    In other words, if you copied the default config, or didn't include max_arg_count in your trace config, then trace will show a maximum of 30 parameters (0..29).