1 |
tony |
371 |
This is a beta version of MWA Software's Pascal Firebird API. This version includes support
|
2 |
|
|
for User Defined Routines (UDRs). Documentation to follow.
|
3 |
|
|
|
4 |
|
|
See udr/testsuite/udrlib for an example of how to build a udr library under Free Pascal
|
5 |
|
|
or Delphi. This includes example UDRs that use the Firebird employee database.
|
6 |
|
|
|
7 |
|
|
UDR support is provided by the new package "fbudr". This provides the additional support
|
8 |
|
|
for building a UDR library. UDRs built with this package provide:
|
9 |
|
|
|
10 |
|
|
- UDR Functions, Execute Procedures Select Procedures and Triggers.
|
11 |
|
|
- Full use of the fbintf package (MWA's Pascal Firebird API).
|
12 |
|
|
- Access to input and output parameters by name or position and as Pascal native types
|
13 |
|
|
- Exception handling including use of the Firebird status vector to report exceptions
|
14 |
|
|
to clients. Note that signal based exceptions (e.g. access violations) may result
|
15 |
|
|
in lost database attachments.
|
16 |
|
|
- Many configurable options.
|
17 |
|
|
- A per UDR library log file (by default written to <firebird root directory>/<module name>.log)
|
18 |
|
|
- Detailed and configurable logging for library debugging
|
19 |
|
|
- User write to log support (see the IFBExternalContext interface).
|
20 |
|
|
- A per UDR library configuration file in ini file format (by default the UDR library looks
|
21 |
|
|
for its configuration file in <firebird root directory>/plugins/udr/<module name>.conf).
|
22 |
|
|
- Log options may be configured statically or via the configuration file.
|
23 |
|
|
- User sections and configuration parameters supported via the IFBExternalContext interface.
|
24 |
|
|
|
25 |
|
|
A fbudrtestbed package is also provided to allow client side debugging of UDRs. This provides
|
26 |
|
|
an emulator for the Firebird udr engine and allows for program logic to the tested using an
|
27 |
|
|
IDR (Lazarus or Delphi). For an example see the udr/testsuite directory. This example shows
|
28 |
|
|
how the example UDR library can be tested client side.
|
29 |
|
|
|