Alexandru Lungu's activity
From 02/14/2025 to 03/15/2025
03/13/2025
- 11:59 AM Base Language Bug #9060: Cache oftenly used values that are immutable
- Artur, can you do a safe cut-out of the current changes you have to merge to trunk by EOW? Other matters can be defer...
- 07:46 AM Base Language Bug #9060: Cache oftenly used values that are immutable
- Extra ideas:
* @CompareOps.equals@ can use a == short-circuit now, as there is a higher chance to have the same BDT... - 06:07 AM Base Language Bug #9060: Cache oftenly used values that are immutable
- > Creating 1 mil datetimetz instances takes, on average, 6594 milliseconds, using the dynamic cache, that has a hit r...
03/12/2025
- 11:16 AM Database Bug #9683: CompoundQuery is doing extra hydration attempts
- Review of 9683a:
There is still a place:...
03/10/2025
- 10:12 AM Database 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 Database 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 Database Bug #9755 (New): Reimplement AdaptiveQuery dynamic-mode using a LookAheadResults delegate
- 07:39 AM Base Language Bug #9060: Cache oftenly used values that are immutable
- Artur Școlnic wrote:
> This is the most efficient implementation I found:
I am not sure if this is more performan... - 05:29 AM Base Language Bug #9060: Cache oftenly used values that are immutable
- Artur Școlnic wrote:
> Clearly a LRU cache is not a good idea for caching the BDT constants, but what about a Most F...
03/05/2025
- 03:22 AM Base Language Bug #9060: Cache oftenly used values that are immutable
- Artur Școlnic wrote:
> Immutable objects can't be changed at all, unmodifiable objects can't be change externally, b...
03/04/2025
- 08:58 AM Base Language Bug #9060: Cache oftenly used values that are immutable
- On today meeting on #9060:
* Extend caching to more BDT when possible. Consider using dynamic caching for this. Re... - 06:55 AM Conversion Tools Support #9703: explore and document the existing OE IDE feature set
- Florin, please avoid using snapshots from OE IDEs. Please refer to the version textually.
- 05:19 AM Database 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...
- 04:44 AM Database 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 Database Bug #9633: bulk delete for permanent tables
- Starting to look into the changes ...
- 04:03 AM Database 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...
03/03/2025
- 04:30 AM Database 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...
- 04:06 AM Database Bug #9701 (Merge Pending): RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO e...
- Please merge 9701a to trunk now.
02/28/2025
- 08:38 AM Database 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 Database Bug #9717 (New): Investigate the possibility to replace UNIQUE INDEX with NON-UNIQUE INDEX and UN...
- 05:57 AM Database 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...
02/27/2025
- 07:33 AM Database Bug #9669 (Test): Optimize RecordMeta.applyInitialValues
- 06:24 AM Database Bug #9669 (Merge Pending): Optimize RecordMeta.applyInitialValues
- Please merge 9669a to trunk after 9466b.
- 05:40 AM Database 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... - 06:22 AM Database 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 Database Feature #9305 (Review): Replace begins with interval based conditional
- As a resolution for #9305, I updated [[p2j:4GL_Database_Access_Performance_Tips]]. Please review.
- 04:37 AM Database 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...
02/26/2025
- 09:12 AM Database 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 Database 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...
- 07:52 AM Database 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...
- 06:21 AM Database 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...
- 04:57 AM Database 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...
- 05:54 AM Database Bug #9667 (Test): Bottleneck in BaseRecord.getActiveUpdateDiffs
- 04:58 AM Database Bug #9667 (Merge Pending): Bottleneck in BaseRecord.getActiveUpdateDiffs
- Please merge 9667a to trunk after 9615a.
02/25/2025
- 08:56 AM TRPL Feature #1747: evaluate Scala for suitability as the basis for TRPL as a DSL
- This crossed my way a couple a weeks ago and now I am feeling guilty that I did not make a post in time. But maybe it...
- 08:41 AM Database Feature #6720: lazy hydration
- > Are we adding implicit accesses (in our runtime) to fields that are not otherwise accessed explicitly in the 4GL co...
- 06:48 AM Database Feature #6720: lazy hydration
- Andrei, I just found another usage of @snapshot@. A so called @armCurrentChanged@ that can be triggered if you run a ...
- 03:27 AM Database 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...
- 07:04 AM Database 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 Database 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 Database Bug #9702 (New): BaseRecord.getDirtyIndices is slow
- 06:04 AM Database 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 Database Bug #9701 (Test): RecordBuffer.updateCurrentChanged can be optimized to use a fast DMO equality c...
- 03:43 AM Database Bug #9667 (Internal Test): Bottleneck in BaseRecord.getActiveUpdateDiffs
- The changes look functionally right. There are still some formatting issues:
* @validation.validateMaybeFlush();@ is... - 03:34 AM Database 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...
02/24/2025
- 10:07 AM Database Bug #9670 (Merge Pending): Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- Please merge to trunk now.
- 09:17 AM Database 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:54 AM Database Bug #9670: Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- The latest rev. is still 15715.
- 09:58 AM Database 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:25 AM Database Bug #9667 (WIP): Bottleneck in BaseRecord.getActiveUpdateDiffs
- Review of 9667a:
* From @BaseRecord.getActiveUpdateDiffs@... - 09:15 AM Database Bug #9669 (WIP): Optimize RecordMeta.applyInitialValues
- Review of 9669a:
* @flip@ operation seems redundant. Instead of @or@-ing with @initialDataBitSet@ and then flip, p... - 08:52 AM Runtime Infrastructure Support #5568: implement application-specific TERMINFO database overrides
- FYI: #6433 was just merged to trunk.
02/21/2025
- 10:48 AM Database 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...
- 08:49 AM Database 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 Database 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... - 06:15 AM Database 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 Database Bug #9683 (Review): CompoundQuery is doing extra hydration attempts
- 10:04 AM Database 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... - 04:09 AM Base Language Bug #9060: Cache oftenly used values that are immutable
- > Yes, we can experiment in second phase; but on collision will require an equals.
I checked H2 code right now and... - 04:05 AM Base Language Bug #9060: Cache oftenly used values that are immutable
- > My point with LRU is to do some experiments, what happens if we allow more strings (not interned).
What about th... - 04:01 AM Base Language Bug #4766: fix CHR and ASC
- > asc({somechar1.i} + {somechar2.i})
Can we go the extra mile and have @asc("{somechar1.i}x{somechar2.i}")@? Does ...
02/20/2025
- 10:06 AM Database Feature #6720: lazy hydration
- > Well, I made getLoadedFields return a BitSet with loaded fields. This makes integration in markIncomplete seamless....
- 09:22 AM Database Feature #6720: lazy hydration
- > getLoadedFields
Isn't this equivalent to the already existing @getProps@?
> In BaseRecord.getUnhydratedFields... - 04:03 AM Database 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...
- 09:47 AM Database 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...
02/19/2025
- 10:21 AM Database 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 Database Bug #9670 (Test): Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG
- 10:18 AM Database 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 Database Bug #9669 (Test): Optimize RecordMeta.applyInitialValues
- 05:27 AM Database 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 Database Bug #9667 (Test): Bottleneck in BaseRecord.getActiveUpdateDiffs
- 04:57 AM Base Language Bug #9060: Cache oftenly used values that are immutable
- I updated my list in #9060-32 (now is complete).
02/18/2025
- 09:23 AM Base Language Bug #9060: Cache oftenly used values that are immutable
- Part of my work in #9652 was to analyze performance. To provide some insights into how the BDT instantiation works th...
- 08:31 AM Database Feature #6720: lazy hydration
- FYI, @ownResultSet@ and @unownResultSet@ are things specific to #6720 effort - feel free to adjust their usage to fit...
02/17/2025
- 04:31 AM Database 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 ...
- 04:18 AM Database 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.
02/14/2025
- 05:18 AM Database Bug #9317 (Merge Pending): FIRST/LAST clauses can avoid generating sub-selects if the WHERE claus...
- Please merge 9317a to trunk now.
- 04:49 AM Database Feature #6720: lazy hydration
- Good statistic! Quick question: are the numbers cumulative for temp and persistent tables. If so, can we make a disti...
- 03:43 AM Base Language Support #9446 (Test): compatibility test PUT-DOUBLE
- Branch 9446a was merged into the trunk as revision 15705 and archived.
Also available in: Atom