-
-
Notifications
You must be signed in to change notification settings - Fork 8
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
FR: Support for VARLEN fields with different size #54
Comments
Rechecked: OCESQL uses the following: #define OCDB_VARCHAR_HEADER_BYTE 4 // size of PIC S9(8) COMP-5` So I do wonder: Shouldn't |
Yes, that's probably for the better, I'll add this to the next batch of fixes. |
Should the "variable" support instead of GixSQL compile time be in the backlog or planned for a version? |
This will be partially solved in v1.0.21dev (to be released in about a week). It will be possible to specify the size of the length indicator both during preprocessing and at runtime (with an environment variable). It is a stopgap but at least it allows for different indicator field sizes without having to recompile (or use a separate version of) GixSQL. This will be definitely fixed by adding a flag to the ones currently passed to define SQL parameters (along with type, size, etc.) but I don't know if it will be possible for v1.0.21 "final". |
- Logs can be rotated (parameters are: GIXSQL_LOG_ROTATE, GIXSQL_LOG_ROTATE_MAX_SIZE, GIXSQL_LOG_ROTATE_MAX_FILES, more documentation will follow) - The size of indicator for VARYING fields can be set at runtime with an environment variable (GIXSQL_VARYING_LEN_SZ_SHORT) that must coincide with the size specifying when preprocessing (a new parameter -N/--varying-length-size has been added to gixpp). See here: #54 (comment) - The handling of continuation lines has been fixed - Several pull requests by @GitMensch have been merged (thanks!!) that fix some memory bugs here and there
The size of sub-items to store the length of variable-length-fields can be currently chosen at compile-time like this:
gixsql/libgixpp/TPESQLProcessing.cpp
Lines 107 to 120 in f28e208
The problem is that short/long field length indicators cannot be currently mixed, so in practice there is no difference between
VARCHAR
andLONG VARCHAR
, provided that you defineUSE_VARLEN_32
(except at declaration time, where I thinkLONG VARCHAR
is still not supported, so you have to use standardVARCHAR
).Originally posted by @mridoni in #38 (comment)
So things to do:
EXEX SQL VAR
and to use the 4byte type forVARYING
groups which extend the 2byte sizeThe text was updated successfully, but these errors were encountered: