General

Profile

Greg Shah's activity

From 05/22/2026 to 06/20/2026

06/17/2026

10:26 AM Runtime Infrastructure Feature #11539: port and/or re-implement runtime support in C# (or other CLR implementation)
I agree that AI will help greatly with any .NET code that needs to be hand written BUT wherever possible we will conv... Greg Shah
10:24 AM Runtime Infrastructure Feature #11539: port and/or re-implement runtime support in C# (or other CLR implementation)
Artur Școlnic wrote:
> Would the order of conversion be:
> 1. Customer application to Java, which establishes a bas...
Greg Shah
08:56 AM Base Language Feature #9767: Support the new VAR statement introduced in Progress 12.x
> ... Greg Shah
06:36 AM Base Language Feature #9767: Support the new VAR statement introduced in Progress 12.x
Dănuț Filimon wrote:
> Greg Shah wrote:
> > > The main issue I have now is @var char c1 = "1".@ ,this is mostly rel...
Greg Shah

06/16/2026

11:24 AM Runtime Infrastructure Feature #11539: port and/or re-implement runtime support in C# (or other CLR implementation)
I don't think the customer would accept iKVM as a solution. And I'm worried that the more advanced usage would not w... Greg Shah
10:28 AM Runtime Infrastructure Feature #11539: port and/or re-implement runtime support in C# (or other CLR implementation)
Good point about the JNI code. .NET has good native support that will directly replace @libffi@ (or the Java FFM sup... Greg Shah
08:55 AM Runtime Infrastructure Feature #11539: port and/or re-implement runtime support in C# (or other CLR implementation)
In #2148, we used iKVM to deliver a subset of our runtime in .NET CLR. This worked well but may not be a solution fo... Greg Shah
10:26 AM Base Language Feature #9767: Support the new VAR statement introduced in Progress 12.x
> The main issue I have now is @var char c1 = "1".@ ,this is mostly related to @convert/literals.rules@ and when shou... Greg Shah
08:18 AM Base Language Feature #9767: Support the new VAR statement introduced in Progress 12.x
I'd prefer not to do that.
Please show the output that is being generated incorrectly along with the 4GL and the AST.
Greg Shah
10:21 AM Database Feature #10436: Detect Sequential Data Access and Prefetch Records from the Database
We could detect at runtime and record hints based on this. Those hints could then change how we convert. Greg Shah

06/15/2026

09:41 AM Conversion Tools Feature #11540: rework conversion back-end to add optional support for output to C#
There are some customers that prefer C# to Java.
The core of both languages have nearly identical syntax and C# ...
Greg Shah
09:21 AM Conversion Tools Feature #11540 (New): rework conversion back-end to add optional support for output to C#
Greg Shah
09:18 AM Runtime Infrastructure Feature #11539 (New): port and/or re-implement runtime support in C# (or other CLR implementation)
Greg Shah
06:50 AM TRPL Feature #3211: implement multi-threaded pattern engine and rework the ConversionDriver to leverag...
Isn't #11520-19 a bug?
I don't see how we can revert to the old behavior for compiled expressions. They are impli...
Greg Shah
06:46 AM Runtime Infrastructure Bug #11538: Switch from whole Redis instance to just a logical database.
The directory is the source of all truth in FWD configuration. Additionally, its performance is also quite important... Greg Shah
06:35 AM Runtime Infrastructure Bug #11538: Switch from whole Redis instance to just a logical database.
From AI:
h1. Redis Logical Database
A Redis logical database is a separate, isolated namespace within a single ...
Greg Shah
06:26 AM Runtime Infrastructure Bug #11538: Switch from whole Redis instance to just a logical database.
Why would want to use multiuple logical databases? It is not an unambiguously better way to use Redis. Greg Shah

06/12/2026

08:31 AM Database Feature #6720: lazy hydration
Again, let's back up here and understand what is the case for 4GL code to access to a specific row's results after it... Greg Shah
07:50 AM Database Feature #6720: lazy hydration
> If a FIND is executed and the FFC is used, then the id provided. The id is checked against the session cache. The s... Greg Shah
06:21 AM Database Feature #6720: lazy hydration
I'm not sure I agree on the @PRESELECT@. I'd like to know what the real cases are where we have to load the DMO afte... Greg Shah
06:22 AM Database Feature #11526: Implement in-memory uniquness validation using Bloom filters
I'm surprised that the solution doesn't just clear the bits associated with the deleted record. Greg Shah
06:13 AM Database Feature #11526: Implement in-memory uniquness validation using Bloom filters
So there will be a "buildup" of invalid (out of date) bits for deleted records? That is even more of a reason to re-... Greg Shah

06/11/2026

08:40 AM Database Feature #11526: Implement in-memory uniquness validation using Bloom filters
I like the non-persisted nature of the design in #11526-27.
I don't think we can apply changes to the filter befor...
Greg Shah
08:10 AM Database Feature #11526: Implement in-memory uniquness validation using Bloom filters
For now, make the location of the cache configurable. Production deployments must carefully place and secure all fil... Greg Shah
07:53 AM Database Feature #11526: Implement in-memory uniquness validation using Bloom filters
This is a level of speed that means we don't need to persist things in between server restarts. We could just build ... Greg Shah
07:23 AM Database Feature #11526: Implement in-memory uniquness validation using Bloom filters
My point is that this should be a general solution not something hard coded to multi-tenant.
Yes, you can read the...
Greg Shah
06:45 AM Database Feature #11526: Implement in-memory uniquness validation using Bloom filters
I don't understand why this would be associated with tenant data. This is a general solution for persistence, right?... Greg Shah
06:28 AM Database Feature #11526: Implement in-memory uniquness validation using Bloom filters
Artur Școlnic wrote:
> I just realized that tenant API needs a running server, I think as a first option, manually w...
Greg Shah
07:51 AM Conversion Tools Feature #10804: create replacement AST implementation for use with ANTLR 4
In this 2X difference for the front end, 40% comes from the ANTLR4 code and 60% from something else. The other major... Greg Shah
06:41 AM TRPL Feature #3211: implement multi-threaded pattern engine and rework the ConversionDriver to leverag...
I think this is OK for now. We know we have more evolution to go with our solution to the distributed stable naming ... Greg Shah
06:25 AM TRPL Feature #3211: implement multi-threaded pattern engine and rework the ConversionDriver to leverag...
Octavian Adrian Gavril wrote:
> Octavian Adrian Gavril wrote:
> > Greg Shah wrote:
> > > Incremental conversion is...
Greg Shah

06/10/2026

02:35 PM Conversion Tools Feature #11528: implement COMPILE stmt
Although this is a 4GL language statement, possibly best considered part of Base Language, from our perspective it ha... Greg Shah
02:22 PM Conversion Tools Feature #11528 (New): implement COMPILE stmt
Greg Shah
12:16 PM TRPL Feature #3211: implement multi-threaded pattern engine and rework the ConversionDriver to leverag...
Incremental conversion is already pretty fast. Do these changes make it unusable? (so slow that no one would choose ... Greg Shah
09:09 AM TRPL Feature #3211: implement multi-threaded pattern engine and rework the ConversionDriver to leverag...
No. If multi-threading works properly and is significantly faster than single threaded trunk, then we will move ahea... Greg Shah
09:21 AM Base Language Feature #9767: Support the new VAR statement introduced in Progress 12.x
You should be trying for something like this:... Greg Shah
09:16 AM Conversion Tools Feature #10804: create replacement AST implementation for use with ANTLR 4
> It is not valid, a dot is missing here:
Hmmm. Something is wrong here with the project. You are working with H...
Greg Shah
06:54 AM Conversion Tools Feature #10804: create replacement AST implementation for use with ANTLR 4
Paula Păstrăguș wrote:
> Another important thing I noticed is that the ANTLR4 prediction algorithm does not seem to ...
Greg Shah
06:49 AM Conversion Tools Feature #10804: create replacement AST implementation for use with ANTLR 4
> One bottleneck I identified is the @toolbar.p@ file. It throws an NPE caused by a @no viable alternative@, which is... Greg Shah
06:44 AM Database Feature #6720: lazy hydration
> Until now, the lazy hydration is done just for three things:
We should expand this much further as a first step....
Greg Shah

06/09/2026

04:08 PM Documentation Support #9709: Needed: Basic example of configuring separate client and server
Please write documents in textile format instead of markdown. Textile has the advantage that we can post it into Red... Greg Shah
03:57 PM Documentation Support #9709: Needed: Basic example of configuring separate client and server
h1. Web Clients — Local Brokers, Host Order, and @map.clients-to-backends@
This note explains how per-broker web-c...
Greg Shah
02:31 PM Conversion Tools Feature #10804: create replacement AST implementation for use with ANTLR 4
> Greg, I remember you suggested something related to this at some point, but I do not recall the exact details. Coul... Greg Shah
12:48 PM Conversion Tools Support #6409: generate "railroad style" syntax diagrams for the progress parser
h1. Analysis of Approach
h2. Objective
Provide high-quality, readable "railroad" syntax diagrams for the full r...
Greg Shah
10:49 AM Database Feature #6720: lazy hydration
> I have made these measurements because I need to know if fixing the performance findings, but I think I shall find ... Greg Shah
10:25 AM Base Language Feature #9767: Support the new VAR statement introduced in Progress 12.x
Also, I should note that the @EQUALS@ node will need to have its type rewritten as @ASSIGN@. Look at existing gramma... Greg Shah

06/08/2026

11:08 AM Base Language Feature #9767: Support the new VAR statement introduced in Progress 12.x
Yes, the use of @^@ in @eq:EQUALS^@ overrides the @makeASTRoot()@ and forces the @EQUALS@ to be the root node.
I s...
Greg Shah

06/05/2026

05:18 PM TRPL Feature #3211 (Internal Test): implement multi-threaded pattern engine and rework the ConversionD...
Code Review Task branch 17552a Revisions 16644 through 16648
I'd good with the changes.
Please start a full tes...
Greg Shah
04:53 PM Base Language Feature #9767: Support the new VAR statement introduced in Progress 12.x
Code Review Task Branch 9767a Revision 16564
Overall, this is quite close. Here are changes I'd like to see:
1...
Greg Shah
12:08 PM Conversion Tools Feature #6320: sharded schemata
Using TRPL for import is overkill since the tree structure is so trivial. So, yes, I agree it should move away. Greg Shah
11:08 AM Conversion Tools Feature #6320: sharded schemata
I think it is best to remove the @.dict@ files too. Greg Shah
10:54 AM Conversion Tools Feature #6320: sharded schemata
If the details are in annotations in the DMOs, do we need the P2O documents? Annotations seems cleaner. Greg Shah
10:37 AM Conversion Tools Feature #6320: sharded schemata
Octavian Adrian Gavril wrote:
> Understood, that makes perfect sense for production discipline. But does this setup ...
Greg Shah
09:57 AM Conversion Tools Feature #6320: sharded schemata
At production, the customer will expect a merged database not to run against a shared. This means there is an assump... Greg Shah

06/03/2026

07:27 AM Base Language Feature #9767: Support the new VAR statement introduced in Progress 12.x
That is OK, remember that we don't have syntax checking support in FWD until #3882. So long as the tests exist and "... Greg Shah

05/29/2026

08:21 AM Conversion Tools Feature #9638: resolve OO dependencies during parsing using annotations in already converted classes
> This scenario is similar to how we decide which class to reference by looking at the propath. In the current versio... Greg Shah

05/28/2026

02:41 PM Conversion Tools Feature #9638: resolve OO dependencies during parsing using annotations in already converted classes
> > I need to integrate a versioning system for the generated class files. This is necessary for the incremental conv... Greg Shah
08:38 AM Database Feature #4369: implement stateless FWD server clustering
Did you change the default setting for metadata (at least in non-clustered mode)?
We need clear documentation on h...
Greg Shah

05/27/2026

10:15 AM Conversion Tools Feature #10804: create replacement AST implementation for use with ANTLR 4
🤞 Greg Shah
06:47 AM Conversion Tools Feature #9638: resolve OO dependencies during parsing using annotations in already converted classes
> So, the conversion is running with the converted module's configurations instead of its own. I need to fix the load... Greg Shah

05/26/2026

09:40 AM Conversion Tools Feature #9638: resolve OO dependencies during parsing using annotations in already converted classes
Octavian Adrian Gavril wrote:
> Another observation:
> While testing the current solution with a jar copied into @p...
Greg Shah

05/22/2026

11:55 AM Conversion Tools Feature #10804: create replacement AST implementation for use with ANTLR 4
> Most of the time is spent in primary_expr decision. I tried to split it.. but I had no luck, the total time for Hot... Greg Shah
07:07 AM Conversion Tools Feature #10804: create replacement AST implementation for use with ANTLR 4
Rather than working on @<app_c>@, I think it is important to resolve the performance issue. If that can't be solved,... Greg Shah
07:06 AM Conversion Tools Feature #10804: create replacement AST implementation for use with ANTLR 4
In pre-scan mode we are trying to do a minimal parse to get some structural elements without worrying about the detai... Greg Shah
 

Also available in: Atom