Activity
From 02/16/2025 to 03/17/2025
03/17/2025
- 09:01 AM Feature #9543 (Merge Pending): implement missing BUFFER attributes
- Please merge after 9763a
- 06:35 AM Feature #9543: implement missing BUFFER attributes
- Performed a conversion of Regression test project and it went without any problems.
- 03:24 AM Feature #9543: implement missing BUFFER attributes
- Constantin Asofiei wrote:
> Please use @rt_lvl_stub@, not @none@.
The necessary change added.
- 03:21 AM Feature #9543: implement missing BUFFER attributes
- Eduard Soltan wrote:
> Constantin Asofiei wrote:
> > You are missing history entry in a file. gaps are not updated... - 03:16 AM Feature #9543: implement missing BUFFER attributes
- Constantin Asofiei wrote:
> You are missing history entry in a file. gaps are not updated.
Updated gaps, and add... - 02:54 AM Feature #9543: implement missing BUFFER attributes
- You are missing history entry in a file. gaps are not updated.
- 02:40 AM Feature #9543: implement missing BUFFER attributes
- Constantin Asofiei wrote:
> Ovidiu Maxiniuc wrote:
> > Constantin, shouldn't we generate the optimised @logical.TRU... - 09:01 AM Bug #9763 (Merge Pending): xml-node-name buffer option
- Please merge after 9756a.
- 03:16 AM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> You are missing history entry in a file.
Added history entry. - 02:55 AM Bug #9763: xml-node-name buffer option
- You are missing history entry in a file.
- 02:43 AM Bug #9763: xml-node-name buffer option
- I performed a conversion of Regression test project with 9763a, rev. 15774. And it went without any problems.
- 05:03 AM Bug #9756 (Merge Pending): Performance improvements for CONTAINS udf related methods.
- Please merge 9756a to trunk *after 9676a*.
- 04:53 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- I have continued testing various CONTAINS testcases and there were no other issues.
This can be merged.
03/14/2025
- 07:09 AM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> Eduard, the fact that 4GL doesn't allow @label@ as a field name doesn't mean is not poss... - 03:42 AM Bug #9763: xml-node-name buffer option
- Eduard, the fact that 4GL doesn't allow @label@ as a field name doesn't mean is not possible for the DMO property nam...
- 02:12 AM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> Ovidiu, you are right. Eduard: for now, please rename @setLabel@ and @getLabel@ to @lab...
03/13/2025
- 06:51 PM Bug #9756 (Internal Test): Performance improvements for CONTAINS udf related methods.
- O am OK with the changes in r15769.
- 08:09 AM Bug #9756 (Review): Performance improvements for CONTAINS udf related methods.
- I made some other minor changes in revision 15769.
- 03:44 PM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> Ovidiu, you are right. Eduard: for now, please rename @setLabel@ and @getLabel@ to @lab... - 02:21 PM Bug #9763: xml-node-name buffer option
- Ovidiu, you are right. Eduard: for now, please rename @setLabel@ and @getLabel@ to @label@; this way we don't introd...
- 02:09 PM Bug #9763: xml-node-name buffer option
- I looked at 9763a.
* @buffer_definitions.rules@:
** contains some hard tabs (@#09@, @\t@)
** rules should use t... - 01:54 PM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> I assume you mean 9763b.
Yes, you are right. Sorry, I did not realise that there are 2 ... - 01:52 PM Bug #9763: xml-node-name buffer option
- Ovidiu Maxiniuc wrote:
> I looked at 9763a and I do NOT agree with the implementation.
I assume you mean 9763b. - 01:51 PM Bug #9763: xml-node-name buffer option
- I looked at 9763a and I do NOT agree with the implementation.
IMHO, the values of these new attributes should be s... - 01:25 PM Bug #9763 (Internal Test): xml-node-name buffer option
- Please do some minimal tests with 9763a to get this into trunk.
- 06:34 AM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
>
> Test also with @buffer tt1:write-xml@ and @buffer tt1:xml-node-name = "something".@.... - 04:36 AM Bug #9763: xml-node-name buffer option
- Eduard Soltan wrote:
> Added runtime support for buffer attributes, on 9763b, rev. *15771*.
>
> @buffer btt1:writ... - 04:34 AM Bug #9763: xml-node-name buffer option
- Added runtime support for buffer attributes, on 9763b, rev. *15771*.
@buffer btt1:write-xml("longchar", lc).@
@... - 01:31 PM Feature #9543: implement missing BUFFER attributes
- Ovidiu Maxiniuc wrote:
> Constantin, shouldn't we generate the optimised @logical.TRUE@ instead when a literal is us... - 12:10 PM Feature #9543: implement missing BUFFER attributes
- There is another conversion issue. Instead of...
- 11:15 AM Feature #9543: implement missing BUFFER attributes
- Ovidiu Maxiniuc wrote:
> I do not think you need to add a new method.
> The _missing_ method is most likely @Common... - 10:56 AM Feature #9543: implement missing BUFFER attributes
- I do not think you need to add a new method.
The _missing_ method is most likely @CommonHandle.readOnlyError(String ... - 09:29 AM Feature #9543: implement missing BUFFER attributes
> Constantin Asofiei wrote:
> * did you test how the setter converts for @CAN-READ@?
>
>> Well, is converts in...- 08:49 AM Feature #9543: implement missing BUFFER attributes
- Addressed review issues in rev. *15773*.
Constantin Asofiei wrote:
> * did you test how the setter converts for @... - 08:17 AM Feature #9543: implement missing BUFFER attributes
- Review of @9543a, revision 15771:
* why the @AutoSynchronize@ interface? If the attribute is specific only to BUFFER...
03/12/2025
- 06:34 PM Feature #7020: always use "expanded" extent fields
- I have started reviewing the branch, but it will not be ready until tomorrow due to its size.
- 11:37 AM Feature #7020 (Review): always use "expanded" extent fields
- Done. 7020c was rebased to trunk revision 15770. 7020c is at revision 15792 and is ready for review.
- 09:43 AM Feature #7020 (WIP): always use "expanded" extent fields
- Greg Shah wrote:
> Stefanel: Is there anything else that needs to get done on this task?
As I extracted some of t... - 09:33 AM Feature #7020: always use "expanded" extent fields
- Eric/Ovidiu: Please make it a priority to get this code review done. We have several bugs being held open due to thi...
- 11:16 AM Bug #9683: CompoundQuery is doing extra hydration attempts
- Review of 9683a:
There is still a place:... - 10:07 AM Feature #9543 (WIP): implement missing BUFFER attributes
- 10:03 AM Feature #9543: implement missing BUFFER attributes
- Added conversion support on 9543a, revision *15770*.
For @AUTO-SYNCHRONIZE@ can be setable and queryable, although... - 07:11 AM Feature #9543: implement missing BUFFER attributes
- Eduard, please add conversion support for these two.
- 08:56 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- I fixed this in 9756a revision 15769.
Other tests passed. If there are no other objections I think 9756a is safe f... - 08:09 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- Oh, I discovered an issue that is also in trunk. One example of problematic statement @contains(words, -)@ I will fix...
- 07:57 AM Bug #9756 (Internal Test): Performance improvements for CONTAINS udf related methods.
- I will continue testing the functionality with different parameters for contains.
- 07:40 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- Ovidiu Maxiniuc wrote:
> Cool. I have looked at the code. The changes are minimal. They are OK in my opinion. Howeve... - 06:42 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- Cool. I have looked at the code. The changes are minimal. They are OK in my opinion. However, we can assume the first...
- 05:16 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- I changed boolean[] to BitSet and used ConcurrentHashMap for skipPatterns in 9756a revision 15767.
- 08:32 AM Bug #7924 (Test): add support for creating an empty database
- The effort was moved to #7894 task and completed.
Branch 7894a was merged into trunk as rev. 15770 and archived.
... - 06:33 AM Bug #9763: xml-node-name buffer option
- 9763a rev 15771 changes @return new character("label")@ to @return character.UNKNOWN@.
I'll move ahead with the co... - 06:20 AM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> As @LABEL@ is *not an attribute* for BUFFER or TEMP-TABLE (you can't set or get it via @... - 05:58 AM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> Please post the test and how it converts now.
The 4gl test:... - 05:55 AM Bug #9763: xml-node-name buffer option
- As @LABEL@ is *not an attribute* for BUFFER or TEMP-TABLE (you can't set or get it via @h:LABEL@), then please do not...
- 05:53 AM Bug #9763: xml-node-name buffer option
- Please post the test and how it converts now.
- 05:36 AM Bug #9763: xml-node-name buffer option
- Committed on 9765a, rev. *15768*. Conversion support for NAMESPACE-URI, NAMESPACE-PREFIX, SERIALIZE-NAME and LABEL bu...
- 04:44 AM Bug #9763 (WIP): xml-node-name buffer option
- Eduard Soltan wrote:
> However the following syntax in OE will not raise any errors @def temp-table tt1 field f1 as ... - 04:34 AM Bug #9763: xml-node-name buffer option
- Eduard Soltan wrote:
> Constantin Asofiei wrote:
> > Is this LABEL only for buffers, or temp-table, too? Is it acc... - 04:28 AM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> Is this LABEL only for buffers, or temp-table, too? Is it accessible via @BUFFER btt1:L... - 04:23 AM Bug #9763: xml-node-name buffer option
- Is this LABEL only for buffers, or temp-table, too? Is it accessible via @BUFFER btt1:LABEL = "something"@?
- 04:15 AM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> Eduard, so I found @SERIALIZE-NAME@ also at the @DEF BUFFER@ statement. Please work on ... - 03:32 AM Bug #9763: xml-node-name buffer option
- Eduard, so I found @SERIALIZE-NAME@ also at the @DEF BUFFER@ statement. Please work on adding all these. I don't kn...
03/11/2025
- 02:16 PM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> > 9763a/15767 only adds conversion support for buffer's @xml-node-name@ attribute. But t... - 12:55 PM Bug #9763: xml-node-name buffer option
- I don't see any @label@ support in @BufferImpl@, so we may want to defer that.
Otherwise, please create a more com... - 12:31 PM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> Eduard: please do some small tests and see if conversion of these works properly.
... - 11:48 AM Bug #9763 (New): xml-node-name buffer option
- Ovidiu Maxiniuc wrote:
> Constantin Asofiei wrote:
> > Ovidiu: please review 9763a
>
> 9763a/15767 only adds con... - 11:24 AM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> Ovidiu: please review 9763a
9763a/15767 only adds conversion support for buffer's @xm... - 10:00 AM Bug #9763 (Review): xml-node-name buffer option
- A buffer can set its own @XML-NODE-NAME@ - and multiple buffers (for the same temp-table) can have different @XML-NOD...
- 09:51 AM Bug #9763 (Test): xml-node-name buffer option
- 11:08 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- Stefanel Pezamosca wrote:
> The cache I made only saves the ast given by FQLParser, and has only the String fql as a... - 10:43 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- Ovidiu Maxiniuc wrote:
> * related to the new, rather large, boolean arrays in @Contains@ and @LogicalExpressionConv... - 10:37 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- Ovidiu Maxiniuc wrote:
> * also in @FqlToSqlConverter.fqlAstCache@, I think there are 90% cases when the AST tree do... - 10:29 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- Ovidiu Maxiniuc wrote:
> Review of 9756a/15766.
>
> I agree that these are two directions we can improve performa... - 10:28 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- Review of 9756a/15766.
I agree that these are two directions we can improve performance. The ideas are good. But I... - 06:23 AM Bug #9756 (Review): Performance improvements for CONTAINS udf related methods.
- Please review!
- 06:22 AM Bug #9756 (WIP): Performance improvements for CONTAINS udf related methods.
- Working at #7020 I also made some performance improvements for CONTAINS udf related methods. LogicalExpressionConvert...
- 03:07 AM Bug #9756 (Test): Performance improvements for CONTAINS udf related methods.
- 10:41 AM Bug #9764: Some events (like VALUE-CHANGED) are invoked after errors are displayed for the buffer...
- Given a browse with a set query. This query can have one ore more buffers set. One of the buffers (say buff1) contain...
- 10:37 AM Bug #9764 (New): Some events (like VALUE-CHANGED) are invoked after errors are displayed for the ...
- 04:35 AM Bug #9755: Reimplement AdaptiveQuery dynamic-mode using a LookAheadResults delegate
- Alexandru Lungu wrote:
> ...
> There is no point in "revalidating" if a @LookAheadQuery@ delegate for dynamic-mode ...
03/10/2025
- 02:33 PM Feature #9093: add protection for multi-tenant imports to optionally only import tables that are ...
- I downloaded the files from your link. Thank you.
As you said, there are 2 directories:
* the @emptydbwithschema@... - 11:57 AM Feature #9093: add protection for multi-tenant imports to optionally only import tables that are ...
- I've prepared 4 empty database bzip2 backups and the current metadata split into the two separate directories as we c...
- 10:12 AM Bug #9755: Reimplement AdaptiveQuery dynamic-mode using a LookAheadResults delegate
- I did some prototyping, but I must admit that having it as a @Query@ is much too complex comparing to having it as a ...
- 07:15 AM Bug #9755: Reimplement AdaptiveQuery dynamic-mode using a LookAheadResults delegate
- h4. Problem
A pattern was detected in a customer application that uses a browsed query, which is automatically scr... - 06:51 AM Bug #9755 (New): Reimplement AdaptiveQuery dynamic-mode using a LookAheadResults delegate
- 04:42 AM Bug #9633: bulk delete for permanent tables
- Branch 9656a was merged to trunk rev 15762 and archived.
- 03:37 AM Bug #9633: bulk delete for permanent tables
- Ovidiu Maxiniuc wrote:
> Review of 9656a/15759.
Done, please see rev 15760.
03/07/2025
- 04:18 PM Bug #9633: bulk delete for permanent tables
- Review of 9656a/15759.
* @Persistence.java@
** I think the new methods are very useful additions;
** line 1370: ... - 08:04 AM Bug #9633: bulk delete for permanent tables
- Ovidiu, can you review 9656a, please? I'd like to get this into trunk.
- 03:46 AM Feature #7020: always use "expanded" extent fields
- *7020c* was rebased to trunk *15761* and is now at revision *15786*.
03/05/2025
- 08:09 AM Feature #9093: add protection for multi-tenant imports to optionally only import tables that are ...
- Eric Faulhaber wrote:
> Can you proceed with testing the simple MT setup you were using before the customer's test c... - 08:02 AM Feature #9093: add protection for multi-tenant imports to optionally only import tables that are ...
- Ovidiu Maxiniuc wrote:
> The regression tests returned with success, as well as my targetted testcases used for deve... - 05:39 AM Bug #9633: bulk delete for permanent tables
- Constantin Asofiei wrote:
> The @invalidateCache@ may be used for the future bulk-delete for permanent tables, too (... - 05:34 AM Bug #9633: bulk delete for permanent tables
- The state-changed 'buffer refresh' event was added to 9656a/15759 (after rebase).
I've tested how 4GL behaves if t...
03/04/2025
- 05:19 AM Bug #9633: bulk delete for permanent tables
- > The concern is only for buffers in the same session. I plan to add an API to post an event, intercepted via 'stateC...
- 05:17 AM Bug #9633: bulk delete for permanent tables
- Alexandru Lungu wrote:
> * Having an exception should attempt to unlock the records?
The point is for the outer blo... - 04:44 AM Bug #9633: bulk delete for permanent tables
- Review of 9656a:
> added Persistence.invalidateCache, as a central API to force cache invalidation. This allows sp... - 03:16 AM Bug #9633: bulk delete for permanent tables
- Starting to look into the changes ...
- 04:03 AM Feature #6720: lazy hydration
- > However, I think we have the JDBC to create the old buffer directly, at the moment the trigger is called instead of...
- 02:07 AM Feature #7020: always use "expanded" extent fields
- *7020c* was rebased to trunk *15752* and is now at revision *15777*. Last 5 revisions have some performance improveme...
03/03/2025
- 04:30 PM Feature #6720: lazy hydration
- Greg Shah wrote:
> I understand. I presume it is scoped to the trigger. It is implicitly nested inside the convert... - 03:29 PM Feature #6720: lazy hydration
- > The 'old' buffer is not a normal buffer. The @snapshot@ of a record is created at the time it is changed (only if a...
- 11:49 AM Feature #6720: lazy hydration
- The 'old' buffer is not a normal buffer. The @snapshot@ of a record is created at the time it is changed (only if a t...
- 01:38 PM Bug #9633 (Review): bulk delete for permanent tables
- I'm placing 9656a in review to get some info from Alexandru/Ovidiu.
One note about my previous concern:
* buffers... - 06:57 AM Bug #9633: bulk delete for permanent tables
- Created task branch 9656a from trunk rev 15750. The changes are in 15751:
* added @Persistence.invalidateCache@, as... - 11:48 AM Feature #9093: add protection for multi-tenant imports to optionally only import tables that are ...
- The regression tests returned with success, as well as my targetted testcases used for development. But these no not ...
- 08:53 AM Bug #9683: CompoundQuery is doing extra hydration attempts
- I committed rev 15726. It contains a new interface and a few implementing classes.
- 07:07 AM Bug #9701 (Test): RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality c...
- I have now also ported the changes to @7156c/15546@ and @7156e/15734@.
- 06:44 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- Andrei Plugaru wrote:
> I have merged to trunk as rev 15750.
>
> *Danut, should I also port it to 7156c and 7156e... - 06:40 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- I have merged to trunk as rev 15750.
*Danut, should I also port it to 7156c and 7156e?* - 04:06 AM Bug #9701 (Merge Pending): RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO e...
- Please merge 9701a to trunk now.
- 02:37 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- All the testing showed no regressions. ✅
I think this can be queued in for merge. - 05:33 AM Bug #8868 (Rejected): Fix "Can't normalize FWD value to use it with direct access." error for Fie...
- This fix made it into trunk as rev 15687, it was part of #9587. I am dead archiving 8868a and rejecting this issue.
- 04:30 AM Bug #9717: Investigate the possibility to replace UNIQUE INDEX with NON-UNIQUE INDEX and UNIQUE C...
- Incipient research shows that @UNIQUE CONSTRAINT@ is mostly a sugar syntax for an UNIQUE INDEX. The point is that @UN...
02/28/2025
- 09:05 AM Feature #9711: collation configuration cleanup
- Greg Shah wrote:
> > I agree that it is best to have the collation for all these databases in sync to the degree po... - 08:38 AM Bug #9717: Investigate the possibility to replace UNIQUE INDEX with NON-UNIQUE INDEX and UNIQUE C...
- The legacy UNIQUE INDEX transforms into UNIQUE INDEX in SQL. Recently, we discovered that queries over UNIQUE INDEXes...
- 08:31 AM Bug #9717 (New): Investigate the possibility to replace UNIQUE INDEX with NON-UNIQUE INDEX and UN...
- 05:57 AM Feature #7020: always use "expanded" extent fields
- *7020c* was rebased to trunk *15747* and is now at revision *15771*.
- 05:57 AM Bug #9683: CompoundQuery is doing extra hydration attempts
- 9683a seems to be on the right track.
At this is in an early stage, I may say that it has quite a high cognitive c... - 04:48 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- As the proposed changes are not really related to this task, I created a new one - #9714, which will address the remo...
- 04:46 AM Bug #9714: Remove LocalSyncher as it has become dead code
- From Eric in #9701-24:
> Please note that LocalSyncher is effectively dead code. We really should remove its use. It... - 04:45 AM Bug #9714 (New): Remove LocalSyncher as it has become dead code
- 02:18 AM Bug #9713: Remove singleBuffer from FQLPreprocessor constructor call
- This task was created based on #9695-27.
The main drive for this task is that The @private FQLPreprocessor(List<Re... - 02:11 AM Bug #9713 (New): Remove singleBuffer from FQLPreprocessor constructor call
02/27/2025
- 04:27 PM Feature #9711: collation configuration cleanup
- > I agree that it is best to have the collation for all these databases in sync to the degree possible, and if we ha...
- 04:16 PM Feature #9711: collation configuration cleanup
- Greg Shah wrote:
> For persistent databases, we need the collation used for the primary database to be consistent wi... - 11:33 AM Feature #9711: collation configuration cleanup
- For the @_temp@ database, please see my comments in #9699-15 through #9699-21. We should eliminate all hard coded cf...
- 11:30 AM Feature #9711: collation configuration cleanup
- This is meant to finish the work left open in #5491-20:
We need to simplify the configuration of the locale/collat... - 11:30 AM Feature #9711 (WIP): collation configuration cleanup
- 03:39 PM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- Eric Faulhaber wrote:
> Please note that @LocalSyncher@ is effectively dead code. We really should remove its use. I... - 10:00 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- Andrei Plugaru wrote:
> Alexandru Lungu wrote:
> > * Please investigate if there are @equals@ comparisons of @BaseR... - 09:53 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- I think that should suffice. The changes are right at the heart of the persistence and surely the affected code will ...
- 09:44 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- Thanks, Ovidiu, for the review.
As we want to test it more aggressively, I propose the following tests, apart from... - 09:32 AM Bug #9701 (Internal Test): RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO e...
- I have reviewed the changes in 9701a/r15735.
I agree with the new code (with the reservation of the problem related ... - 08:09 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- I have ran the fwd tests and they show no regressions.
- 07:28 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- The unit tests of a customer passed, however I have one more failing test in the fwd tests. So, I am running the fwd ...
- 04:44 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- I will be following this test plan:
* unit tests for a large customer application [ai]
* fwd tests of another large... - 04:37 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- Andrei, please do other remaining testing until Ovidiu provides a final Review (unit tests or/and ChUi regression tes...
- 03:31 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- *Ovidiu*, please take a look over the changes in @9701a@ when you are available.
- 11:40 AM Feature #9712: ensure that the language and encoding options in use across the current customer b...
- As found in #9699, some customers may be setup with invalid combinations of language and codepage. We need a list of...
- 11:37 AM Feature #9712 (New): ensure that the language and encoding options in use across the current cust...
- 11:35 AM Feature #5491 (Closed): custom locale/collation implementations
- The remaining work is in #9711.
- 07:33 AM Bug #9669 (Test): Optimize RecordMeta.applyInitialValues
- 07:08 AM Bug #9669: Optimize RecordMeta.applyInitialValues
- Branch 9669a was merged to trunk as rev.15743 and archived.
- 06:24 AM Bug #9669 (Merge Pending): Optimize RecordMeta.applyInitialValues
- Please merge 9669a to trunk after 9466b.
- 06:13 AM Bug #9669: Optimize RecordMeta.applyInitialValues
- FwdTests passed.
- 05:40 AM Bug #9669 (Internal Test): Optimize RecordMeta.applyInitialValues
- I am OK with the changes:
* please fix @if (data[i] != null) {@ brace positioning.
This can go into internal test... - 05:13 AM Bug #9669: Optimize RecordMeta.applyInitialValues
- Removed getProperties in rev 15722.
- 05:00 AM Bug #9669 (Review): Optimize RecordMeta.applyInitialValues
- I committed the latest changes to rev 15721.
- 02:34 AM Bug #9669: Optimize RecordMeta.applyInitialValues
- Alexandru Lungu wrote:
> ** Anyway, I think this approach is not completely right because you presume that the @dyna... - 06:22 AM Feature #9305 (WIP): Replace begins with interval based conditional
- For reference, I misunderstood the documentation. By "C locale", it doesn't mean "libc", but actual C locale (aka POS...
- 05:02 AM Feature #9305 (Review): Replace begins with interval based conditional
- As a resolution for #9305, I updated [[p2j:4GL_Database_Access_Performance_Tips]]. Please review.
02/26/2025
- 05:36 PM Bug #9669: Optimize RecordMeta.applyInitialValues
- Alexandru Lungu wrote:
> ** Anyway, I think this approach is not completely right because you presume that the @dyna... - 09:12 AM Bug #9669: Optimize RecordMeta.applyInitialValues
- > Please post the test-cases you built for testing 9669a.
As part of 9669a review:
* There is a misalignment of... - 05:58 AM Bug #9669 (WIP): Optimize RecordMeta.applyInitialValues
- > Considering the nature of the changes, I went ahead with the testing, FwdTests and 2 large customer application uni...
- 03:02 AM Bug #9669: Optimize RecordMeta.applyInitialValues
- Considering the nature of the changes, I went ahead with the testing, FwdTests and 2 large customer application unit ...
- 04:49 PM Bug #9683: CompoundQuery is doing extra hydration attempts
- I committed an early implementation for the RetrieveResults, the code is in 9683a/15725. Code formatting, javadoc and...
- 09:14 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- OK
- 09:07 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- I just used the @assert@ to validate that I get the same results with the new implementation vs the old one while run...
- 09:05 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- > Assert as in @assert@ statement from Java. If so, did you run the Java process with @-ea@ to activate it? Personall...
- 07:57 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- Alexandru Lungu wrote:
> Assert as in @assert@ statement from Java. If so, did you run the Java process with @-ea@ t... - 07:52 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- > So, I think I will abandon the idea to override equals, and, simply create another method which will do this checki...
- 07:30 AM Bug #9701 (Review): RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality...
- *I committed @9701a/15735@.* As I said in the last note, I just created a new method in @Record@ to check if the data...
- 06:32 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- @equals@ is used explicitly only there, however I just realised it could be used as key in collections like @Set@ or ...
- 06:21 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- > I actually found just one usage of Record.equals in LocalSyncher.preSynch: if (foreignDMO null || foreignDMO.equals...
- 06:13 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- Alexandru Lungu wrote:
> * Please investigate if there are @equals@ comparisons of @BaseRecord@ across FWD.
==
I a... - 04:57 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- > At the moment, I am thinking of overriding the equals in BaseRecord and make it check the elements in data array. I...
- 04:23 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- I found this note in @CompareOps.equals@: @// special case: an empty comhandle is considered be equal to the zero int...
- 03:32 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- At the moment, I am thinking of overriding the @equals@ in @BaseRecord@ and make it check the elements in data array....
- 08:13 AM Feature #9093 (Internal Test): add protection for multi-tenant imports to optionally only import ...
- Ovidiu Maxiniuc wrote:
> [...]
> I committed the changes and rebased the branch to latest trunk. Current revision i... - 05:54 AM Bug #9667 (Test): Bottleneck in BaseRecord.getActiveUpdateDiffs
- 05:45 AM Bug #9667: Bottleneck in BaseRecord.getActiveUpdateDiffs
- Branch 9667a was merged into trunk as rev. 15737 and archived.
- 04:58 AM Bug #9667 (Merge Pending): Bottleneck in BaseRecord.getActiveUpdateDiffs
- Please merge 9667a to trunk after 9615a.
- 02:53 AM Bug #9667: Bottleneck in BaseRecord.getActiveUpdateDiffs
- Alexandru Lungu wrote:
> Afterwards:
> * 2 large customer application unit tests and ChUI regression tests.
All ...
02/25/2025
- 05:07 PM Feature #9093: add protection for multi-tenant imports to optionally only import tables that are ...
- Eric Faulhaber wrote:
> Code review 9093a/15727-15728:
>
> For a small update, this took me several read-throughs... - 03:16 PM Feature #9093: add protection for multi-tenant imports to optionally only import tables that are ...
- Code review 9093a/15727-15728:
For a small update, this took me several read-throughs to comprehend. However, I th... - 01:37 PM Bug #9669: Optimize RecordMeta.applyInitialValues
- Committed a small change to rev 15719.
- 05:17 AM Bug #9669 (Review): Optimize RecordMeta.applyInitialValues
- I addressed the review, the code is in rev 15718.
- 03:34 AM Bug #9669: Optimize RecordMeta.applyInitialValues
- > My goal was to store the initial non null values, in case this bitset could be used in the future, but storing null...
- 03:10 AM Bug #9669: Optimize RecordMeta.applyInitialValues
- Alexandru Lungu wrote:
> * @flip@ operation seems redundant. Instead of @or@-ing with @initialDataBitSet@ and then f... - 10:36 AM Feature #6720: lazy hydration
- > This affirmation is correct for the "new buffer", but not for the "old buffer". The old buffer stores a snapshot of...
- 09:42 AM Feature #6720: lazy hydration
- > Probably we'll have to do a full hydration of the record at the moment a missing property is accessed during the ex...
- 09:03 AM Feature #6720: lazy hydration
- Creating the snapshot of a partially-hydrated record will take only the information available at that time. I do not ...
- 08:41 AM Feature #6720: lazy hydration
- > Are we adding implicit accesses (in our runtime) to fields that are not otherwise accessed explicitly in the 4GL co...
- 08:30 AM Feature #6720: lazy hydration
- Are we adding implicit accesses (in our runtime) to fields that are not otherwise accessed explicitly in the 4GL code...
- 06:48 AM Feature #6720: lazy hydration
- Andrei, I just found another usage of @snapshot@. A so called @armCurrentChanged@ that can be triggered if you run a ...
- 06:38 AM Feature #6720: lazy hydration
- Starting from the testcase in the last note, Alex and I analyzed more @RecordBuffer.armWriteTrigger@ method.
We an... - 04:34 AM Feature #6720: lazy hydration
- I have finished the testcase from #6720-113 to have the hydrator invalidated and also modifying the record in the DB ...
- 03:27 AM Feature #6720: lazy hydration
- > In the last find next query it has as placeholder an unhydrated record. I think this could be prone to errors if th...
- 02:11 AM Feature #6720: lazy hydration
- I am further investigating the regressions on the FWD tests. I still think that the root issue could be related to th...
- 09:58 AM Bug #9701 (WIP): RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- Created branch @9701a@ from rev. 15734.
- 06:04 AM Bug #9701: RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality check
- In a profiled scenario (#9692), there are 3.5k @RecordBuffer.updateCurrentChanged@ calls. The DMOs used by this have ...
- 05:50 AM Bug #9701 (Test): RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality c...
- 07:04 AM Bug #9702: BaseRecord.getDirtyIndices is slow
- PS: @BaseRecord.getUnvalidatedIndices@ seems to have a better performance, but for my tests this is called only 54k t...
- 06:44 AM Bug #9702: BaseRecord.getDirtyIndices is slow
- In a profiled scenario (#9692), there are 104k calls to @BaseRecord.getDirtyIndices@. The scenario is changing extent...
- 06:20 AM Bug #9702 (New): BaseRecord.getDirtyIndices is slow
- 03:43 AM Bug #9667 (Internal Test): Bottleneck in BaseRecord.getActiveUpdateDiffs
- The changes look functionally right. There are still some formatting issues:
* @validation.validateMaybeFlush();@ is... - 03:16 AM Bug #9667 (Review): Bottleneck in BaseRecord.getActiveUpdateDiffs
- I committed the changes to rev 15717.
- 03:11 AM Bug #9667: Bottleneck in BaseRecord.getActiveUpdateDiffs
- I made the changes, considering that they are trivial, I will move on with testing.
02/24/2025
- 10:15 AM Bug #9670 (Test): Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- Branch 9670a was merged to trunk rev 15731 and archived.
- 10:07 AM Bug #9670 (Merge Pending): Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- Please merge to trunk now.
- 09:52 AM Bug #9670: Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- I ran the unittest suite of a large customer, no issues.
Let me know when this can be merged. - 09:17 AM Bug #9670 (Internal Test): Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- I am OK with the changes. Please do some slim testing to ensure there are no obvious issues.
- 08:57 AM Bug #9670: Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- Please update the branch now.
- 08:54 AM Bug #9670: Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- The latest rev. is still 15715.
- 09:58 AM Feature #9305: Replace begins with interval based conditional
- > I assume from these mixed results that you are testing this on an analyzed table with a lot of data. The PostgreSQL...
- 09:49 AM Feature #9093: add protection for multi-tenant imports to optionally only import tables that are ...
- I'll let Eric do the code review but from a user perspective, the changes look really good. Nice job!
- 09:25 AM Bug #9667 (WIP): Bottleneck in BaseRecord.getActiveUpdateDiffs
- Review of 9667a:
* From @BaseRecord.getActiveUpdateDiffs@... - 09:15 AM Bug #9669 (WIP): Optimize RecordMeta.applyInitialValues
- Review of 9669a:
* @flip@ operation seems redundant. Instead of @or@-ing with @initialDataBitSet@ and then flip, p... - 03:45 AM Bug #9697 (WIP): Use only indexed fields when performing record snapshot
- Created @9697a@ based on rev. 15726.
- 03:29 AM Bug #9697: Use only indexed fields when performing record snapshot
- The scope of this task is to make @Record.snapshot@ use only the indexed fields.
The reason we got here is because o... - 03:22 AM Bug #9697 (WIP): Use only indexed fields when performing record snapshot
02/22/2025
- 01:00 PM Feature #9093 (Review): add protection for multi-tenant imports to optionally only import tables ...
- Please review.
- 12:59 PM Feature #9093 (WIP): add protection for multi-tenant imports to optionally only import tables tha...
- I did multiple tests with import from a multi-tenant enabled database. A first conclusion is that the database export...
02/21/2025
- 04:47 PM Feature #9305: Replace begins with interval based conditional
- Alexandru Lungu wrote:
> > Don't we need this to be (upper(rtrim(tt_1_1__im0_.f1)) in order to give the database a c... - 10:48 AM Feature #9305: Replace begins with interval based conditional
- > Don't we need this to be (upper(rtrim(tt_1_1__im0_.f1)) in order to give the database a chance to match an index? A...
- 10:42 AM Feature #9305: Replace begins with interval based conditional
- I was a bit puzzled why isn't @BEGIN@ implemented as an UDF?
I mean that was my first reaction, to see how @udf.begi... - 10:17 AM Feature #9305: Replace begins with interval based conditional
- Alexandru Lungu wrote:
> The conversion of a simple @find first tt where tt.f1 begins tst@ yields:
> [...]
>
> T... - 08:49 AM Feature #9305: Replace begins with interval based conditional
- The conversion of a simple @find first tt where tt.f1 begins tst@ yields:...
- 10:35 AM Bug #9683 (WIP): CompoundQuery is doing extra hydration attempts
- Regarding 9683a:
* for @collectRowData@, if the query is non-scrolling and off-end, the code still returns @new Obje... - 09:06 AM Bug #9683 (Review): CompoundQuery is doing extra hydration attempts
- Indeed there are callers of @processComponent@ and @collectRowData@ that do not use the row data, only the fact that ...
- 06:21 AM Bug #9683 (WIP): CompoundQuery is doing extra hydration attempts
- 06:15 AM Bug #9683: CompoundQuery is doing extra hydration attempts
- In a profiled scenario, when running a CompoundQuery, there are 63k calls to @Results.getRow@:
* 21.3k come from @Pr... - 05:54 AM Bug #9683 (Review): CompoundQuery is doing extra hydration attempts
- 10:04 AM Feature #6720: lazy hydration
- Andrei, having 9030b in trunk will be ideal, but I don't have enough focus and time to continue work onto that :/
P... - 09:54 AM Feature #6720: lazy hydration
- I did some investigation of the error I get in the FWD tests. The good news is that it seems that all have the same e...
- 03:31 AM Feature #6720: lazy hydration
- I have ran the FWD tests of another large customer application. Unfortunately, it shows some regressions :((
Howev... - 09:35 AM Feature #9542 (Test): finish ORIGIN-HANDLE ProDataSet attribute
- Branch 9544a which contains the changes from this task was merged into trunk as r15725 and then was archived.
- 09:34 AM Feature #9544 (Test): implement missing SESSION handle attributes
- Branch 9544a was merged into trunk as r15725 and then was archived.
- 07:40 AM Feature #9544 (Merge Pending): implement missing SESSION handle attributes
- Please merge to trunk.
- 08:55 AM Feature #7020: always use "expanded" extent fields
- *7020c* was rebased to trunk *15724* and is now at revision *15748*.
- 05:47 AM Bug #9669 (Review): Optimize RecordMeta.applyInitialValues
- I fixed the issue, 9669a/15717 is ready for review.
- 04:04 AM Bug #9669 (WIP): Optimize RecordMeta.applyInitialValues
- I did a bit of testing and found some regressions, will fix them.
02/20/2025
- 10:14 AM Bug #9669 (Review): Optimize RecordMeta.applyInitialValues
- I committed the code to 9669a/15716, it is ready for review.
- 05:41 AM Bug #9669 (WIP): Optimize RecordMeta.applyInitialValues
- 10:11 AM Bug #9670: Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- Replaced @CREATE_DYN_TT.timer@ with @CREATE_DYN_TT.timerWithReturn@. Committed changes.
- 09:47 AM Bug #9670: Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- I am ok with the changes. One small change request:
* In @TempTableBuilder@, the @boolean[] res = new boolean[1];@ i... - 04:05 AM Bug #9670 (Review): Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- Extended this refactor for @DynamicQueryHelper@ and @TempTableBuilder@.
Added changes to 9670a/15715. - 02:13 AM Bug #9670 (WIP): Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- 10:06 AM Feature #6720: lazy hydration
- > Well, I made getLoadedFields return a BitSet with loaded fields. This makes integration in markIncomplete seamless....
- 09:54 AM Feature #6720: lazy hydration
- Andrei Plugaru wrote:
> Yes, you are right, I will switch it back.
Done that in @6720b/15704@. - 09:42 AM Feature #6720: lazy hydration
- Alexandru Lungu wrote:
> > getLoadedFields
>
> Isn't this equivalent to the already existing @getProps@?
Well,... - 09:22 AM Feature #6720: lazy hydration
- > getLoadedFields
Isn't this equivalent to the already existing @getProps@?
> In BaseRecord.getUnhydratedFields... - 09:06 AM Feature #6720: lazy hydration
- *Committed @6720b/15703@ with the fix for the issue described in the last notes*. My approach was to create another m...
- 09:01 AM Feature #6720: lazy hydration
- Alexandru Lungu wrote:
> I think @readFields@ should be re-thinked a bit, because it has quite a weird integration w... - 04:03 AM Feature #6720: lazy hydration
- I think @readFields@ should be re-thinked a bit, because it has quite a weird integration with @liveProps@ - it may b...
- 10:01 AM Bug #9667 (Review): Bottleneck in BaseRecord.getActiveUpdateDiffs
- I committed the code to 9667a/15716, it is ready for review.
- 04:06 AM Bug #9667 (WIP): Bottleneck in BaseRecord.getActiveUpdateDiffs
02/19/2025
- 12:41 PM Feature #6720: lazy hydration
- I found another case where @6720b@ works incorrectly:...
- 10:21 AM Bug #9670: Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- This task is straight-forward. Most API from UnclosablePreparedStatement are using a lambda function to time measure ...
- 10:20 AM Bug #9670 (Test): Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- 10:18 AM Bug #9669: Optimize RecordMeta.applyInitialValues
- In a profiled scenario (#9652), there are 3.6k calls to RecordMeta.applyInitialValues:
* all are generated by @Rec... - 10:13 AM Bug #9669 (Test): Optimize RecordMeta.applyInitialValues
- 05:27 AM Bug #9667: Bottleneck in BaseRecord.getActiveUpdateDiffs
- In a profiled scenario (#9652), there are 46k calls to @BaseRecord.getActiveUpdateDiffs@:
* 26.8k caused by DMO sett... - 05:09 AM Bug #9667 (Test): Bottleneck in BaseRecord.getActiveUpdateDiffs
- 03:30 AM Bug #9590: Double LOAD for each record in FWD
- Rebased *9590a* to latest trunk *trunk/15713*, the branch is now at revision *15714*.
02/18/2025
- 10:19 AM Feature #6720: lazy hydration
- For solving the issue presented in #6720-98 I have created a new method which evicts the ResultSet from the cache and...
- 08:31 AM Feature #6720: lazy hydration
- FYI, @ownResultSet@ and @unownResultSet@ are things specific to #6720 effort - feel free to adjust their usage to fit...
- 07:29 AM Feature #6720: lazy hydration
- The issue regarding the lack of validation of uniqueness have been solved by calling @rs.isLast()@ and making the res...
- 02:16 AM Feature #6720: lazy hydration
- I actually see now why that if statement was missing. When we call @rs.next()@, the result set will be invalidated, s...
- 08:04 AM Feature #7020: always use "expanded" extent fields
- First try to solve contains for expanded extent fields in a temp-table looks like this:
For example, for a field n...
02/17/2025
- 10:52 AM Feature #6720: lazy hydration
- While I was investigating the unit tests for that large customer application, I found out a scenario that somehow doe...
- 04:31 AM Feature #6720: lazy hydration
- Please note that the unit tests are starting with an empty database, so all persistent data that is used is actually ...
- 02:35 AM Feature #6720: lazy hydration
- Eric Faulhaber wrote:
> My gut tells me this is related to something we are doing internally in the runtime (hopeful... - 04:18 AM Bug #9317 (Test): FIRST/LAST clauses can avoid generating sub-selects if the WHERE clause matches...
- Ioana, feel free to also merge 9317a to 7156c and 7156d.
Also available in: Atom