Activity
From 02/22/2025 to 03/23/2025
03/21/2025
- 08:44 AM Support #4060: investigate converting extent fields to array columns
- Recently we found out that:
* Most databases have a limit on the number of columns in a table.
** PostgreSQL: 160... - 03:34 AM Feature #7020: always use "expanded" extent fields
- Greg Shah wrote:
> For some reason, the work on 9537a is actually in #8982 and the last notes there suggest that we ...
03/20/2025
- 02:58 PM Feature #7020: always use "expanded" extent fields
- If the shared frame above is fixed, yet the customer application hit that other limit, we'd need both to be fixed bef...
- 02:54 PM Feature #7020: always use "expanded" extent fields
- Greg Shah wrote:
> For some reason, the work on 9537a is actually in #8982 and the last notes there suggest that we ... - 02:18 PM Feature #7020: always use "expanded" extent fields
- For some reason, the work on 9537a is actually in #8982 and the last notes there suggest that we have a design limita...
- 11:47 AM Feature #7020: always use "expanded" extent fields
- Roger Borrello wrote:
> Is there any relationship between branches 9537a and 7020c? I am especially concerned with m... - 11:39 AM Feature #7020: always use "expanded" extent fields
- Is there any relationship between branches 9537a and 7020c? I am especially concerned with my big application, since ...
- 11:27 AM Feature #7020 (Review): always use "expanded" extent fields
- I have rebased 7020c to trunk revision 15800.
I have committed revisions 15823/15824 with some fixes. Please revie... - 10:57 AM Feature #7020: always use "expanded" extent fields
- Stefanel Pezamosca wrote:
> Now that I think about the potential issues, I believe this plan will be safer. So, I’m ...
03/19/2025
- 02:09 PM Feature #9093: add protection for multi-tenant imports to optionally only import tables that are ...
- I am preparing a new @tenantMode@, which will restrict the import to @Default@ physical database only to tables not m...
- 11:06 AM Bug #9763: xml-node-name buffer option
- Branch 9763c was merged to trunk rev 15800 and archived.
- 03:38 AM Bug #9763: xml-node-name buffer option
- Created task branch 9763c from trunk rev 15790. 15791 fixes a problem with an edge case (regression in trunk 15785),...
- 04:21 AM Feature #7020 (WIP): always use "expanded" extent fields
- Thank you for the review. I will start working on addressing the above now.
> * as noted above, is the drop of the...
03/18/2025
- 12:58 PM Feature #7020: always use "expanded" extent fields
- Review of 7020c / 15792.
I see that you did what I was afraid to do: completely drop the support for custom extent... - 12:32 PM Bug #9763: xml-node-name buffer option
- Constantin Asofiei wrote:
> Eduard, isn't @SERIALIZE-NAME@ used for JSON? So please try @READ-JSON@ and @WRITE-JSON@... - 11:29 AM Bug #9763: xml-node-name buffer option
- Eduard, isn't @SERIALIZE-NAME@ used for JSON? So please try @READ-JSON@ and @WRITE-JSON@.
- 11:25 AM Bug #9763: xml-node-name buffer option
- Main faindings regarding buffer attributes:
@NAMESPACE-URI@
1) for statement @buffer btt1:NAMESPACE-URI@, it w... - 05:09 AM Bug #9763 (WIP): xml-node-name buffer option
- 04:43 AM Bug #9763: xml-node-name buffer option
- 9763a was merged into trunk revision 15785 and archived.
- 05:08 AM Feature #9543: implement missing BUFFER attributes
- 9543a was merged into trunk revision 15786 and archived.
- 04:17 AM Bug #9756 (Test): Performance improvements for CONTAINS udf related methods.
- 04:13 AM Bug #9756: Performance improvements for CONTAINS udf related methods.
- Branch 9756a was merged into trunk as rev. 15784 and archived.
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...
Also available in: Atom