Skip to content
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

Enhance plan lengths inside the engine [CORE2509] #2920

Closed
firebird-automations opened this issue Jun 15, 2009 · 6 comments
Closed

Enhance plan lengths inside the engine [CORE2509] #2920

firebird-automations opened this issue Jun 15, 2009 · 6 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Claudio Valderrama C. (robocop)

Assigned to: Claudio Valderrama C. (robocop)

Jira_subtask_inward CORE2370

There are hard limits around 64K on the plans that can processed and returned internally. Result in practice are limited to signed int16 due to a mixture of data types.
The limit can be raised to 64K (in practice, a few bytes less) by forcing all public interfaces to treat the length internally as USHORT even if they receive SSHORT.
64K is also a limit imposed by the remote protocol for now.

Commits: 70040bd 6bfacad

@firebird-automations
Copy link
Collaborator Author

Commented by: Umberto Masotti (umasotti)

I've followed the very technical discussion in fb-devel.
There where a proposal of a hack connected to "length" of message (if less than a predefined value, than it's a "special" message).
There is another hack, connected to the fact that the first five letters need to be "PLAN" followed by a blank, this let space to 2^32 - 1 different options as first four bytes (or more if characters aren't ASCII, don't know).
This will break existing programs, it's an horrible hack, but it's an alternative.

@firebird-automations
Copy link
Collaborator Author

Commented by: Claudio Valderrama C. (robocop)

1.- Technical discussion should happen on fb-devel, not here.
2.- Hacks do not make us any favor
3.- Did you take time to read the original text in this tracker entry? It says:
"64K is also a limit imposed by the remote protocol for now".
This means we can't pass a string bigger than 64K from the server to the client library. You can create something longer, but it can't be delivered. A new protocol version is needed.

@firebird-automations
Copy link
Collaborator Author

Modified by: Claudio Valderrama C. (robocop)

assignee: Claudio Valderrama C. [ robocop ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Claudio Valderrama C. (robocop)

Enlarged up to 64K minus few bytes (of course, only if the tool passes a bigger buffer and handles correctly numbers between 32K and 64K).

@firebird-automations
Copy link
Collaborator Author

Modified by: Claudio Valderrama C. (robocop)

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 2.5 RC1 [ 10300 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment