forked from mridoni/gixsql
-
Notifications
You must be signed in to change notification settings - Fork 3
/
ChangeLog
192 lines (168 loc) · 10.6 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
=== v1.0.21 ======================================================
Added some features and fixes
- 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: https://github.com/mridoni/gixsql/issues/54#issuecomment-1712474368
- 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
=== v1.0.20b ======================================================
- Added SSL connection support for PostgreSQL
- Preprocessor components have been refactored, parser and generator are now two different modules
=== v1.0.20a ======================================================
- Standard COBOL NULL indicators are supported for all drivers
=== v1.0.20 ======================================================
- The Windows installer now correctly install the VC++ runtime and the client libraries, including their dependencies
=== v1.0.20dev1 ==================================================
- Fixed "re-align COBOL_TYPE_UNSIGNED_BINARY code to use switch ready" (#136)
- Fixed "SIGSEGV on cursor close" (#135)
- Fixed "change SqlVar::type to enum enhancement New feature or request" (#124)
- Fixed "testsuite adjustments - running with analyzers / code instrumentation" (#122)
- Fixed "FR for USAGE VARRAW alias to VARYING" (#120)
- Fixed "leak in dbi->fetch_one and potentially other places" (#111)
- Fixed "Return more details on the actual error instead of "invalid column data"" (#109)
- Fixed "FR gixpp option handling: add alias for source basename" (#53)
- Modified scanner/parser to improve handling of subqueries
- Added Debian 10/11 binary packages
- Added GitHub Actions workflow for easier testing
- The test suite is now documented
- SQLCA is now set on success (PR #137 by Simon Sobisch)
- The gixsql wrapper now uses the correct directory for SQLCA (PR #134 by Simon Sobisch)
=== v1.0.19 ======================================================
- Re-implemented autocommit and updatable cursor support (also affects #14)
- Docs and examples are now included in the autoconf tarball (fixes #50)
- Changed cursor state ownership (fixes #115)
- Fix for "parser error on semicolon and error continuation does not work" (#118)
=== v1.0.18b =====================================================
- Changed cursor initialization (should fix #88)
- Fix for "1.0.17/1.0.18 regression: COMMIT and ROLLBACK delete all cursor definitions -> Status -111" (#119)
- Merged pull request #127 (thanks to Simon Sobisch)
=== v1.0.18a =====================================================
- Changed logging system initialization to avoid possible crashes
- Fixed some spelling problems in the documentation
- Fixed some memory leaks in the runtime
- Solution for "sqlstate by driver may set 00000 for errors (in GixSQL?)" (#114)
- Additional fix for "codegen / logic issue for "GIXSQLCursorDeclareParams" (#88)
- Allowing variable with level 77/78 in the parser
=== v1.0.18 ======================================================
- Added new Oracle driver, based on ODPI
- Added new SQLite driver
- All the drivers have been updated and now implement the complete set of supported features
- Solution for "PG: issue with prepared statements" (#99)
- Solution for "PCursors cannot be re-opened after close" (#98)
- Solution for "libgixpp: setStatus is called for errors without DBI parm passed - sets SQLERRM" (#94)
- Solution for "error handling (especially for 07001)" (#92)
- Solution for "show-stopper bug in pgsql_prepare" (#91)
- Solution for "PREPARE does not work with VARLENGTH groups (ocesql compat)" (#79)
- Partial solution for "PREPARE does not work with VARLENGTH groups (ocesql compat)" (#68)
- Solution for "The PostgreSQL driver needs START TRANSACTION before using cursors" (#14)
- Solution for "FR: support EXEC SQL VAR" (#21)
- Fixed a bug in "problems with "codegen / logic issue for "GIXSQLCursorDeclareParams" (#88)
- Solution for "FR: allow mapping of "NoRecCode"' (#95) - added --no-rec-code parameter to gixpp
- Tokens in the parser have been labeled to improve diagnostics (pulled PR #96 by @GitMensch)
- Fixed COMP-3 handling in drivers other than PostgreSQL
- Rewrote the test suite (still MSTest-based) to dynamically generate a matrix of test to be run on the various platforms/database drivers
- Added options for parameter generation in gixpp (-a was removed)
- Added new GIXSQL_FIXUP_PARAMS option for runtime, to automatically convert parameter format in prepared statments
- "Native" cursors are now the default for the PostgreSQL driver
- "Smart" cursor initialization is now the default for all cursors, including those declared in WORKING-STORAGE (-L was removed from gixpp), should fix #101
- Removed dynamic cursor emulation from the ODBC driver when using PostgreSQL
=== v1.0.17 ======================================================
- Added support for "smart" cursor initialization (#88)
- Added support for EXECUTE prepared-statement INTO #(87)
- Fixed a logging problem (#84)
- Fixed "wrong generated COBOL in 1.0.16" (#83)
- Fixed "missing "close" for spdlog?" (#82)
- Added support for using prepared statements in cursors (#81)
- Variable length fields indicators are now 32-bit long by default (#80)
- Added support for using variable length fields with prepared statements (#79)
- Added upport for using group fields in INSERT and SELECT..INTO statements (#6)
- Added support for more connection string formats (including ocesql compatibility) (#16)
- Added Support for DISCONNECT ALL (#89)
- Performed some refactoring to improve code size
- Fixed a few memory leaks
=== v1.0.16 ======================================================
- Much improved logging system
- EXEC SQL WHENEVER support
- New formats for "connection strings", including an ocesql-compatible one
- The MySQL driver now links against (and ships with) the MariaDB client libraries
- PostgreSQL client library (libpq) has been updated
- Binary dependencies are now installed with vcpkg (on Windows)
- autoconf can now also build on MinGW
- Fixed memory problems and misc warnings (merged PRs by @GitMensch)
=== v1.0.15 ======================================================
- Fixed "long queries break COBOL compiler" (#8)
- Fixed a couple of possible parser crashes
- Fixed a regression in the solution for #7
- Fixed "Set (more) correct error code for 'SQLSTATE FFFFF'" (#17)
- Fixed "possibly not correct setup of SQLSTATE" (#7), for now PostgreSQL only
- Fixed "Add support for VARYING groups" (#38)
- Moved variable length filed storage to COMP-5 instead of binary
- Fixed "translation defect in 1.0.12" (#1)
- Fixed "scanner eating SECTIONs" (#36)
- Removed unnecessary build files
- Fixed autoconf scripts, "make distcheck" now works
- Fixed installer script (Windows)
- Formatting fixes
=== v1.0.14 ======================================================
- The parser now handles lowercase PROGRAM-IDs and module names
- Fixed installer/build scripts
=== v1.0.13 ======================================================
- Reorganized the source tree. GixSQL has been moved to a separate repository
=== v1.0.12 ======================================================
- Fixed "More formats for connect" (#43)
- Fixed "length/power issues with COMP-3 (#92)" (and zoned TC/LS)
- Fixed "pass postgres cast operator as token (#93)"
- Fixed "Long queries break COBOL compiler" (#89)
- Fixed (partially) "GixSQL 1.0.9 compiler warnings" (#53)
- Fixed a couple of regressions for "support EXEC SQL VAR" (#47)
- Fixed "add OCCURS UNBOUNDED (#80)
- Fixed several parser problems
- Fixed error reporting bugs (wrong/invalid location of the error)
- Fixed "prevent excessive filename conversions to absolute path" (merged PR45)
- Fixed "DbInterfacePGSQL::get_resultset_value C string handling" (merged PR85)
- Fixed "DbInterfacePGSQL cstring -> std::string" (merged PR86)
- Fixed a problem with cursors in "add support for multiple connections" (#44)
- Fixed "outputs too many periods - breaks code flow" (#82)
- Fixed allocation of "realdata" buffer"
=== v1.0.11 ======================================================
- Implemented "EXEC SQL IGNORE" (GitHub issue #73)
- Fixed "DISCONNECT is broken" (#78)
- Fixed a "ROLLBACK TO SAVEPOINT" issue
- Fixed connection string parameter issue (see #39)
- Improvements to "passthru" SQL statements (see #68)
- Fixed a "ROLLBACK TO SAVEPOINT" regression (triggered by #67)
- Improves/fixes #73 (EXEC SQL IGNORE), adding support for GnuCOBOL preprocessor directives
- Fixed "scanner checks for FD (including in literals)" (GitHub isue #65)
- Fixed "unexpected SELECTFROM - statements with sub-selects cannot be parsed" (GitHub issue #66)
- Fixed "CONNECT...IDENTIFIED BY" (GitHub issue #43)
=== v1.0.10 ======================================================
- Extended the ESQL VAR statement (added FLOAT, DECIMAL, etc.)
- Added support for prepared statements
- Added support for EXECUTE IMMEDIATE
- Fixed handling of BEGIN/END DECLARE SECTION
- Fixed autoconf package
- Fixed command line options in gixpp
- Fixed display of error messages in gixpp/libgixpp
- Added ocesql-style wrapper for gixpp
=== v1.0.9 =======================================================
- Fixed a bug in the Linux debugger (watched variables are now displayed correctly)
- Added "screen resolution" option in "Settings"
=== v1.0.8 =======================================================
- changed the connection string format
- added support for multiple connections
- added support for explicit declaration of variable length fields
- added support for driver options
- fixed bugs and improved error handling in the runtime libraries
- fixed bugs and improved error handling in the preprocessor
- added a Linux/autoconf build package
=== v1.0.7 =======================================================
- Added separate build scripts/solution files for GixSQL
- Improved GixSQL documentation, with a command line example
=== v1.0.6 =======================================================
- Fixed one more regression when creating a new project
- Added code (Windows-only) to generate a minudump file in %TEMP% in case of a crash
=== v1.0.5 =======================================================
=== v1.0.4 =======================================================
=== v1.0.3 =======================================================
- GixSQL debug and error logs are now configurable from the IDE
- Fixed a (fatal) bug in GIXSQLExec/GIXSQLExecParams
- Fixed a bug in the ESQL parser