Project

General

Profile

Activity

From 12/17/2022 to 01/15/2023

01/15/2023

05:13 PM Database Feature #7037: remove dirty share manager
Greg Shah wrote:
> Eric: Do you have any objections?
>
> This seems safe to commit this in both trunk and in 612...
Eric Faulhaber
04:36 PM Database Feature #7037: remove dirty share manager
Eric: Do you have any objections?
This seems safe to commit this in both trunk and in 6129b.
Greg Shah
03:19 PM Database Feature #7037: remove dirty share manager
Please review the diff which allows to disable dirty sharing. I've tested trunk with this change on the big customers... Stanislav Lomany
06:38 AM Database Feature #7037: remove dirty share manager
I've tested it in Hotel (I had to disable @ConnectionManager.authenticate@ to run it) and found no persistence-relate... Stanislav Lomany
10:48 AM Database Feature #6444: dataset improvements
Fixed second-pass query generation for queries with CONTAINS operator.
Committed to 6444a/14475.
Igor Skornyakov
12:13 AM Database Feature #7020: always use "expanded" extent fields
I have created the 7020a branch (from 6129b) and committed r14361 which includes the changes for a first version of "... Ovidiu Maxiniuc

01/14/2023

05:00 PM Database Feature #7037: remove dirty share manager
The last time we measured it, I recall that about 10% of time was spent inside the dirty database. Removing it might... Greg Shah
04:59 PM Database Feature #7037: remove dirty share manager
Let's make sure that Hotel works properly with your changes. Greg Shah
07:17 AM Database Feature #7037: remove dirty share manager
Eric expected that the persistence layer will break badly if there is not a safe mocking version of the @NopDirtyShar... Greg Shah
04:57 PM Base Language Feature #6821: java collection performance
Stanislav Lomany wrote:
> [...]
>
> It looks interesting to me that functions are executed 10 times slower than p...
Greg Shah
04:28 PM Base Language Feature #6821: java collection performance
... Stanislav Lomany
01:36 AM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
varargs in TRPL are emulated via @Object[]@ I think - see @CommonAstSupport.getAncestorOfType@ for an example. Constantin Asofiei
09:56 PM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
Ovidiu Maxiniuc wrote:
> Eric Faulhaber wrote:
> > That should make the replacement TRPL code simpler and more comp...
Ovidiu Maxiniuc
08:37 PM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
Greg Shah wrote:
> I understand. Even though it is possibly not much improvement, it still must be something small ...
Ovidiu Maxiniuc

01/13/2023

