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

Bind setting for Firebird 4 extended precision numeric/decimal [CORE6057] #6307

Closed
firebird-automations opened this issue Apr 29, 2019 · 5 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @mrotteveel

The setting SET DECFLOAT BIND and isc_dpb_decfloat_bind only influence DECFLOAT types. It doesn't influence NUMERIC and DECIMAL with precision larger than 18. It would be helpful if the same support was extended to those types.

I see two options:

1. Extended coverage of 'decfloat bind' to include the extended precision numerical types
2. Define a separate bind setting (SET statement + dpb) for the extended precision numerical types (eg 'decfixed bind' or 'extended_numeric bind' or something like that)

The first (extend coverage of 'decfloat bind') has my preference as it is simpler, and drivers or end-users that need this will likely either support both types or none (as supporting DECFLOAT will automatically lead to support of the extended precision numerics and vice versa). On the other hand having a separate setting can be used for fine-grained tuning (eg using double precision for decloat, and char for extended precision numerical types).

Commits: FirebirdSQL/fbt-repository@f87a8b6

====== Test Details ======

See fbt-repo/tests/functional/datatypes/decfloat-binding-to-legacy.fbt ( statement: "set bind of numeric(38) to numeric(18)" )

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

assignee: Alexander Peshkov [ alexpeshkoff ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

I believe the issue is resolved after changing of an underlying type for high precision numeric to 128-bit integer and adding generic SET BIND statement

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

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

resolution: Fixed [ 1 ]

Fix Version: 4.0 Beta 2 [ 10888 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

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

QA Status: No test => Covered by another test(s)

Test Details: See fbt-repo/tests/functional/datatypes/decfloat-binding-to-legacy.fbt ( statement: "set bind of numeric(38) to numeric(18)" )

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

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

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