Maximum size for stored procedures, Fields, etc... in Firebird

Asked

Viewed 1,435 times

1

I have researched several sources and found no definitive answer to this question.

I believe that this is a pertinent question because, based on this, we can create the names of database objects by seeing these limits.

For example, suppose I have a stored procedure with the name SPD_MINHA_STORED_PROCEDURE_REVOLUCIONARIA_PROJETADA_PARA_SALVAR_O_MUNDO.

This sequence has 72 characters. Suppose I create another process with the name SPD_MINHA_STORED_PROCEDURE_REVOLUCIONARIA_PROJETADA_PARA_SALVAR_A_GALAXIA.

Now suppose, Firebird understands and considers only the first 30 characters (which in the case of their name procedures, are the same).

When I summon these stored procedures, I will have problems because, if the Firebird understands and considers only the first 30 characters of the name, how will I know which Precedent is being called?

What limits to the names of the database objects informed them in the relations down below:

FireBird Versão 2.5.5
Stored Procedures -> Limite do nome = ?
Table -> Limite do nome = ?
View -> Limite do nome = ?
Trigger -> Limite do nome = ?
Exception -> Limite do nome = ?
Nome de variáveis/parâmetros de stored's -> Limite do nome = ?
  • 1

    Did any of the answers solve your problem? Do you think you can accept one of them? If you haven’t already, see [tour] how to do this. You would help the community by identifying the best solution for you. You can only accept one of them, but you can vote for anything on the entire site (if you score enough).

2 answers

1

I really didn’t find official documentation. The handle limit in Firebird 2.5 is 30 characters (or 31 seconds some sources). Although it is not official, is what says various responses on forums and other sites on the internet. No matter where the identifier is used, then in all cases above stick to these limits for no problems. It seems that will increase in 4.0.

If you are in doubt if this is correct I suggest creating two identifiers for the same object type within DB with a larger size where the difference between the names occurs only in characters that exceed the limit, the characters within the limit must be equal, This would cause a name conflict. Decreasing, the limit that does not cause conflict is the limit of implementation.

  • bigown, I’ve already thought about doing that. Actually, given the lack of documentation on this, it will be the only way to figure out the limit. To make matters worse, I’m using the Simpledataset component, and I have two procedures with big names. When I add a simple dataset, it loads the fields from the other dataset, precisely because of the field limitation problem. And look, in this case, the name coincidence already stops at the sixteenth character .... That is, if you have two sp whose names are equal until the 16 character, I already have a problem .... But thanks, I’ll see what to do.

0

Browser other questions tagged

You are not signed in. Login or sign up in order to post.