06:26 PM Database Feature #6371: implement SAVE CACHE statement
I pushed minor updates to the table validation procedure - new rule plus the table name shows up in the error window.... Boris Schegolev
11:56 AM Database Feature #6371: implement SAVE CACHE statement
Eric Faulhaber wrote:
> Eric Faulhaber wrote:
> On second thought, this might not be what you were seeing. This was...
Boris Schegolev
03:53 AM Database Feature #6371: implement SAVE CACHE statement
Eric Faulhaber wrote:
> Boris, with rev 14450, I get this in an infinite loop when I run @save-cache3.p@:
>
> [.....
Eric Faulhaber
02:48 AM Database Feature #6371: implement SAVE CACHE statement
Boris, with rev 14450, I get this in an infinite loop when I run @save-cache3.p@:... Eric Faulhaber
05:23 PM Base Language Feature #6817: replace INSTANTIATING-PROCEDURE and other handle<ExternalProgram> with the actual ...
The attached diff contains @handle@ replacements for the @com.goldencode.p2j.persist@ Java package. I left several co... Hynek Cihlar
04:51 PM Database Feature #7037: remove dirty share manager
I'm done for today, but for the case you're in a hurry, I've attached option 1: @NopDirtyShareContext@ as well as opt... Stanislav Lomany
03:44 PM Database Feature #7037: remove dirty share manager
> Please create a @NopDirtyShareContext@ by extending @DirtyShareContext@ and write each method as an empty implement... Stanislav Lomany
02:15 PM Database Feature #7037 (WIP): remove dirty share manager
Stanislav Lomany
11:43 AM Database Feature #7037: remove dirty share manager
Greg Shah wrote:
> Please create a @NopDirtyShareContext@ by extending @DirtyShareContext@ and write each method as ...
Eric Faulhaber
10:18 AM Database Feature #7037: remove dirty share manager
FYI, the following are the existing (known) use cases for the dirty share database.
# FIND query cross-session mod...
Greg Shah
10:07 AM Database Feature #7037: remove dirty share manager
Optimally this should be configurable in the directory so that we can turn it on or off without code changes. Greg Shah
10:06 AM Database Feature #7037: remove dirty share manager
Please create a @NopDirtyShareContext@ by extending @DirtyShareContext@ and write each method as an empty implementat... Greg Shah
03:27 AM Database Feature #7037: remove dirty share manager
Greg Shah wrote:
> How easy is it to separate the portions only used for the cross-session behavior (which is about ...
Eric Faulhaber
02:49 AM Database Feature #7037: remove dirty share manager
How easy is it to separate the portions only used for the cross-session behavior (which is about the 4GL transaction ... Greg Shah
02:21 PM Base Language Feature #6821: java collection performance
Committed 6129b rev 14358: Final round of performance improvements which are replacements of some 'for-each' loops wi... Stanislav Lomany
10:36 AM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
Greg Shah wrote:
> > They must be grouped in a block / single_block / stmt_list to benefit from natural processing d...
Ovidiu Maxiniuc
03:11 AM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
Greg Shah wrote:
> > I think there are other source of improvements in TRPL. One I can guess now are usages of @down...
Eric Faulhaber
03:02 AM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
> I think there are other source of improvements in TRPL. One I can guess now are usages of @downPath@ and @upPath@ w... Greg Shah
03:01 AM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
> They must be grouped in a block / single_block / stmt_list to benefit from natural processing downstream. I debugge... Greg Shah
12:06 AM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
I tried to create a new @dynamic_query@ entry point for parser. There are 3-4 statements which need to be supported:
...
Ovidiu Maxiniuc
08:42 AM Base Language Feature #3853: implement LOG-MANAGER runtime
When @-clientlog@ or @LOG-MANAGER:LOGFILE-NAME@ is defined logging level 1 is always enabled (except if explicitly se... Galya B
02:52 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Marian Edu wrote:
> Bref, using @-errostack@ has no effect on the client log so don't bother with it in this case.
...
Galya B
02:43 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> Marian: Can you offer any guidance?
* @-errorstack@ (@session:error-stack-trace@) has no effec...
Marian Edu
06:25 AM Database Feature #6816: improve PreselectQuery.assembleHQL
I've attached a patch in which I've done some refactoring to the @SortCriterion@ constructor. Mainly, instead of call... Radu Apetrii

01/12/2023

02:30 PM Database Feature #7037: remove dirty share manager
The dirty share manager originally was added to solve a problem with a particular use case in one customer's applicat... Eric Faulhaber
01:53 PM Database Feature #7037 (Test): remove dirty share manager
Eric Faulhaber
10:54 AM Database Feature #6444: dataset improvements
Added fix for H2 bug with bind parameters in recursive CTEs.
Now the test works fine both temp tables and permanent ...
Igor Skornyakov
01:51 AM Database Feature #6444: dataset improvements
> It returns nothing. Moreover, as I mentioned the problem is gone if the query has no parameters.
> It is known tha...
Igor Skornyakov
01:43 AM Database Feature #6444: dataset improvements
Ovidiu Maxiniuc wrote:
> Executing @.next()@ will cause the result to advance. You lose the object of interest. You ...
Igor Skornyakov
10:05 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Marian: Can you offer any guidance? Greg Shah
06:40 AM Base Language Feature #3853: implement LOG-MANAGER runtime
I'm trying to find the difference in the log files when @SESSION:ERROR-STACK-TRACE@ (@-errorstack@) is enabled, but f... Galya B
09:33 AM Database Support #6714: check if there is an optimization opportunity when copying temp-tables based on mu...
Some concerns on moving the source records to the destination table just by updating the multiplex ID to the destinat... Constantin Asofiei
08:14 AM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
Nice! Let's see what we can get back by implementing a new parser rule (@dynamic_query@) which is designed to do the... Greg Shah
12:17 AM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
I added timers for the setup of @SymbolResolver@, @SchemaDictionary@ and other tasks needed for the @query-prepare@ a... Ovidiu Maxiniuc
03:07 AM Database Bug #7035 (WIP): Extract query parameters from statically converted FQL
The following is a testcase in which FWD hard-codes the arguments into the FQL:... Alexandru Lungu
02:52 AM Database Bug #7035 (Closed): Extract query parameters from statically converted FQL
Alexandru Lungu
09:33 PM Base Language Feature #6824: lazy initialization of collection class members
Review of: 6129b/14348.
I am OK with the code. However, in @DataSet@, when it is decided that @callbacks == null@ ...
Ovidiu Maxiniuc

01/11/2023

03:22 PM Database Feature #6444: dataset improvements
Igor Skornyakov wrote:
> I've tested with permanent H2 tables.
> If I stop with the debugger in the @SQLQuery.scrol...
Ovidiu Maxiniuc
02:16 PM Database Feature #6444: dataset improvements
Igor Skornyakov wrote:
> In addition to #6444-86.
> If I set a breakpoint at the last statement of the @FqlToSqlCon...
Igor Skornyakov
11:29 AM Database Feature #6444: dataset improvements
In addition to #6444-86.
If I set a breakpoint at the last statement of the @FqlToSqlConverter.toSQL()@ (@return sql...
Igor Skornyakov
10:47 AM Database Feature #6444: dataset improvements
Ovidiu Maxiniuc wrote:
> To test these queries during in real application using the data currently in temp-tables, y...
Igor Skornyakov
06:23 AM Database Support #6714: check if there is an optimization opportunity when copying temp-tables based on mu...
There already is a JMX for @OutputTableCopier@ with the same name and it measures the execution time and call count o... Dănuț Filimon
04:35 AM Database Support #6714: check if there is an optimization opportunity when copying temp-tables based on mu...
Danut, can you add a counter JMX for your modification? I think we can benefit from finding out how many times this s... Alexandru Lungu
04:04 AM Database Feature #6371: implement SAVE CACHE statement
Simply skipping surrogate primary key column seems to break index handling, rules are failing during AST validation. ... Boris Schegolev

01/10/2023

06:43 PM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
> Looking at the time results from #6813-18 it looks to me that the main slow-performance problem lies in the convers... Greg Shah
04:46 PM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
Looking at the time results from #6813-18 it looks to me that the main slow-performance problem lies in the conversio... Ovidiu Maxiniuc
02:15 PM Base Language Feature #6827: reduce the memory footprint of WrappedResource implementations: replace BDTs with ...
I'm still on #6821, so feel free to do anything you want here. Stanislav Lomany
02:13 PM Base Language Feature #6827: reduce the memory footprint of WrappedResource implementations: replace BDTs with ...
Stanislav, do you need help here? Constantin Asofiei
12:14 PM Base Language Feature #6821: java collection performance
Committed 6129b rev 14351: @P2JIndex.components()@ provides direct access to the components array in order to improve... Stanislav Lomany
11:13 AM Base Language Feature #6821: java collection performance
Greg Shah wrote:
> Don't we already know the exact list of rowids used for all @UPDATE@ statements? We also know th...
Ovidiu Maxiniuc
10:27 AM Base Language Feature #6821: java collection performance
> Ultimately, we could iterate the tables individually and process (delete/update then invalidate) the records indivi... Greg Shah
08:40 PM Base Language Feature #6821: java collection performance
The reason @pruneSessionCache()@ is called on @afterBuf@ and @beforeBuf@ after a batch operation executed using SQL d... Ovidiu Maxiniuc
10:51 AM Base Language Feature #6826: reduce the BDT usage in FWD runtime
Stanislav Lomany wrote:
> No.
OK, I'm taking it, as is easier to look in the profiler and see what can be reduced.
Constantin Asofiei
10:50 AM Base Language Feature #6826: reduce the BDT usage in FWD runtime
No. Stanislav Lomany
10:50 AM Base Language Feature #6826: reduce the BDT usage in FWD runtime
Stanislav, did you start work on this? Constantin Asofiei
09:20 AM Base Language Feature #3853: implement LOG-MANAGER runtime
*Logging level rules:*
|Startup params/4GL setters|Auto set logging level|
|none|2|
|-logentrytypes (invalid)|0|...
Galya B
09:18 AM Database Support #6714: check if there is an optimization opportunity when copying temp-tables based on mu...
I've made a comparison between *3821c/rev.14467* and the patched version from #6714-5 using different *patched versio... Dănuț Filimon
09:01 AM Database Feature #6444: dataset improvements
I'm not sure how the @EDITOR:EMPTY@ attribute was included here. We will move that work to #7032. Greg Shah
09:00 AM User Interface Feature #7032 (New): implement the EDITOR:EMPTY attribute
Greg Shah
08:24 AM Testing Support #6858: rework existing testcases to use ABLUnit
> > Wonder if we can somehow get out hands on Vladimir's implementation to see how things are working in FWD?
> I th...
Greg Shah
08:07 AM Testing Support #6858: rework existing testcases to use ABLUnit
> * First, not all tests are really unit-tests - some of them really need user interaction, other tests needs an appl... Greg Shah
07:53 AM Testing Support #6858: rework existing testcases to use ABLUnit
When I made an entry in this task on 2022-12-15 at 09:55, I accidentally set it to private.
Here it is. It relate...
Greg Shah
07:48 AM Testing Support #6858: rework existing testcases to use ABLUnit
Vladimir Tsichevski wrote:
> > Wonder if we can somehow get out hands on Vladimir's implementation to see how thin...
Vladimir Tsichevski
07:38 AM Base Language Feature #6650: improve performance of Scopeable notification in TM.processScopeNotifications
6129b/14350 improves:
* OUTPUT parameter processing: track if an output parameter is associated with a table field, ...
Constantin Asofiei
07:34 AM Base Language Support #4032: block/transaction processing context-local and other performance improvements
A batch of changes (including #4032-5) are in 6129b/14349 Constantin Asofiei
07:12 AM Base Language Feature #6824: lazy initialization of collection class members
A batch of changes (including #6824-4) are in 6129b/14348
Please review.
Constantin Asofiei
07:01 AM Database Feature #6825: improve table meta runtime (TableMapper and other)
The changes for #6825-4 are in 6129b/14347 Constantin Asofiei
06:40 AM Database Feature #6830 (Review): find and fix all SQL SELECT statements with inlined literal arguments, an...
Radu Apetrii
05:01 AM Database Feature #6830: find and fix all SQL SELECT statements with inlined literal arguments, and rewrite...
Constantin Asofiei wrote:
> Radu, the changes are OK with 6129b and a customer app (performance is improved). Pleas...
Radu Apetrii
04:15 AM Database Feature #6371: implement SAVE CACHE statement
Also, please review the data type checking in the PostgreSQL dialect again, and apply the methodology I described in ... Eric Faulhaber
04:12 AM Database Feature #6371: implement SAVE CACHE statement
Revision 14449 fixes the table name and legacy table name when creating the schema AST. Only the DMO interface name s... Eric Faulhaber

01/09/2023

06:11 PM Database Feature #6371: implement SAVE CACHE statement
In the end the solution is pretty simple - see revision 14448. Boris Schegolev
12:58 PM Base Language Feature #6821: java collection performance
Greg Shah wrote:
> I was thinking of the DMO in its buffer form, not the concept of the specific record that is co...
Eric Faulhaber
07:33 AM Base Language Feature #6821: java collection performance
> PreselectQuery.components() - 430k
Committed 6129b rev 14345: replaced components iterator with @ArrayList.get()...
Stanislav Lomany
06:58 AM Base Language Feature #6821: java collection performance
Eric Faulhaber wrote:
> Greg Shah wrote:
> > Eric Faulhaber wrote:
> > > Greg Shah wrote:
> > > > > Greg, are you...
Greg Shah
06:33 AM Base Language Feature #6821: java collection performance
Stanislav Lomany wrote:
> > I would start with Java arrays first (look for @[]@ in the text).
>
> Constantin, are...
Constantin Asofiei
12:42 PM Database Feature #6830: find and fix all SQL SELECT statements with inlined literal arguments, and rewrite...
Radu, the changes are OK with 6129b and a customer app (performance is improved). Please commit the 6830-6129b.patch... Constantin Asofiei
06:36 AM Database Feature #6830: find and fix all SQL SELECT statements with inlined literal arguments, and rewrite...
Here you go, the patch ported to 6129b, rev. 14344.
I tested some little examples to see that nothing breaks, but n...
Radu Apetrii
03:23 AM Database Feature #6830: find and fix all SQL SELECT statements with inlined literal arguments, and rewrite...
Radu Apetrii wrote:
> Constantin Asofiei wrote:
> > Radu, what is the state of this task? Was anything committed to...
Constantin Asofiei
02:36 AM Database Feature #6830: find and fix all SQL SELECT statements with inlined literal arguments, and rewrite...
Constantin Asofiei wrote:
> Radu, what is the state of this task? Was anything committed to 3821c?
No, I did not co...
Radu Apetrii
12:08 PM Testing Support #6858: rework existing testcases to use ABLUnit
Marian Edu wrote:
> not sure how the test engine will work in FWD so we're trying to make the test methods that wa...
Vladimir Tsichevski
10:00 AM Testing Support #6858: rework existing testcases to use ABLUnit
Greg, we have a number of things to discuss here.
* First, not all tests are really unit-tests - some of them rea...
Marian Edu
08:57 AM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
Greg Shah wrote:
> I understand there is no performance difference in lambdas themselves. I'm wondering about the c...
Constantin Asofiei
08:39 AM Database Feature #7020: always use "expanded" extent fields
> * added a new @denormalized@ attribute in @@Property@ annotation
Please name this @expanded@ because the "denorm...
Greg Shah
06:31 AM Database Feature #6444: dataset improvements
Here is my understanding of the current task status
h3. DATA-RELATION:RECURSIVE attribute
* The FILL method s...
Igor Skornyakov

01/08/2023

01:36 PM Base Language Feature #6821: java collection performance
> I would start with Java arrays first (look for @[]@ in the text).
Constantin, are you suggesting to replace enha...
Stanislav Lomany

01/07/2023

05:51 PM Base Language Feature #6821: java collection performance
The "for" cycle changes reviewed by Constantin were merged and committed as 6129b rev 14344. Stanislav Lomany
10:20 PM Database Feature #7020: always use "expanded" extent fields
Greg Shah wrote:
> The Open Client proxy generation is the replacement of the OpenEdge "proxygen" tool which creates...
Ovidiu Maxiniuc
10:19 PM Database Feature #7020 (WIP): always use "expanded" extent fields
Status update.
My work ATM include:
* re-enabled denormalisation for temp-tables. I do not use this except for havi...
Ovidiu Maxiniuc
08:32 PM Database Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
After previous note I changes the testcase a bit: I changed the second from the end line: @message "Run " + string(k)... Ovidiu Maxiniuc
07:10 PM Database Feature #6813 (WIP): analyze and improve performance of dynamic conversion of temp-tables and que...
I used the following 4GL program in order to replicate Constantin's testcase for static/dynamic queries:... Ovidiu Maxiniuc

01/06/2023

05:53 PM Base Language Feature #6821: java collection performance
Greg Shah wrote:
> Eric Faulhaber wrote:
> > Greg Shah wrote:
> > > > Greg, are you suggesting to maintain for tem...
Eric Faulhaber
03:41 PM Base Language Feature #6821: java collection performance
> Please backport this 3821c/14472 to 6129b and commit it there.
Committed as 6129b rev 14343.
Stanislav Lomany
02:19 PM Base Language Feature #6821: java collection performance
Eric Faulhaber wrote:
> Greg Shah wrote:
> > > Greg, are you suggesting to maintain for temp-tables a map of Record...
Greg Shah
02:18 PM Base Language Feature #6821: java collection performance
Do we assign a new @rowid@ when we copy temp-table records from one temp-table to another, like in table parameter pr... Greg Shah
02:07 PM Base Language Feature #6821: java collection performance
I made an assumption that temp-table record IDs are not unique across multiplex IDs, which is wrong, as you're saying... Stanislav Lomany
02:05 PM Base Language Feature #6821: java collection performance
Stanislav Lomany wrote:
> > Do I understand correctly that only the most recently added entry will be kept and any o...
Eric Faulhaber
02:03 PM Base Language Feature #6821: java collection performance
Greg Shah wrote:
> One thing that is not obvious to me is how the cache is used. Since we are using temp-tables wit...
Eric Faulhaber
02:01 PM Base Language Feature #6821: java collection performance
> Do I understand correctly that only the most recently added entry will be kept and any older entry is overwritten? ... Stanislav Lomany
01:56 PM Base Language Feature #6821: java collection performance
Greg Shah wrote:
> > Greg, are you suggesting to maintain for temp-tables a map of RecordBuffer.dmoClass -> Set of r...
Eric Faulhaber
01:29 PM Base Language Feature #6821: java collection performance
One thing that is not obvious to me is how the cache is used. Since we are using temp-tables with this mechanism, it... Greg Shah
01:25 PM Base Language Feature #6821: java collection performance
> Greg, are you suggesting to maintain for temp-tables a map of RecordBuffer.dmoClass -> Set of records?
Not exac...
Greg Shah
12:52 PM Base Language Feature #6821: java collection performance
@invalidateRecords@ method is called only for temp-tables. And called only by @ACCEPT-CHANGES@ method (I'm interested... Stanislav Lomany
12:25 PM Base Language Feature #6821: java collection performance
All usage of @Session.invalidateRecords()@ comes from @RecordBuffer.pruneSessionCache()@ which is only called in 2 pl... Greg Shah
12:05 PM Base Language Feature #6821: java collection performance
Stanislav Lomany wrote:
> > TableMapper$LegacyFieldInfo.getMutableInfo 1.8 million
>
> This one looks like cachin...
Constantin Asofiei
11:39 AM Base Language Feature #6821: java collection performance
> TableMapper$LegacyFieldInfo.getMutableInfo 1.8 million
This one looks like caching may be slightly improved, but...
Stanislav Lomany
02:14 AM Base Language Feature #6821: java collection performance
Stanislav Lomany wrote:
> > You also need checks if this is the single resource in the chain being deleted, in this ...
Constantin Asofiei
04:45 PM Database Feature #6371: implement SAVE CACHE statement
Yes, I met this problem a few times. I will make the change you suggest. It will not be that straightforward because ... Boris Schegolev
12:30 PM Database Feature #6371: implement SAVE CACHE statement
Upon a validation failure, the failing table needs to be removed from the last known @DatabaseState@. Otherwise, if a... Eric Faulhaber
06:56 AM Database Feature #6371: implement SAVE CACHE statement
Eric Faulhaber wrote:
> So, please implement a unique interface naming scheme, similar to what we have in @DynamicTa...
Boris Schegolev
04:46 AM Database Feature #6371: implement SAVE CACHE statement
I committed 6371/14445, which fixes the raising of an error condition for a schema validation failure. Now @save-cach... Eric Faulhaber
03:05 PM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
I understand there is no performance difference in lambdas themselves. I'm wondering about the call to @LambdaFactor... Greg Shah
02:51 PM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
Greg Shah wrote:
> The dynamic generation of the lambdas for an external procedure is only done the first time the e...
Constantin Asofiei
10:44 AM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
The dynamic generation of the lambdas for an external procedure is only done the first time the external proc is load... Greg Shah
10:22 AM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
Eric: Are you OK with the proxy and persistence changes? Greg Shah
10:22 AM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
Code Review 6819_20221223_6129b_14341.patch
I have no objections.
Greg Shah
02:48 PM Database Feature #6830: find and fix all SQL SELECT statements with inlined literal arguments, and rewrite...
Radu, what is the state of this task? Was anything committed to 3821c? Constantin Asofiei
02:44 PM Base Language Support #4032: block/transaction processing context-local and other performance improvements
Constantin Asofiei wrote:
> * I think I'll do some experimenting if keeping the reference of @ProcedureManager$Proce...
Constantin Asofiei
09:51 AM Database Feature #6444: dataset improvements
Committed the current state of the RECURSIVE DATA-RELATION support to 6444a/14473. Igor Skornyakov
03:55 AM Database Feature #6444: dataset improvements
Created task branch 6444a from the trunk Igor Skornyakov
08:17 AM Database Feature #6995: possibly support NO-UNDO temporary tables directly in H2
If we are doing any substantial work implementing NO-UNDO in the customer scenario, then let's move ahead. Greg Shah
05:09 AM Database Feature #6995: possibly support NO-UNDO temporary tables directly in H2
Eric Faulhaber wrote:
> > Furthermore, I just added @OrmNoUndoTrace@ in 3821c/rev. 14470. This is used to analyze th...
Alexandru Lungu
02:29 AM Database Feature #6995: possibly support NO-UNDO temporary tables directly in H2
Constantin Asofiei wrote:
> Eric Faulhaber wrote:
> > Constantin, do you see measurable @SQLRedo@ and/or @Savepoint...
Eric Faulhaber
02:17 AM Database Feature #6995: possibly support NO-UNDO temporary tables directly in H2
Eric Faulhaber wrote:
> Constantin, do you see measurable @SQLRedo@ and/or @SavepointManager@ activity in your profi...
Constantin Asofiei
02:02 AM Database Feature #6995: possibly support NO-UNDO temporary tables directly in H2
Alexandru Lungu wrote:
> I tested with a large customer application (~10 mins POC) and I got only 7 redo operation...
Eric Faulhaber
01:38 AM Database Feature #6995: possibly support NO-UNDO temporary tables directly in H2
Constantin, do you see measurable @SQLRedo@ and/or @SavepointManager@ activity in your profiling of the large applica... Eric Faulhaber
03:33 AM Database Feature #6448 (Closed): make location of LOB files configurable for import
Thank you. Eric Faulhaber
03:25 AM Database Feature #6448 (Feedback): make location of LOB files configurable for import
Eric Faulhaber wrote:
> Igor, if you've already tested this, the only thing that remains is to update the [[p2j:Data...
Igor Skornyakov
02:44 AM Database Feature #6448: make location of LOB files configurable for import
Igor, if you've already tested this, the only thing that remains is to update the [[p2j:Data_Migration#Data-Import|do... Eric Faulhaber
03:00 AM Database Feature #6928: H2 UPDATE performance improvement
Is there anything left to do, in order for FWD to use the new H2 jar by default? Is the FWD build updated? Is the jar... Eric Faulhaber
02:51 AM Database Support #6709: track nested FIND inside a related FOR loop
I've changed the way tracking is done based on #6709-33. The only change I've done to @TransactionManager@ is to retr... Dănuț Filimon
02:28 AM Database Feature #6454: database informational features
Eric Faulhaber wrote:
> The changes in @dbrestrictions.diff@ look good. Please commit it to 6129b. 6129b/14335 also ...
Igor Skornyakov
12:37 AM Database Feature #6454: database informational features
Igor Skornyakov wrote:
> Eric Faulhaber wrote:
> > Igor, other than requiring review for the patch in #6454-11 and ...
Eric Faulhaber

01/05/2023

03:05 PM Database Feature #6816: improve PreselectQuery.assembleHQL
Constantin Asofiei wrote:
> Eric, I was assuming that the SortCriterion is being used at the FQL level, before the F...
Eric Faulhaber
02:52 PM Database Feature #6816: improve PreselectQuery.assembleHQL
Constantin Asofiei wrote:
> Alexandru Lungu wrote:
> > Is the profiling done with multiple users? The cache is glob...
Eric Faulhaber
02:25 PM Database Feature #6816: improve PreselectQuery.assembleHQL
Eric, I was assuming that the SortCriterion is being used at the FQL level, before the FQL translation (dependent on ... Constantin Asofiei
02:20 PM Database Feature #6816: improve PreselectQuery.assembleHQL
Constantin Asofiei wrote:
> Also, the cache Key doesn't need the dialect - the DmoMeta already is distinct for tem...
Eric Faulhaber
11:06 AM Database Feature #6816: improve PreselectQuery.assembleHQL
I've increased the cache limit to something big (2048000) and now for 100 runs the average is only a little less wors... Constantin Asofiei
10:06 AM Database Feature #6816: improve PreselectQuery.assembleHQL
Alexandru Lungu wrote:
> Is the profiling done with multiple users? The cache is global across all users, so it is a...
Constantin Asofiei
09:15 AM Database Feature #6816: improve PreselectQuery.assembleHQL
Is the profiling done with multiple users? The cache is global across all users, so it is a synchronized data structu... Alexandru Lungu
07:59 AM Database Feature #6816: improve PreselectQuery.assembleHQL
I have a mod count for the @LRUCache.cache@ map (used by @SortCrtierionFactory@) of 11k for just 10 runs of the perfo... Constantin Asofiei
07:45 AM Database Feature #6816: improve PreselectQuery.assembleHQL
Unfortunately the patch shows a slowdown in the performance testing. I'm not sure from where it is. I wonder if is ... Constantin Asofiei
06:26 AM Database Feature #6816: improve PreselectQuery.assembleHQL
Sure, here you go. I've updated the file so the command @patch@ now works on 6129b. Radu Apetrii
02:37 PM Base Language Feature #6821: java collection performance
> You also need checks if this is the single resource in the chain being deleted, in this firstResource/lastResource ... Stanislav Lomany
06:20 AM Base Language Feature #6821: java collection performance
Constantin Asofiei wrote:
> Attached is a space-delimited file with all FOR EACH loops which have a List, ArrayList ...
Constantin Asofiei
04:26 AM Base Language Feature #6821: java collection performance
Forgot to add the csv file. Constantin Asofiei
04:25 AM Base Language Feature #6821: java collection performance
Keep in mind that this:... Constantin Asofiei
04:25 AM Base Language Feature #6821: java collection performance
Stanislav Lomany wrote:
> > what branch and revision did you use for this patch?
>
> 3821c rev 14467.
The patch ...
Constantin Asofiei
02:20 PM Database Feature #6825: improve table meta runtime (TableMapper and other)
Totally agree! Ovidiu Maxiniuc
02:02 PM Database Feature #6825: improve table meta runtime (TableMapper and other)
The @MutableFieldInfo@ is being kept in @TableMapper$TempTableMapper.fieldInfo@ by the @TempTable@ instance. So I se... Constantin Asofiei
01:54 PM Base Language Support #4032: block/transaction processing context-local and other performance improvements
Attached is a trace file with @ContextLocal.get@ usage in a customer application. This is expanded on 3 levels, leve... Constantin Asofiei
12:59 PM Database Feature #7020: always use "expanded" extent fields
> AFAIK, the Open Client proxy generation rules are general purpose, not specific to @<customer>@. Constantin, can y... Greg Shah
12:58 PM Database Feature #7020: always use "expanded" extent fields
From Eric:
I think you have understood it exactly right.
> If we get rid of the custom name (I am not sure but ...
Greg Shah
12:56 PM Database Feature #7020: always use "expanded" extent fields
From Ovidiu:
I read this email several times in order to get the things right. I understand that the denormalizati...
Greg Shah
12:55 PM Database Feature #7020: always use "expanded" extent fields
From Eric:
While you should read the whole history there, I can summarize as follows:
* We think there will be ...
Greg Shah
12:52 PM Database Feature #7020 (Test): always use "expanded" extent fields
Greg Shah
08:10 AM Base Language Feature #3853: implement LOG-MANAGER runtime
> > Is this different than @MESSAGE VIEW-AS ALERT-BOX@? Or is this just the case where the 4GL handles the really lo... Greg Shah
08:10 AM Base Language Feature #3853: implement LOG-MANAGER runtime
> It is @ContextLocal@, which creates an instance of the log manager wrapper through @class Fallback extends ThreadLo... Greg Shah
07:57 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> We must solve this properly. The behavior needs to match the 4GL implementation while implementi...
Galya B
07:51 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> Is this different than @MESSAGE VIEW-AS ALERT-BOX@? Or is this just the case where the 4GL handl...
Galya B
07:49 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> > Our implementation of @LOG-MANAGER@ runs purely on the server.
>
> It is certainly preferab...
Galya B
07:48 AM Base Language Feature #3853: implement LOG-MANAGER runtime
> Do we want also the 32767 chars limit for @LOG-MANAGER:WRITE-MESSAGE@?
Yes. Also, please implement the limit of...
Greg Shah
06:47 AM Base Language Feature #3853: implement LOG-MANAGER runtime
A few observations in relationship to max log message length (tested):
* By default statement length is limited to...
Galya B
04:47 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> Does the 4GL have an implicit set of settings for @LOG-MANAGER@ in an appserver process? If so, ...
Galya B
03:50 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Constantin Asofiei wrote:
> Galya: please post what logmanager related config needs to added.
4GL LOG-MANAGER con...
Galya B
03:06 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> For @logthreshold@ and @numlogfiles@ and the other items from #3853-19, we should be able to conf...
Constantin Asofiei
02:25 AM Database Feature #6371: implement SAVE CACHE statement
Boris Schegolev wrote:
> I disabled DMO unloading in @SchemaCheck@, although I don't fully understand reasoning behi...
Eric Faulhaber

01/04/2023

06:38 PM Database Feature #6371: implement SAVE CACHE statement
I disabled DMO unloading in @SchemaCheck@, although I don't fully understand reasoning behind it.
Also, I reworked...
Boris Schegolev
03:56 PM Database Feature #6444: dataset improvements
Ovidiu Maxiniuc wrote:
> You said _"The same query executed against the same H2 database with H2 Console with the sa...
Igor Skornyakov
03:38 PM Database Feature #6444: dataset improvements
You said _"The same query executed against the same H2 database with H2 Console with the same JDBC driver (fwd-h2-1.4... Ovidiu Maxiniuc
03:00 PM Database Feature #6444: dataset improvements
Ovidiu Maxiniuc wrote:
> Igor Skornyakov wrote:
> > I have a strange situation.
> > In fact, it is the same for al...
Igor Skornyakov
02:35 PM Database Feature #6444: dataset improvements
Igor Skornyakov wrote:
> I have a strange situation.
> In fact, it is the same for all 3 dialects. For temp tables,...
Ovidiu Maxiniuc
10:19 AM Database Feature #6444: dataset improvements
I have a strange situation.
The second pass query provides a correct result set for PostgreSQL and MariaDB, but retu...
Igor Skornyakov
02:44 PM Base Language Feature #6817 (WIP): replace INSTANTIATING-PROCEDURE and other handle<ExternalProgram> with the a...
Hynek Cihlar
11:23 AM Base Language Feature #6817: replace INSTANTIATING-PROCEDURE and other handle<ExternalProgram> with the actual ...
In Eclipse, there is a way to look for a field or local variable of a certain type. Other IDEs should have something... Constantin Asofiei
12:46 PM Base Language Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> From Galya via email:
>
> > I've tested gui, batch, web gui clients and they are working well ...
Constantin Asofiei
12:33 PM Base Language Feature #3853: implement LOG-MANAGER runtime
From Galya via email:
> I've tested gui, batch, web gui clients and they are working well with @LOG-MANAGER@. But ...
Greg Shah
12:29 PM Base Language Feature #3853: implement LOG-MANAGER runtime
For @logthreshold@ and @numlogfiles@ and the other items from #3853-19, we should be able to configure these via 2 me... Greg Shah
08:04 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Galya Bogdanova wrote:
> open a @-debugalert@ separate task (maybe #4065 or this one #3853) to migrate the logic to ...
Galya B
07:55 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Galya Bogdanova wrote:
> P.S.S. The easiest quickest patch to complete #5753 would be to just switch the dependency ...
Galya B
04:58 AM Base Language Feature #3853: implement LOG-MANAGER runtime
*Current clientlog implementation and -debugalert*
Currently the code uses @-clientlog@ startup param to enable lo...
Galya B
03:10 AM Base Language Feature #3853: implement LOG-MANAGER runtime
*Rotation and testing*
A substantial part of LOG-MANAGER's logic is related to handling rotation of log files and is...
Galya B
11:30 AM Database Feature #6816: improve PreselectQuery.assembleHQL
Radu, can you port this patch to 6129b? I'd like to test the impact on a customer's application. Constantin Asofiei
08:54 AM Base Language Feature #6821: java collection performance
> what branch and revision did you use for this patch?
3821c rev 14467.
Stanislav Lomany
05:17 AM Base Language Feature #6821: java collection performance
Stanislav Lomany wrote:
> > Related to map access (hashCode calls):
> > ** @HandleChain.delete@ 880k
>
> Maybe w...
Constantin Asofiei
05:13 AM Base Language Feature #6821: java collection performance
Stanislav Lomany wrote:
> Please review the diff which replaces "for-each" loops with indexed "for" loops (I'll add ...
Constantin Asofiei
08:32 AM Base Language Feature #6824 (WIP): lazy initialization of collection class members
Constantin Asofiei
05:28 AM Database Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
Alexandru, I think a first pass would be to change the FQL generation to use @c1@, @c2@, etc as aliases instead of th... Constantin Asofiei
05:14 AM Database Feature #6995 (WIP): possibly support NO-UNDO temporary tables directly in H2
I've added a @OrmRedo@ Timer JMX in 3821c/rev. 14469. I've debugged some local tests to find out a "pattern" scenario... Alexandru Lungu

01/03/2023

02:54 PM Base Language Feature #6821: java collection performance
> Related to map access (hashCode calls):
> ** @HandleChain.delete@ 880k
Maybe we don't need to perform @first/la...
Stanislav Lomany
02:35 PM Database Feature #6371: implement SAVE CACHE statement
The changes to support the DMO interface/class unloading and re-use at the proxy level are turning into something mor... Eric Faulhaber
02:27 PM Database Feature #6371: implement SAVE CACHE statement
Greg Shah wrote:
> Let's assume that only the denormalized extents will be supported for now. It doesn't make sense...
Eric Faulhaber
09:47 PM Database Feature #6371: implement SAVE CACHE statement
Let's assume that only the denormalized extents will be supported for now. It doesn't make sense to add the more com... Greg Shah
11:33 AM Database Feature #6444: dataset improvements
Igor Skornyakov wrote:
> I've changed my test so that data sources used for FILL get data from the permanent tables....
Igor Skornyakov
11:09 AM Database Feature #6444: dataset improvements
I've changed my test so that data sources used for FILL get data from the permanent tables.
However, at runtime, I s...
Igor Skornyakov
08:33 AM Base Language Feature #3853: implement LOG-MANAGER runtime
> Do we show the same error when LOG-MANAGER:WRITE-MESSAGE tries to write more than 15000 chars? If yes, then we'll h... Greg Shah
07:08 AM Database Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
Constantin Asofiei wrote:
> Alexandru, I have in a heap dump @UnclosablePreparedStatement@ instances with ~90KB reta...
Alexandru Lungu
03:48 AM Database Feature #6720 (WIP): lazy hydration
Eric Faulhaber

01/02/2023

05:34 PM Database Feature #6371: implement SAVE CACHE statement
Boris Schegolev wrote:
> > If there are any other critical configuration values that cannot be determined by defau...
Eric Faulhaber
05:21 PM Base Language Feature #6821: java collection performance
Please review the diff which replaces "for-each" loops with indexed "for" loops (I'll add headers later), specificall... Stanislav Lomany

12/31/2022

03:29 AM Database Feature #6444: dataset improvements
Eric Faulhaber wrote:
> If I understand the issue correctly, I respectfully disagree. In the event there is no expli...
Igor Skornyakov
02:56 AM Database Feature #6444: dataset improvements
Greg Shah wrote:
> > Greg, please correct me if I am overly aggressive on this.
>
> If the application code can b...
Eric Faulhaber
02:17 AM Database Feature #6444: dataset improvements
Greg Shah wrote:
> In this case, I suspect we should implement the application-visible behavior.
I see. In this c...
Igor Skornyakov
02:15 AM Database Feature #6444: dataset improvements
Ovidiu Maxiniuc wrote:
> I understand that, ultimately, the content of the databases (ABL and FWD) are identically a...
Igor Skornyakov

12/30/2022

06:11 PM Database Feature #6371: implement SAVE CACHE statement
I added an implementation for SchemaValidator + unit test for it. See revision 14442. Boris Schegolev
11:00 AM Database Feature #6371: implement SAVE CACHE statement
> Do we have an example of the table structure where such 2-field DTTZ storage is used? First column is DATETIME and ... Greg Shah
05:07 PM Database Feature #6444: dataset improvements
> Greg, please correct me if I am overly aggressive on this.
If the application code can be implemented to rely up...
Greg Shah
03:19 PM Database Feature #6444: dataset improvements
Well, the _binary_ might not have been the best attribute here to describe the compatibility.
I understand that, u...
Ovidiu Maxiniuc
02:35 PM Database Feature #6444: dataset improvements
Ovidiu Maxiniuc wrote:
> I understand that. Can we isolate this damage to recursive relations only? These cases are ...
Igor Skornyakov
02:11 PM Database Feature #6444: dataset improvements
Igor Skornyakov wrote:
>
> > > Should we care about the order in which records are added to the target tables dur...
Ovidiu Maxiniuc
01:59 PM Database Feature #6444: dataset improvements
Ovidiu Maxiniuc wrote:
> > I understand that refactoring from using a 'plain' query string (@hql@) to a query string...
Igor Skornyakov
01:34 PM Database Feature #6444: dataset improvements
Igor Skornyakov wrote:
> I understand that refactoring from using a 'plain' query string (@hql@) to a query string h...
Ovidiu Maxiniuc

12/29/2022

03:23 PM Database Feature #6371: implement SAVE CACHE statement
I pushed an update for error handling and other minor changes - rev. 14441.
Greg Shah wrote:
> We have 2 customer...
Boris Schegolev
12:14 AM Database Feature #6371: implement SAVE CACHE statement
Boris Schegolev wrote:
> Also, for the primary key: I guess we need to add a validation before registering a new tab...
Eric Faulhaber
07:57 PM Database Feature #6371: implement SAVE CACHE statement
>> 2 What is the issue with timezoned types (timestamp with time zone)?
>
> We need to support them ultimately, but...
Greg Shah

12/28/2022

04:47 PM Database Feature #6371: implement SAVE CACHE statement
Also, for the primary key: I guess we need to add a validation before registering a new table to check that the table... Boris Schegolev
04:41 PM Database Feature #6371: implement SAVE CACHE statement
Eric Faulhaber wrote:
> Before you changed it to "TODO: Surrogate Primary Key", the note for 8-byte integer read, "T...
Boris Schegolev
02:09 PM Database Feature #6371: implement SAVE CACHE statement
Boris Schegolev wrote:
> I updated the documentation / WIKI page. A few questions here:
>
> 1 What's the TODO for...
Eric Faulhaber
01:59 PM Database Feature #6444: dataset improvements
> If this blocks you from making headway on the recursive FILL operation, please work on another item that needs atte... Igor Skornyakov
01:51 PM Database Feature #6444: dataset improvements
Eric Faulhaber wrote:
> I think we should wait for Ovidiu's input when he returns before undertaking any massive cha...
Igor Skornyakov
01:43 PM Database Feature #6444: dataset improvements
Eric Faulhaber wrote:
> Igor Skornyakov wrote:
> > [...]
> > I understand that refactoring from using a 'plain' qu...
Eric Faulhaber
01:40 PM Database Feature #6444: dataset improvements
Igor Skornyakov wrote:
> [...]
> I understand that refactoring from using a 'plain' query string (@hql@) to a query...
Eric Faulhaber
01:38 PM Database Feature #6444: dataset improvements
Eric Faulhaber wrote:
> I don't know what the intent of this variable was, maybe something that is only changed for ...
Igor Skornyakov
01:37 PM Database Feature #6444: dataset improvements
Igor Skornyakov wrote:
> At this moment it looks that @FqlToSqlConverter.generateUniqueSqlColumnNames@ is always @tr...
Eric Faulhaber
05:30 AM Database Feature #6444: dataset improvements
At this moment it looks that @FqlToSqlConverter.generateUniqueSqlColumnNames@ is always @true@.
Can I rely on this?
...
Igor Skornyakov
02:56 AM Database Feature #6444: dataset improvements
Working on the second pass query for the recursive data-relation FILL support I have to deal with the situation when ... Igor Skornyakov
07:27 AM Base Language Feature #6410: implement additional built-in OO classes/interfaces
Greg Shah wrote:
> Yes, please use @PROVERSION@ and preprocessing to conditionally implement logic by OE version.
...
Marian Edu

12/27/2022

05:28 PM Database Feature #6371: implement SAVE CACHE statement
I updated the documentation / WIKI page. A few questions here:
# What's the TODO for Surrogate Primary Key about?
...
Boris Schegolev

12/25/2022

04:20 AM Database Feature #6444: dataset improvements
Igor Skornyakov wrote:
> I think that we also can avoid it if the DATA-SOURCE QUERY uses a single table but at this ...
Igor Skornyakov

12/23/2022

11:55 AM Base Language Feature #6824: lazy initialization of collection class members
Some notes :
* @BufferImpl.callbacks@ can be lazily created, not all buffers are used in FILL operations.
* @Record...
Constantin Asofiei
11:15 AM Database Feature #6371: implement SAVE CACHE statement
Eric Faulhaber wrote:
> That seems like a great idea, as long as column-level comments are supported in @create tabl...
Boris Schegolev
09:45 AM Database Feature #6371: implement SAVE CACHE statement
> As for branching, in git I would rebase 6371a onto 6129b. Not sure how to do that in Bazaar and don't want to break... Greg Shah
01:32 AM Database Feature #6371: implement SAVE CACHE statement
Boris Schegolev wrote:
> I am implementing one-to-many SQL->4GL type mappings. I would only suggest to use column's ...
Eric Faulhaber
09:43 AM Database Feature #6444: dataset improvements
In the relation model, the physical order or the records in the table is irrelevant and the order of records in the r... Igor Skornyakov
08:30 AM Base Language Feature #3853: implement LOG-MANAGER runtime
@LOG-MANAGER:WRITE-MESSAGE@ supports by default text up to 15000 characters (actually it should be less, since that i... Galya B
05:45 AM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
Constantin Asofiei wrote:
> Constantin Asofiei wrote:
> > Attached patch is built on top of #6939 patch. Eric, ple...
Constantin Asofiei

12/22/2022

05:09 PM Database Feature #6371: implement SAVE CACHE statement
I am implementing one-to-many SQL->4GL type mappings. I would only suggest to use column's comment property for 4GL t... Boris Schegolev
04:26 AM Database Feature #6371: implement SAVE CACHE statement
Boris, please work on the validation of the mutable database requirements described in the [[p2j:Non-Standard_Save_Ca... Eric Faulhaber
09:51 AM Database Support #6709: track nested FIND inside a related FOR loop
Eric: Please review and advise. Greg Shah
09:49 AM Database Support #6709: track nested FIND inside a related FOR loop
Code Review 6709-20221222.diff
The conversion changes seem reasonable.
Do we really need to implement this as p...
Greg Shah
08:40 AM Database Support #6709: track nested FIND inside a related FOR loop
I will try to patch a customer application I have on my development environment to test the changes. If everything is... Alexandru Lungu
07:02 AM Database Support #6709: track nested FIND inside a related FOR loop
I managed to convert Hotel GUI and a few smaller tests and use FieldReference. I actually didn't make use of @convert... Dănuț Filimon
09:50 AM Database Support #7004 (New): eliminate the off-end processing in the TransactionManager and minimize the ...
Greg Shah

12/21/2022

02:29 PM Base Language Feature #6827: reduce the memory footprint of WrappedResource implementations: replace BDTs with ...
I think the @object@ fields need to remain as-is, for the reference counting to work (which affects when these get de... Constantin Asofiei
02:28 PM Base Language Feature #6827: reduce the memory footprint of WrappedResource implementations: replace BDTs with ...
This code:... Constantin Asofiei
01:19 PM Runtime Infrastructure Feature #6939: improve proxy performance by hard-coding method invocation
The correct patch is this, forgot to do @bzr add@ before doing @bzr diff@. Constantin Asofiei
11:55 AM Runtime Infrastructure Feature #6939: improve proxy performance by hard-coding method invocation
Greg Shah wrote:
> Yes, I was planning for all performance work to go in there.
OK, but not all performance work fr...
Constantin Asofiei
09:42 AM Runtime Infrastructure Feature #6939: improve proxy performance by hard-coding method invocation
Yes, I was planning for all performance work to go in there. Greg Shah
09:39 AM Runtime Infrastructure Feature #6939: improve proxy performance by hard-coding method invocation
Greg Shah wrote:
> Do you have an updated version of the patch for 3821c? It does not apply cleanly on 3821c rev 14...
Constantin Asofiei
09:36 AM Runtime Infrastructure Feature #6939: improve proxy performance by hard-coding method invocation
Do you have an updated version of the patch for 3821c? It does not apply cleanly on 3821c rev 14461.
Eric: This s...
Greg Shah
11:30 AM Database Feature #6371: implement SAVE CACHE statement
I pushed a cleanup for PostgreSQL dialect - there were MySQL types mixed in. Boris Schegolev
02:11 AM Database Feature #6371: implement SAVE CACHE statement
Revision 6371a/14438 works around the @SchemaDictionary@ issue described in #6371-80, but the workaround is limited, ... Eric Faulhaber
10:35 AM User Interface Feature #6764: Improve trigger selection for keyboard events.
6764.08.patch checked in to 3821c revision 14462. Hynek Cihlar
10:06 AM User Interface Feature #6764: Improve trigger selection for keyboard events.
Yes, please go ahead. Greg Shah
10:05 AM User Interface Feature #6764: Improve trigger selection for keyboard events.
Code review 6764.08.patch. The changes look good. Can I merge it to 3821c? Hynek Cihlar
09:38 AM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
Constantin Asofiei wrote:
> Attached patch is built on top of #6939 patch. Eric, please review and use this one for...
Constantin Asofiei
03:55 AM Runtime Infrastructure Bug #5701: logfile names for -O outputToFile use the spawner pid instead of the Java (FWD client ...
I'm not working on this task at the moment, but I randomly got an idea and just want to document it here, since we mi... Galya B

12/20/2022

02:19 PM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
Attached patch is built on top of #6939 patch. Eric, please review and use this one for your tests. Constantin Asofiei
04:40 AM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
I've tested with a 'static bytecode' (i.e. 10k .java files each with 300 lambdas, checked the disassembled .class and... Constantin Asofiei
07:47 AM Base Language Feature #7000: Replace old-style synchronization primitives with java.util.concurrent classes
Greg Shah wrote:
> Do you have specific areas seen in profiling where these old-style primitives are heavily involve...
Igor Skornyakov
06:24 AM Base Language Feature #7000: Replace old-style synchronization primitives with java.util.concurrent classes
Do you have specific areas seen in profiling where these old-style primitives are heavily involved? Greg Shah
03:22 AM Base Language Feature #7000: Replace old-style synchronization primitives with java.util.concurrent classes
FWD code contains many places where old-style synchronization primitives (@synchronized@ blocks, @wait@/@notify@) are... Igor Skornyakov
02:58 AM Base Language Feature #7000 (New): Replace old-style synchronization primitives with java.util.concurrent classes
Igor Skornyakov
05:42 AM Database Support #6709: track nested FIND inside a related FOR loop
Committed 3821c/rev.14460. Added nested find annotation and report. Any annotated @FIND@ that is nested in a @FOR EAC... Dănuț Filimon

12/19/2022

06:09 PM Database Support #6709: track nested FIND inside a related FOR loop
Yes. Greg Shah
03:41 AM Database Support #6709: track nested FIND inside a related FOR loop
Greg Shah wrote:
> You've tested conversion for both the large customer application and also Hotel GUI?
Yes, both...
Dănuț Filimon
06:08 PM Base Language Feature #3853: implement LOG-MANAGER runtime
> > The base implementation is already handled at conversion and it is stubbed out in the runtime.
>
> Does it mea...
Greg Shah
06:35 AM Base Language Feature #3853: implement LOG-MANAGER runtime
Greg Shah wrote:
> The base implementation is already handled at conversion and it is stubbed out in the runtime.
...
Galya B
05:09 PM Runtime Infrastructure Bug #5703: rationalize, standardize and simplify the client-side log file name configuration
> > Right now, I don't foresee any changes to conversion needed. If that changes, I would agree with this idea.
>
...
Greg Shah
06:51 AM Runtime Infrastructure Bug #5703: rationalize, standardize and simplify the client-side log file name configuration
Greg Shah wrote:
> Galya Bogdanova wrote:
>
> > *Conversion* code should be reworked to not be broken by upcoming ...
Galya B
01:32 PM Database Bug #6834: RAQ navigation on records having NULL values on same index components
The issue is described with details and example in #6755. I will copy it here because that task contains sensitive da... Ovidiu Maxiniuc
12:03 PM User Interface Feature #6764: Improve trigger selection for keyboard events.
Please see #6667-268 for regression tests results for @6764.08.patch@ Tomasz Domin
11:28 AM Base Language Feature #6821: java collection performance
For @ArrayList.iterator()@, the top callers are:
* @PreselectQuery.components()@ - 430k
* @AnnotatedAst.notifyListe...
Constantin Asofiei
10:26 AM Base Language Feature #6821: java collection performance
The ones that are most important are listed in #6821-4. We aren't suggesting changing things everywhere. Greg Shah
10:22 AM Base Language Feature #6821: java collection performance
That may be true. There're about 2k foreach loops, and about 10% of them can be updated. If we want, we can can limit... Stanislav Lomany
09:57 AM Base Language Feature #6821: java collection performance
Stanislav Lomany wrote:
> > Actually, I doubt that such optimization will result in any significant performance in a...
Igor Skornyakov
09:56 AM Base Language Feature #6821: java collection performance
Small improvements over millions of calls add up. The fact that the profiling tools don't show obvious hotspots mean... Greg Shah
09:45 AM Base Language Feature #6821: java collection performance
Greg Shah wrote:
> > I would perform benchmarking/profiling first.
>
> This is what was done. See #6821-4.
Th...
Igor Skornyakov
09:31 AM Base Language Feature #6821: java collection performance
> The point with all the Map and Set iterators is that they allocate lots of short-lived objects.
That's true. I m...
Stanislav Lomany
09:25 AM Base Language Feature #6821: java collection performance
> Actually, I doubt that such optimization will result in any significant performance in all situations.
I did som...
Stanislav Lomany
09:18 AM Base Language Feature #6821: java collection performance
> I would perform benchmarking/profiling first.
This is what was done. See #6821-4.
Greg Shah
05:12 AM Base Language Feature #6821: java collection performance
Actually, I doubt that such optimization will result in any significant performance in all situations. See e.g. a dis... Igor Skornyakov
04:54 AM Base Language Feature #6821: java collection performance
Stanislav Lomany wrote:
> I assume we're taking about replacing
Correct.
> I found that there're not so many plac...
Constantin Asofiei
04:45 AM Base Language Feature #6821 (WIP): java collection performance
Constantin,
> For example, using Java for-each loop for an an ArrayList instead of a @for@ and getting the element...
Stanislav Lomany
10:28 AM Database Feature #6444: dataset improvements
Ovidiu Maxiniuc wrote:
> I am not very happy with this double iteration. It implies a performance penalty. Ultimatel...
Igor Skornyakov
10:12 AM Database Feature #6444: dataset improvements
Igor Skornyakov wrote:
> I need to iterate over a DATA-SOURCE twice - first with the original QUERY and then with th...
Ovidiu Maxiniuc
09:08 AM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
> the performance decreased a lot (there may be some internal storage which affects the INVOKEDYNAMIC instruction at ... Greg Shah
09:08 AM Base Language Feature #6819: refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
From Constantin:
> More with the the lambda for ControlFlowOps, I think the lambda performance is directly proport...
Greg Shah
 

Also available in: Atom