| Commit | Date | |
|---|---|---|
|
[r13093]
by
mikeaubury
C# back end: report generation fixes A report is emitted as a nested class, so the module's own members are not in startReportOrdered and finishReportReordered were called by the ORDER BY path outputMode was assigned unqualified in one place when it is a field on the "while (1)" is not a condition in C#. Note: r13092 carried more than its message describes. Besides the RUN ... |
2026-09-05 21:59:56 | Tree |
|
[r13092]
by
mikeaubury
C# back end: close the wrapper on RUN ... RETURNING decode_varbind in 'w' mode opens a conversion around an assignment target - L_stat = AsSmallInt(Fgl.ExecuteCmd(L_cmd); That is a parse error, so it took the whole module's diagnostics with it and |
2026-09-05 21:59:13 | Tree |
|
[r13091]
by
mikeaubury
Fix INTERVAL addition and negative results Two faults in the year-month branch of A4GL_in_in_ops, which is where interval Addition wrote the total as a float and handed that to the parser: SPRINTF1 (buff_3, "%f", d_i1); /* "68.000000" */ which cannot be read as a year-month interval, so every addition of two That shared formatting was itself wrong for a negative total: it wrote each The day-time class was already correct; it goes through the seconds path. The interval fidelity probe now covers subtraction, addition and a subtraction Note that A4GL_op_ival in lib/libaubit4gl/interval.c, corrected in r13081, has |
2026-09-05 12:45:20 | Tree |
|
[r13090]
by
mikeaubury
Add an INTERVAL fidelity probe Checks INTERVAL qualifiers against the C runtime, and in particular what the Three INTERVAL cases are deliberately left out because the C runtime is wrong run.sh no longer writes its own entry point: the generator emits a static Main |
2026-09-05 12:35:31 | Tree |
|
[r13089]
by
mikeaubury
C# runtime: INTERVAL qualifiers, LOAD/UNLOAD, PUT, and missing builtins INTERVAL now carries its qualifier as a value. FglIntervalQualifier holds the Also on the temporal types: arithmetic on DATETIME and INTERVAL, DATE plus or LOAD and UNLOAD are implemented, following Informix's delimited format - one Missing builtins added: writeln, FGL_LASTKEY and FGL_KEYVAL (using the STATUS is assignable, routed through a setter that keeps the status fields The client/server call layer still throws, but with the signatures its |
2026-09-05 12:35:17 | Tree |
|
[r13088]
by
mikeaubury
Put the whole C# runtime in one directory The runtime was split across two trees: four files under lib/liblex/lex_cs/ The four move to where the rest of them are: FglStrings, FglEnvironment and No code change - the files move as they are, with their history. |
2026-09-05 12:34:24 | Tree |
|
[r13087]
by
mikeaubury
C# back end: type fidelity, INTERVAL qualifiers, LOAD/UNLOAD SMALLINT was collapsed onto INTEGER in three places, each producing an int? - the cast fallback switch fell DTYPE_SMINT through into DTYPE_INT INTERVAL qualifiers are now built rather than spelled out. The leading field's LOAD and UNLOAD were A4GL_assertion(1, "Not implemented yet"), so any module Also here: |
2026-09-05 12:32:40 | Tree |
|
[r13086]
by
mikeaubury
C# back end: report group breaks compile without an ORDER BY ordGroup was declared inside "if (cnt)" - only when the report has ORDER BY |
2026-09-05 12:32:36 | Tree |
|
[r13085]
by
mikeaubury
C# back end: escape identifiers that are C# keywords A 4GL variable is emitted with an L_/M_/G_ prefix and cannot collide with a C# public int? ref; which will not compile. bad_idents.c already had the mechanism for this and its word list was empty, so Applied at the use site and at all four declaration sites - flat members, |
2026-09-05 12:32:11 | Tree |
|
[r13084]
by
mikeaubury
C# back end: resolve decode_cmd_type locally libLEX_CSNEW.so shipped with an unresolved symbol. decode_cmd_type is only libLEX_CSNEW.so: undefined symbol: decode_cmd_type leaving a half written output file behind. fgl_enums.c and fgl_enums.h are copied here from lex_esqlc rather than linked |
2026-09-05 12:31:55 | Tree |