1 |
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 |
|