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