Go to file
2023-02-06 13:00:25 +01:00
build misc 2023-01-25 11:38:49 +01:00
docs/images WIP 2023-02-06 13:00:25 +01:00
sql LoadBlobFromFile takes only a single parameter and returns a blob 2023-02-02 16:10:25 +01:00
src Resize buffer if BytesRead is less than MaxSegmentSize 2023-02-03 17:09:22 +01:00
test Add some gdb break points 2023-02-03 20:15:35 +01:00
.editorconfig Add extra settings 2023-01-24 19:17:43 +01:00
.gitignore ignore 2023-02-05 18:13:33 +01:00
.kateconfig misc 2023-01-23 15:43:45 +01:00
.kateproject Add editor config files 2023-01-23 15:31:00 +01:00
CMakeLists.txt Separate out error messages if firebird include dir or lib dir cannot be found. 2023-01-25 11:39:36 +01:00
compile_flags.txt Initial commit 2023-01-20 16:18:10 +01:00
Readme.md WIP 2023-02-06 12:48:05 +01:00
VERSION.txt Initial Commit 2023-01-20 16:17:42 +01:00
workspace.code-workspace Add VSCode workspace 2023-01-20 13:00:23 +01:00
write_build_no.sh Add versioning and .rc for windows 2023-01-20 19:34:51 +01:00

MyFirstUDRKit

Setting up cmake

Run the cmake gui and fill in the path information. Set the source to the root of the location where you have cloned the repo. CMake looks for the file CMakeLists.txt. Binaries will be built under build/x86_64-windows and build/x86_64-linux for linux.

cmake - pre-config

Click on Configure to generate the default config for the current platform. When prompted choose the Unix makefiles generator for linux and Visual Studio 2019or later for windows

You should then see a screen like this:

cmake - config

The only change needed at this stage is to set CMAKE_BUILD_TYPE to Debug`

If you want to start again be sure to click on FILE|DELETE CACHE

Building the kit

cd builds
make

Installation

run the sql on the target database

Decide whether to install the functions globally or as part of a package

Testing

  • create a test db
  • add functions
  • write some simple tests

Stress testing

  • compile fb for valgrind
  • stress test for leakage

When things go wrong

Errors when registering a function

Invalid index 1 in function IMetadataBuilder::setType

This error indicates that the parameters in the sql function declaration do not match the parameters in the actual function. Check your sql with the FB_UDR_MESSAGE declarations.

TODO