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...
- 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... - 08:56 AM Base Language Feature #9767: Support the new VAR statement introduced in Progress 12.x
- > ...
- 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...
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...
- 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...
- 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...
- 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...
- 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. - 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.
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# ... - 09:21 AM Conversion Tools Feature #11540 (New): rework conversion back-end to add optional support for output to C#
- 09:18 AM Runtime Infrastructure Feature #11539 (New): port and/or re-implement runtime support in C# (or other CLR implementation)
- 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... - 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...
- 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 ... - 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.
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...
- 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...
- 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...
- 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.
- 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-...
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... - 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...
- 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 ...
- 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... - 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?...
- 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... - 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...
- 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 ...
- 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...
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...
- 02:22 PM Conversion Tools Feature #11528 (New): implement COMPILE stmt
- 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 ...
- 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...
- 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:...
- 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... - 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 ... - 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...
- 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....
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...
- 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... - 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...
- 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... - 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 ...
- 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...
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...
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... - 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... - 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.
- 11:08 AM Conversion Tools Feature #6320: sharded schemata
- I think it is best to remove the @.dict@ files too.
- 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.
- 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 ... - 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...
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 "...
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...
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...
- 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...
05/27/2026
- 10:15 AM Conversion Tools Feature #10804: create replacement AST implementation for use with ANTLR 4
- 🤞
- 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...
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...
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...
- 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,...
- 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...
Also available in: Atom