dreamfactorysoftware / dreamfactory

DreamFactory API Management Platform
https://www.dreamfactory.com
Apache License 2.0
1.53k stars 311 forks source link

Stored Procedures in a Firebird 3.0 database #254

Open MrSpockDe opened 5 years ago

MrSpockDe commented 5 years ago

I have several stored procedures in a firebird 3.0 database. Trying to access any of them does not succeed.

Feedback from the system is always an empty resource, for both _func or _proc:

{ "resource": [] }

If I try to access any of them with its name e.g.: https://my-server/api/v2/fbdb/_func/SP_DELETE_INVOICE

or https://my-server/api/v2/fbdb/_proc/SP_DELETE_INVOICE

I always receive: { "error": { "code": 404, "context": null, "message": "Function 'SP_DELETE_INVOICE' does not exist in the database.", "status_code": 404 } }

I tried flushing the cache via the admin console and also from the command line with: php artisan cache:clear

But I did not find any way to see or access my stored procedures.

anywheresa commented 1 year ago

I have the same issue with Postgresql db. Except my stored procedures are listed under functions but cant be accessed as a function. Hmm your question is old. Seems like it is pointless to report bugs here? Dreamfactory support is non-existent?

MrSpockDe commented 1 year ago

Hi anywheresa, unfortunately the support for the open-source community is not existing. Therefore I started to dig myself into the source code and found some erroneous or just missing code. I reported some issues with a solution and finally got contacted by DF. We started some talks in the direction that there is a need for somebody taking over the support for the open source community and I was very short of taking over this role. But without any reason DF stopped the process. Anyhow the reason for this function not to work is that the code for accessing Stored Procedures (at least for Firebird) has not yet been written! It would only require a few hours (and some knowledge of the structure of the code). Up to that point, when someone takes over this task, you either have to implement this feature in your application by just accessing all tables and implement the logic in your own code or you have to use other frameworks. Best Regards Albert