|Subject||RE: [firebird-support] Firebird 1.5.1 SuperServer (debian sarge) crashes on select of stored procedure|
> I'm having trouble with some code that worked on Interbase 6.0.<snip>
> The procedure is as follows:
> SET TERM ## ;
> CREATE PROCEDURE WEBSERVICE_CLIENT_INCIDENTS_I (
> DECLARE VARIABLE location varchar (60);Couple of notes/questions:
> location =(ADDR1 ||' '||CITY||' '||STATE||' '||POSTCODE);
> incidentid = GEN_ID(GEN_SERVICE_INCIDENT, 0)+1;/* DONT INCR */
> if (machinename <> '') then
> select machineid from CLI_COMPUTERS
> where (machine_name=:machinename) and clientid= :clientid
> into machineid;
> if (machineid is null) then machineid = 0;
> select employeeid from cli_shipto S where S.LOCATIONID =
> :locationid into employeeid;
> insert into
> Upon "select * from WEBSERVICE_CLIENT_INCIDENTS_I ('xxx', 'xxx', 'x',
> 'xxxx', 'xxxx', 'xx', 'xx', 'xxxxx', 'xxx', 'xxx', 'xxx')" (xs are
> valid data in app with PHP 4.3.10 (debian) or kinterbasdb (a python
> firebird interface). Using EXECUTE PROCEDURE doesn't help either.
> However, if I use isql it works fine.
> Is it something I did? The log just said "terminated abnormally",
> which doesn't tell me much... :(
> Michael van der Kolff
You don't need a begin end around an insert statement (or the other stuff).
Is there anything else you are doing? (that we are not being shown?)
You are calling the generator with a "DONT INCR" comment but you are, in
fact, incrementing from the none incremented value - why?
Please note that WEBSERVICE_CLIENT_INCIDENTS_I is getting very close to max
length for object names. (you may know that already).