question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Firebird procedure without parameters

See original GitHub issue

Describe your issue

If you have a question, first try to check our documentation, especially FAQ and search in issues and discussions - maybe your question already answered there.

If you still have questions or want to start general discussion, please create new topic in discussions.

If you are seeing an exception, include the full exceptions details (message and stack trace).

Exception message: 

    FirebirdSql.Data.FirebirdClient.FbException : Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 8, column 31
    )
      ----> FirebirdSql.Data.Common.IscException : Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 8, column 31
    )
Stack trace:

    FbCommand.ExecuteReader(CommandBehavior behavior)
    DataConnection.ExecuteReader(CommandBehavior commandBehavior)
    DataConnection.ExecuteDataReader(CommandBehavior commandBehavior)
    QueryRunner.ExecuteReader()
    QueryRunner.ExecuteQuery[T](Query query, IDataContext dataContext, Mapper`1 mapper, Expression expression, Object[] ps, 
    Object[] preambles, Int32 queryNumber)+MoveNext()
    List`1.ctor(IEnumerable`1 collection)
    Enumerable.ToList[TSource](IEnumerable`1 source)
    GDIUnitOfWork.GetStocktakingPalettInformations() line 226
    CreateOrUpdateStocktakingTaskExecute.ExecuteTask(CreateOrUpdateStocktakingTask task, IServiceProvider serviceProvider) line 264
    RedisWorkerTaskExecute.CreateStocktaking() line 240
    GenericAdapter`1.GetResult()
    AsyncToSyncAdapter.Await(Func`1 invoke)
    TestMethodCommand.RunTestMethod(TestExecutionContext context)
    TestMethodCommand.Execute(TestExecutionContext context)
    <>c__DisplayClass1_0.<Execute>b__0()
    DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)
    --IscException
    IResponseExtensions.HandleResponseException(IResponse response)
    GdsDatabase.ReadResponse()
    GdsStatement.Prepare(String commandText)
    FbCommand.Prepare(Boolean returnsSet)
    FbCommand.ExecuteCommand(CommandBehavior behavior, Boolean returnsSet)
    FbCommand.ExecuteReader(CommandBehavior behavior)

Steps to reproduce

Create simple procedure without parameters

CREATE OR ALTER PROCEDURE GETTESTDATA ()
RETURNS (
	TESTMESSAGE VARCHAR(255)
)
AS
begin
 
	:TESTMESSAGE = 'OK';
	suspend;
end

call procedure on c#
_context.GETTESTDATA().ToList();

Environment details

linq2db.EntityFrameworkCore Version=“7.2.0” linq2db.Firebird Version=“5.0.0”

.NET Core 7 Firebird 3

Issue Analytics

  • State:closed
  • Created 5 months ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
MaceWinducommented, Apr 13, 2023

I’m not blaming you 😃. I mean Firebird did a bad job here by requiring special CALL syntax for procedure in case it doesn’t have parameters.

1reaction
MaceWinducommented, Apr 13, 2023

Thanks. Also discovered it recently. Will be fixed in next release

Read more comments on GitHub >

github_iconTop Results From Across the Web

PROCEDURE
Description: Firebird 2.1 and up allow NOT NULL constraints in declarations of input/output parameters and local variables. See CREATE PROCEDURE for syntax and ......
Read more >
5.8 PROCEDURE
Input parameters are presented as a parenthesized list following the name of the function. They are passed by value into the procedure, so...
Read more >
PROCEDURE
They are passed into the procedure as values, so anything that changes them inside the procedure has no effect on the parameters in...
Read more >
Variable number of parameters in a Firebird stored procedure
Firebird does not support a variable number of parameters to a stored procedure. However, you can define default parameter values.
Read more >
Stored Procedures in Firebird
Stored Procedures in Firebird ... Procedures can take parameters and – like SELECT – give back their data in the form ... Syntax...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found