-
Notifications
You must be signed in to change notification settings - Fork 277
Add FirebirdSQL data source #1136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add FirebirdSQL data source #1136
Conversation
👷 Deploy request for lowcoder-cloud pending review.Visit the deploys page to approve it
|
The SQL input field behaves differently in node-service plugins compared to API-service Java plugins. Specifically, mustache variables are inserted without any quoting, which can lead to SQL injection or unexpected behavior. To address this, I've added an option to use the driver's native named parameters in the query.
An additional JSON input control was added to Query Config structure. Instead of using moustache syntax to inject arguments directly into SQL statement, arguments should be put into that JSON object. When executed, plugin searches the query for strings starting with colon, e.g. :myparameter, replaces them with ? and passes corresponding property of that JSON object to a driver as a query parameter.
User can mix & match both styles, depending on his needs.
Can you please base the PR on dev branch?
66443f6
to
04bb451
Compare
Can you please base the PR on dev branch?
No problem.
Proposed changes
This PR adds support for FirebirdSQL database (https://www.firebirdsql.org/) as a datasource.
Types of changes
What types of changes does your code introduce to Lowcoder?
Put an
x
in the boxes that apply.Checklist
You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help!
This is simply a reminder of what we are going to look for before merging your code.
Put an
x
in the boxes that apply.Further comments
To minimize dependencies, this uses node-firebird package (https://github.com/hgourvest/node-firebird), which doesn't require native fbclient library like some other implementations. However, there are can be some incompatibilities with certain database configurations.
This PR was tested against FB version 3.0.10 with WireCrypt disabled (as node-firebird doesn't support it yet).