Menu

Commit [r13038]  Maximize  Restore  History

Maths builtins, CHAR UTF-8 truncation, UI protocol names, .NET runtime

ROUND/TRUNC/MOD/POW/EXP/LOGN/LOG10 were "not implemented" stubs and
failed to link. Implemented in builtin_d.c. ROUND and TRUNC work on the
decimal text rather than the double, so ROUND(1.005,2) gives 1.01 and
agrees with LET onto a DECIMAL(10,2); rounding the double gave 1.00.
Not added to std_funcs.c - that would reserve the names and break
programs defining their own, as tools/misql/coxxc04.4gl does.

CHAR(n) truncation could cut a UTF-8 character in half and leave invalid
bytes in the field. A4GL_trim_partial_char blanks a partial trailing
character; the field keeps its width and ASCII is unaffected.

UI protocol field names made consistent: MOVEWINDOW sent x/y, OPTIONS
sent option/value and WAITFOREVENT sent context, against uppercase
everywhere else. MOVEWINDOW was also emitting a malformed tag on both
XML paths (a stray / mid-tag). The Angular OPTIONS handler now accepts
the old and new names, so it works against either runtime.

dotnet/: .NET 8 runtime - 4GL types (CHAR/NCHAR as one character-counted
type, decimal for DECIMAL and MONEY, DateOnly for DATE, qualified
DATETIME and INTERVAL), SQL over a pluggable driver chosen by
A4GL_SQLTYPE with no provider dependency in the core, and the UI
protocol channel. 71 tests, plus a harness that runs the same probe
through both runtimes and diffs them.

Also adds 24 ExtJS command handlers that were never committed.

mikeaubury 2026-09-02

1 2 3 > >> (Page 1 of 3)
added /aubit4glsrc/trunk/dotnet
added /aubit4glsrc/trunk/dotnet/Directory.Build.props
added /aubit4glsrc/trunk/dotnet/fidelity
added /aubit4glsrc/trunk/dotnet/fidelity/cs
added /aubit4glsrc/trunk/dotnet/fidelity/cs/Fidelity.csproj
added /aubit4glsrc/trunk/dotnet/fidelity/cs/Program.cs
added /aubit4glsrc/trunk/dotnet/fidelity/fid.4gl
added /aubit4glsrc/trunk/dotnet/fidelity/run.sh
added /aubit4glsrc/trunk/dotnet/src
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Aubit4GL.Runtime.csproj
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/FglSession.cs
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/FglStatus.cs
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Sql
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Sql/FglCursor.cs
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Sql/FglRow.cs
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Sql/FglSql.cs
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Sql/FglSqlDriver.cs
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Types
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Types/FglChar.cs
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Types/FglNumber.cs
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Types/FglTemporal.cs
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Types/FglText.cs
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiChannel.cs
/aubit4glsrc/trunk/dotnet/Directory.Build.props Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/fidelity/cs/Fidelity.csproj Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/fidelity/cs/Program.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/fidelity/fid.4gl Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/fidelity/run.sh Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Aubit4GL.Runtime.csproj Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/FglSession.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/FglStatus.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Sql/FglCursor.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Sql/FglRow.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Sql/FglSql.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Sql/FglSqlDriver.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Types/FglChar.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Types/FglNumber.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Types/FglTemporal.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Types/FglText.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiChannel.cs Diff Switch to side-by-side view
Loading...
1 2 3 > >> (Page 1 of 3)