Project

General

Profile

Activity

From 09/14/2022 to 10/13/2022

10/13/2022

03:38 PM Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
Alex, there's something else I'd like to understand: I've increased the FWD's @psCache@ to 65535 for a large customer... Constantin Asofiei
08:53 AM Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
Constantin Asofiei wrote:
> Alex, I was under the impression that a test like this, @dyntable.p@:
> [...]
>
> wh...
Alexandru Lungu
07:45 AM Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
Alex, I was under the impression that a test like this, @dyntable.p@:... Constantin Asofiei
07:06 AM Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
> In FWD, the FWD persistence session for the temporary database will get opened and closed depending on the applicat... Alexandru Lungu
06:13 AM Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
Alexandru Lungu wrote:
> > The FWD-level cache of prepared statements in TempTableDataSourceProvider's psCache will ...
Constantin Asofiei
05:01 AM Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
> But, there may be an issue: are dynamic temp-table names unique for the lifetime of a FWD server? Because a Prepare... Alexandru Lungu
09:34 AM Feature #6830: find and fix all SQL SELECT statements with inlined literal arguments, and rewrite...
Here's a report on how modifying went so far:
* Out of 26 possible spots, 16 were modified with no further problems....
Radu Apetrii
03:26 AM Feature #6830: find and fix all SQL SELECT statements with inlined literal arguments, and rewrite...
I have fixed the cases described previously by Constantin, apart from @FastCopyHelper.copyTable@, due to the fact tha... Radu Apetrii
08:46 AM Feature #6457: finish COPY-LOB support
Greg Shah wrote:
> Please provide the list of codepages/scenarios which need testing (and which you cannot test).
>...
Marian Edu
04:37 AM Support #6714: check if there is an optimization opportunity when copying temp-tables based on mu...
Danut, you can try using some of the following scenarios to have a comprehensive context of where such optimization m... Alexandru Lungu
03:51 AM Feature #6453: temp-table features
Igor Skornyakov wrote:
> Ovidiu Maxiniuc wrote:
> > The @serialize-hidden@ is a known issue which was fixed in a di...
Igor Skornyakov
03:20 AM Feature #6453: temp-table features
Greg Shah wrote:
> > For datetime the difference is only in case.
>
> Please analyze if this case difference matt...
Igor Skornyakov
02:40 AM Feature #6453: temp-table features
Ovidiu Maxiniuc wrote:
> The @serialize-hidden@ is a known issue which was fixed in a different branch. To fix it, o...
Igor Skornyakov

10/12/2022

06:30 PM Feature #6453: temp-table features
The @serialize-hidden@ is a known issue which was fixed in a different branch. To fix it, open @DynamicTablesHelper.j... Ovidiu Maxiniuc
11:53 AM Feature #6453: temp-table features
Igor Skornyakov wrote:
> It looks that the problem with @WRITE-XMLSCHEMA@ for dynamic TEMP-TABLE in FWD is that for ...
Igor Skornyakov
11:44 AM Feature #6453: temp-table features
> For datetime the difference is only in case.
Please analyze if this case difference matters in our runtime. If ...
Greg Shah
10:55 AM Feature #6453: temp-table features
Greg Shah wrote:
> > Should I fix defaultFormatString() methods to match defFormats?
>
> Probably not. I think th...
Igor Skornyakov
10:31 AM Feature #6453: temp-table features
> Should I fix defaultFormatString() methods to match defFormats?
Probably not. I think that may cause regressions...
Greg Shah
05:13 AM Feature #6453: temp-table features
Marian Edu wrote:
> Greg Shah wrote:
> > Constantin/Marian: Can you please advise Igor on how he can test the behav...
Igor Skornyakov
04:55 AM Feature #6453: temp-table features
Greg Shah wrote:
> Constantin/Marian: Can you please advise Igor on how he can test the behavior of @SCHEMA-MARSHAL@...
Marian Edu
04:36 AM Feature #6453: temp-table features
Marian Edu wrote:
> Igor Skornyakov wrote:
> > It looks that the problem with @WRITE-XMLSCHEMA@ for dynamic TEMP-TA...
Igor Skornyakov
04:34 AM Feature #6453: temp-table features
Igor Skornyakov wrote:
> It looks that the problem with @WRITE-XMLSCHEMA@ for dynamic TEMP-TABLE in FWD is that for ...
Marian Edu
04:25 AM Feature #6453: temp-table features
It looks that the problem with @WRITE-XMLSCHEMA@ for dynamic TEMP-TABLE in FWD is that for all fields of such table @... Igor Skornyakov
03:23 AM Feature #6453: temp-table features
Igor Skornyakov wrote:
> Igor Skornyakov wrote:
> > I've noticed a strange thing.
> > For some field data types (e...
Igor Skornyakov
04:24 PM Bug #6837: prevent unnecessary upper/rtrim injection in queries if the data type doesn't require it
Eric Faulhaber wrote:
> The insertion of @upper@ occurs at least during conversion, possibly at runtime. The inserti...
Ovidiu Maxiniuc
04:02 PM Bug #6837: prevent unnecessary upper/rtrim injection in queries if the data type doesn't require it
In some cases, we are using @upper@ and/or @rtrim@ in WHERE and ORDER BY clauses to adjust textual columns that don't... Eric Faulhaber
03:52 PM Bug #6837 (WIP): prevent unnecessary upper/rtrim injection in queries if the data type doesn't re...
Eric Faulhaber
10:12 AM Feature #6457: finish COPY-LOB support
Please provide the list of codepages/scenarios which need testing (and which you cannot test).
Marian: I think we ...
Greg Shah
09:58 AM Feature #6457: finish COPY-LOB support
> Is the testing issue caused by the virtual machine not having the needed codepages installed?
Some cases claim t...
Stanislav Lomany
09:29 AM Feature #6457: finish COPY-LOB support
> I cannot change -cpstream/-cpinternal parameters on a customer's VM either, so I cannot experiment with it.
Is ...
Greg Shah
09:16 AM Feature #6457: finish COPY-LOB support
I cannot change @-cpstream@/@-cpinternal@ parameters on a customer's VM either, so I cannot experiment with it.
Mor...
Stanislav Lomany

10/11/2022

05:00 PM Feature #6371: implement SAVE CACHE statement
Pushed revision 14113. Now it's going past @generateSchemaAst()@ call. I can't test further because of some misconfig... Boris Schegolev
03:45 PM Feature #6453: temp-table features
Ovidiu Maxiniuc wrote:
> Igor Skornyakov wrote:
> > It looks that the value of the @SCHEMA-MARSHAL@ attribute has n...
Greg Shah
03:01 PM Feature #6453: temp-table features
Igor Skornyakov wrote:
> I've noticed a strange thing.
> For some field data types (e.g. @datetime@, @recid@, @hand...
Igor Skornyakov
11:18 AM Feature #6453: temp-table features
Added COLUMN-CODEPAGE field attribute support (conversion and @WRITE-XMLSCHEMA@)
Committed to 6129a/14482.
Igor Skornyakov
12:29 PM Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
As a query can target multiple metadata (like tables, indexes, sequences), the cache needs to be notified to evict a... Constantin Asofiei
08:51 AM Bug #6835: deferred work for #6257
This task is meant to properly handle the root cause of #6257.
Eric/Ovidiu: Please document the issue and solution...
Greg Shah
08:50 AM Bug #6835 (New): deferred work for #6257
Greg Shah
08:50 AM Bug #6834: RAQ navigation on records having NULL values on same index components
This task is meant to properly handle the root cause of #6755.
Eric/Ovidiu: Please document the issue and solution...
Greg Shah
08:48 AM Bug #6834 (Closed): RAQ navigation on records having NULL values on same index components
Greg Shah
08:28 AM Bug #6767: Possible name clashes in DMO classes
Greg Shah wrote:
> Please post the final proposed patch.
Done @6767-full.diff@.
Vladimir Tsichevski
08:16 AM Bug #6767: Possible name clashes in DMO classes
Please post the final proposed patch. Greg Shah
08:07 AM Bug #6767 (Review): Possible name clashes in DMO classes
Vladimir Tsichevski wrote:
> UPD: this patch is probably causes some regressions like @org.postgresql.util.PSQLExcep...
Vladimir Tsichevski
08:05 AM Bug #6767: Possible name clashes in DMO classes
Some more changes needed, since some TRPL properties do not exist anymore, and the method call must be used now inste... Vladimir Tsichevski

10/10/2022

06:32 PM Bug #6767 (WIP): Possible name clashes in DMO classes
UPD: this patch is probably causes some regressions like @org.postgresql.util.PSQLException: ERROR: column wfnregio__... Vladimir Tsichevski
06:23 PM Bug #6767 (Review): Possible name clashes in DMO classes
Vladimir Tsichevski
06:23 PM Bug #6767 (WIP): Possible name clashes in DMO classes
Attached is the patch for this issue (@6767.diff@).
After this patch is applied, you will need to re-convert all c...
Vladimir Tsichevski
09:15 AM Bug #6767: Possible name clashes in DMO classes
Eric Faulhaber wrote:
> DMO getters/setters can be of the form:
>
> [...]
So, the following methods from the...
Vladimir Tsichevski
01:04 PM Feature #6453: temp-table features
Ovidiu Maxiniuc wrote:
> I think @rules/schema/fixups.xml@. See the other attributes are processed around lines 690....
Igor Skornyakov
12:49 PM Feature #6453: temp-table features
I think @rules/schema/fixups.xml@. See the other attributes are processed around lines 690. Ovidiu Maxiniuc
10:47 AM Feature #6453: temp-table features
I see that @KW_COL_CP@ AST (@COLUMN-CODEPAGE@) exists in .schema file but is missed in .p2o one.
What is the right p...
Igor Skornyakov
12:34 PM Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
The FWD-level cache of prepared statements in @TempTableDataSourceProvider@'s psCache will also keep statements relat... Constantin Asofiei
09:01 AM Feature #6582: implement multi-table AdaptiveQuery
I replaced H2 (fwd-h2/rev.6) with H2 PAGESTORE (fwd-h2/rev. 6) and H2 MVSTORE (2.1.214) in #6582-40. The previous res... Alexandru Lungu
07:41 AM Feature #6695: Multi-table preselect query may underperform due to repetitive fetching
I committed on 6582a, rev.14168. This change targets the improvement in performance regarding fetching for @Preselect... Radu Apetrii
05:44 AM Bug #6809 (Test): find current ... exclusive-lock no-wait. not working
Eric Faulhaber wrote:
> Fixed in 6129a/14477. Constantin, please review and test with the original application, if y...
Constantin Asofiei
02:24 AM Bug #6809 (Review): find current ... exclusive-lock no-wait. not working
Fixed in 6129a/14477. Constantin, please review and test with the original application, if you have a recreate beyond... Eric Faulhaber
05:30 AM Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
Other changes are in 3821c/14281:
* Avoid reflection when creating a new instance, in AnnotatedAst - added 'newInsta...
Constantin Asofiei
03:33 AM Feature #6830: find and fix all SQL SELECT statements with inlined literal arguments, and rewrite...
The task title mentions SELECT, but all kind of queries need to be checked/fixed: INSERT, UPDATE, DELETE. Constantin Asofiei
03:22 AM Feature #6830 (WIP): find and fix all SQL SELECT statements with inlined literal arguments, and r...
Alexandru Lungu
03:16 AM Bug #6301: incorrect initialization of date-related fields with today and now literals
Eric Faulhaber wrote:
> Alexandru, please take a look at @FastCopyHelper.getInitialValue@. This method is affected b...
Alexandru Lungu

10/09/2022

04:26 PM Bug #6301: incorrect initialization of date-related fields with today and now literals
Constantin Asofiei wrote:
> Eric, 3821c/14279 regresses some automated tests with this:
> [...]
Thanks for findi...
Eric Faulhaber
08:16 AM Bug #6301: incorrect initialization of date-related fields with today and now literals
Eric, 3821c/14279 regresses some automated tests with this:... Constantin Asofiei

10/08/2022

06:29 PM Bug #6809 (WIP): find current ... exclusive-lock no-wait. not working
Eric Faulhaber
06:26 PM Bug #6812: fix FastFindCache to use a shared instance per persistent database
Ovidiu Maxiniuc wrote:
> The factory makes sure the permanent databases use a commonly shared instance of @FastFindC...
Eric Faulhaber
06:06 PM Bug #6301 (Review): incorrect initialization of date-related fields with today and now literals
A fix is committed to 3821c/14279. I have tested with the above test case.
Ovidiu, please review.
Alexandru, pl...
Eric Faulhaber

10/07/2022

09:11 AM Support #6713: check if it is faster to use separate temp-table instances instead of multiplex id
I made tests for bulk delete and copy temp-table.
* *copy-temp-table-multiplex-{n}*, *copy-temp-table-no-multiplex-{...
Dănuț Filimon
07:13 AM Feature #6453: temp-table features
Constantin Asofiei wrote:
> > Fixed in 6129a/14474.
> Igor, you still have @lfi.getSerializeOptions(null).getXmlDat...
Igor Skornyakov
06:58 AM Feature #6453: temp-table features
Igor Skornyakov wrote:
> Ovidiu Maxiniuc wrote:
> > * @TableMapper@: I have not studied the new signatures (which u...
Constantin Asofiei
05:08 AM Feature #6453: temp-table features
Ovidiu Maxiniuc wrote:
> * @TableMapper@: I have not studied the new signatures (which use the new @TempTable@ param...
Igor Skornyakov
02:31 AM Feature #6453: temp-table features
Ovidiu Maxiniuc wrote:
> Review of 6129a/14473.
> * @AbstractTempTable@: shouldn't the last parameter of the 3131 e...
Igor Skornyakov
06:57 AM Feature #4011: database/persistence layer performance improvements
Constantin Asofiei wrote:
> I'm editing #4011-5 again, I'll comment when I'm done.
I've finished editing.
Constantin Asofiei
04:26 AM Feature #4011: database/persistence layer performance improvements
I'm editing #4011-5 again, I'll comment when I'm done. Constantin Asofiei
04:34 AM Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
As a side note: when executing some 60k H2 prepared statements, ~70% of the time is being spent in re-compiling the q... Constantin Asofiei
04:22 AM Bug #6829: H2 forces re-parse of all prepared statements when metadata is changed
In H2, there is this code in @org.h2.command.Prepared@:... Constantin Asofiei
04:18 AM Bug #6829 (Closed): H2 forces re-parse of all prepared statements when metadata is changed
Constantin Asofiei
04:30 AM Feature #6830: find and fix all SQL SELECT statements with inlined literal arguments, and rewrite...
This is mostly I think about multiplex ID being inlined instead of using an argument. The cases I found are:... Constantin Asofiei
04:28 AM Feature #6830 (Closed): find and fix all SQL SELECT statements with inlined literal arguments, an...
Constantin Asofiei
03:25 AM Feature #6457: finish COPY-LOB support
> Try setting the same value for all these cp parameters
Errors are the same for this case too.
Stanislav Lomany

10/06/2022

06:09 PM Feature #6453: temp-table features
Review of 6129a/14473.
* @AbstractTempTable@: shouldn't the last parameter of the 3131 error message be @LegacyResou...
Ovidiu Maxiniuc
02:48 PM Feature #6453: temp-table features
* Fixed issues with @WRITE-XMLSCHEMA@/@READ-XMLSCHEMA@ described in #6453-11 except the issue with @WRITE-XMLSCHEMA@ ... Igor Skornyakov
07:22 AM Feature #6453: temp-table features
Constantin Asofiei wrote:
> Igor, regarding the change in 6129a/14418 - are you sure PRIMARY defaults to the first d...
Igor Skornyakov
02:00 AM Feature #6453: temp-table features
Ovidiu Maxiniuc wrote:
> Igor Skornyakov wrote:
> > I see. Sorry. Will change back.
> > Please note however, that ...
Igor Skornyakov
04:49 PM Feature #6457: finish COPY-LOB support
I know, I had the same problems :(.
Try setting the same value for all these cp parameters, unless having them diffe...
Ovidiu Maxiniuc
03:51 PM Feature #6457: finish COPY-LOB support
Guys, I've been trying to experiment with @-cpstream@ and @-cpinternal@ parameters and found that when it comes to se... Stanislav Lomany
10:14 AM Support #6679: H2 general performance tuning
Committed hotel_gui/rev.252. I added the H2 performance tests to the Hotel GUI application.
Added a window with a ...
Dănuț Filimon
06:08 AM Feature #4011: database/persistence layer performance improvements
Constantin Asofiei wrote:
> I'm editing note #4011-5 to add other tasks. I'll comment when I'm done.
I've finished ...
Constantin Asofiei
02:12 AM Feature #4011: database/persistence layer performance improvements
I'm editing note #4011-5 to add other tasks. I'll comment when I'm done. Constantin Asofiei
05:23 AM Feature #6695: Multi-table preselect query may underperform due to repetitive fetching
There was a mistake in explanation on my part in the last post. In order to make this more clear, I will describe thi... Radu Apetrii
04:27 AM Feature #6825: improve table meta runtime (TableMapper and other)
Some changes are in 3821c/14272. Ovidiu, please review. Constantin Asofiei
03:37 AM Feature #6825: improve table meta runtime (TableMapper and other)
In TableMapper, because of some mutable state, a new LegacyTableInfo was being created for each buffer definition. T... Constantin Asofiei
03:35 AM Feature #6825 (WIP): improve table meta runtime (TableMapper and other)
Constantin Asofiei
04:26 AM Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
Some changes are in 3821c/14272. Greg, please review. Constantin Asofiei
02:12 AM Feature #6813: analyze and improve performance of dynamic conversion of temp-tables and queries
Parsing and TRPL rules are being executed for each dynamic query (at least the parsing/conversion of the query predic... Constantin Asofiei
02:10 AM Feature #6813 (WIP): analyze and improve performance of dynamic conversion of temp-tables and que...
Constantin Asofiei
03:25 AM Feature #6823: improve TemporaryBuffer/RecordBuffer define and buffer delete
For complex applications, with 1000s (or maybe 10k's) of buffer definitions in 100s of programs or legacy classes, th... Constantin Asofiei
03:23 AM Feature #6823 (New): improve TemporaryBuffer/RecordBuffer define and buffer delete
Constantin Asofiei
02:36 AM Feature #6816: improve PreselectQuery.assembleHQL
The code in PreselectQuery.assembleHQL appears in the profiler when testing very complex application APIs, in 6129a. ... Constantin Asofiei
02:26 AM Feature #6816 (Internal Test): improve PreselectQuery.assembleHQL
Constantin Asofiei
02:25 AM Feature #6815: configure all cache sizes in the directory, and create documentation for them
In 6129a, the prepared statement cache in TempTableDataSourceProvider is still configured to 100 - this was not enoug... Constantin Asofiei
02:24 AM Feature #6815 (Review): configure all cache sizes in the directory, and create documentation for ...
Constantin Asofiei
02:13 AM Support #6714 (WIP): check if there is an optimization opportunity when copying temp-tables based...
Alexandru Lungu
01:32 AM Bug #6812: fix FastFindCache to use a shared instance per persistent database
FastFindCache is now created for both temp-table and permanent databases. The problem is that for permanent (or meta,... Constantin Asofiei

10/05/2022

07:22 PM Bug #6812: fix FastFindCache to use a shared instance per persistent database
The factory makes sure the permanent databases use a commonly shared instance of @FastFindCache@ while for the temp-t... Ovidiu Maxiniuc
06:36 PM Bug #6812: fix FastFindCache to use a shared instance per persistent database
> FastFindCache looks like is only for temp-tables
It isn't used for permanent databases?
Greg Shah
04:11 PM Bug #6812: fix FastFindCache to use a shared instance per persistent database
Constantin Asofiei wrote:
> Eric, the FastFindCache looks like is only for temp-tables, and not other databases (lik...
Constantin Asofiei
04:09 PM Bug #6812: fix FastFindCache to use a shared instance per persistent database
Eric, the FastFindCache looks like is only for temp-tables, and not other databases (like meta). So my assumption is ... Constantin Asofiei
03:56 PM Bug #6812: fix FastFindCache to use a shared instance per persistent database
Eric Faulhaber wrote:
> ... or to have a separate cache for each database?
Good point. It needs to be per database...
Constantin Asofiei
03:07 PM Bug #6812: fix FastFindCache to use a shared instance per persistent database
Does it make more sense to qualify the table name with database name, or to have a separate cache for each database? Eric Faulhaber
02:59 PM Bug #6812: fix FastFindCache to use a shared instance per persistent database
We use @RecordIdentifier@ in @FastFindCache@ having the table identifier a simple string with the record's implementa... Constantin Asofiei
02:56 PM Bug #6812 (Internal Test): fix FastFindCache to use a shared instance per persistent database
Constantin Asofiei
07:16 PM Feature #6453: temp-table features
Igor Skornyakov wrote:
> I see. Sorry. Will change back.
> Please note however, that in my test the previous versio...
Ovidiu Maxiniuc
04:50 PM Feature #6453: temp-table features
Ovidiu Maxiniuc wrote:
> Just noticed an issue in @ErrorManager@ 6129a/14418.
> You fixed error message for error 3...
Igor Skornyakov
04:27 PM Feature #6453: temp-table features
Just noticed an issue in @ErrorManager@ 6129a/14418.
You fixed error message for error 3131 wrongly. There are tens ...
Ovidiu Maxiniuc
02:36 PM Feature #6453: temp-table features
The @codePage@ attribute of the @Property@ annotation is not populated in the generated DMO interface for the static ... Igor Skornyakov
12:52 PM Feature #6453: temp-table features
Ovidiu Maxiniuc wrote:
> Igor,
> Please do the test in all cases: the table was prepared or not, the index was set ...
Igor Skornyakov
12:49 PM Feature #6453: temp-table features
I've noticed a strange thing.
For some field data types (e.g. @datetime@, @recid@, @handle@ and @com-hangle@) in the...
Igor Skornyakov
12:45 PM Feature #6453: temp-table features
Igor,
Please do the test in all cases: the table was prepared or not, the index was set as primary or not. I do not ...
Ovidiu Maxiniuc
12:06 PM Feature #6453: temp-table features
Constantin Asofiei wrote:
> Igor, regarding the change in 6129a/14418 - are you sure PRIMARY defaults to the first d...
Igor Skornyakov
11:08 AM Feature #6453: temp-table features
Igor, regarding the change in 6129a/14418 - are you sure PRIMARY defaults to the first defined index, and not the fir... Constantin Asofiei
10:06 AM Feature #6453: temp-table features
I see multiple incompatibilities between FWD and 4GL in the @WRITE-XMLSCHEMA@ output.
In particular some @element@ a...
Igor Skornyakov
03:21 AM Feature #6453: temp-table features
Constantin Asofiei wrote:
> Igor/Eric/Ovidiu: we use the WRITE-XML and READ-XML behavior to serialize the payload bo...
Igor Skornyakov
02:45 AM Feature #6453: temp-table features
Igor/Eric/Ovidiu: we use the WRITE-XML and READ-XML behavior to serialize the payload both for read and write, for XM... Constantin Asofiei
02:21 PM Bug #6703: loading schema table DMO interface with no defined fields
My point was that the records exited in the original table and we need to have a table in FWD/SQL with same (well, eq... Ovidiu Maxiniuc
02:17 PM Bug #6703: loading schema table DMO interface with no defined fields
Ovidiu, I tested loading a .d for a table with no fields in the Data Administration, in OpenEdge:
* created a no-fie...
Constantin Asofiei
02:03 PM Bug #6703: loading schema table DMO interface with no defined fields
Eric Faulhaber wrote:
> Ovidiu Maxiniuc wrote:
> > * @Persister.java@: to avoid @ArrayIndexOutOfBoundsException@ wh...
Ovidiu Maxiniuc
11:08 AM Bug #6810 (Review): NPE in PreselectQuery.assembleFromClause
This test:... Constantin Asofiei
10:54 AM Bug #6810 (Review): NPE in PreselectQuery.assembleFromClause
Constantin Asofiei
09:48 AM Bug #6809: find current ... exclusive-lock no-wait. not working
This needs to be fixed in 6129a Constantin Asofiei
09:32 AM Bug #6809: find current ... exclusive-lock no-wait. not working
The recreate is this, using to FWD clients:
* run first program @b1.p@ - do not press any key:...
Constantin Asofiei
09:29 AM Bug #6809 (Test): find current ... exclusive-lock no-wait. not working
Constantin Asofiei
07:43 AM Feature #6582: implement multi-table AdaptiveQuery
In my effort to seek optimizing methods for our in-memory H2, I took some time to analyze some in-memory (eventually ... Alexandru Lungu

10/04/2022

04:29 PM Feature #6453: temp-table features
Ovidiu Maxiniuc wrote:
> As a first observation, I agree with Eric's note #6453-24: FWD is quite a large project, it...
Igor Skornyakov
04:25 PM Feature #6453: temp-table features
As a first observation, I agree with Eric's note #6453-24: FWD is quite a large project, it has 200+ dependencies (ja... Ovidiu Maxiniuc
04:00 PM Feature #6453: temp-table features
Greg Shah wrote:
> Also note that sometimes it is harder to meet specific 4GL compatibility requirements using 3rd p...
Igor Skornyakov
03:48 PM Feature #6453: temp-table features
Also note that sometimes it is harder to meet specific 4GL compatibility requirements using 3rd party libraries that ... Greg Shah
02:21 PM Feature #6453: temp-table features
Eric Faulhaber wrote:
> I agree with most of your points, except the performance assumption in your first point (and...
Igor Skornyakov
02:13 PM Feature #6453: temp-table features
Igor Skornyakov wrote:
> I undestand this. My points is
> * for this particular piece of functionality performan...
Eric Faulhaber
01:52 PM Feature #6453: temp-table features
Eric Faulhaber wrote:
> We are very careful about introducing new dependencies into the project and in fact we are s...
Igor Skornyakov
01:36 PM Feature #6453: temp-table features
We are very careful about introducing new dependencies into the project and in fact we are striving to simplify by re... Eric Faulhaber
01:14 PM Feature #6453: temp-table features
Igor Skornyakov wrote:
> Don't you think that instead of manual implementtation it makes sense to use some open-sour...
Igor Skornyakov
12:05 PM Feature #6453: temp-table features
It is easy to fix FWD to add index data to the @WRITE-XMLSCHEMA@ output. All we need is no comment @!this.isSchemaOnl... Igor Skornyakov
02:38 PM Bug #6767: Possible name clashes in DMO classes
Vladimir Tsichevski wrote:
> Eric Faulhaber wrote:
> > To clarify the task, we need to work through all superinterf...
Eric Faulhaber
11:31 AM Feature #6347: change the name conversion to provide a configurable option to not emit "snake case"
Eric Faulhaber wrote:
> Constantin Asofiei wrote:
> > Eric, I'm placing this back to WIP as this prevents 6129a to ...
Constantin Asofiei
11:07 AM Feature #6347: change the name conversion to provide a configurable option to not emit "snake case"
Constantin Asofiei wrote:
> Eric, I'm placing this back to WIP as this prevents 6129a to be tested with other projec...
Eric Faulhaber
10:55 AM Feature #6695: Multi-table preselect query may underperform due to repetitive fetching
Radu, please help me understand this better (perhaps it will make more sense to me when I review the update).
My c...
Eric Faulhaber
05:26 AM Feature #6695: Multi-table preselect query may underperform due to repetitive fetching
After some analysis, I have identified a spot in @PreselectQuery@ where things could be optimized. The problem was as... Radu Apetrii

10/03/2022

01:48 PM Feature #6453: temp-table features
Ovidiu Maxiniuc wrote:
> I implemented this using the reference manual and tested on real customer application. The ...
Igor Skornyakov
01:36 PM Feature #6453: temp-table features
Igor Skornyakov wrote:
> It looks that the value of the @SCHEMA-MARSHAL@ attribute has no effect on the @WRITE-XMLSC...
Ovidiu Maxiniuc
01:03 PM Feature #6453: temp-table features
Igor Skornyakov wrote:
> Actually there are minor incompatibilities:
> # The initial value of th @PRIMARY@ attribut...
Igor Skornyakov
11:53 AM Feature #6453: temp-table features
Igor Skornyakov wrote:
> Ovidiu Maxiniuc wrote:
>
> > OTOH, the PRIMARY attribute lacks both both conversion and ...
Igor Skornyakov
11:32 AM Feature #6453: temp-table features
Ovidiu Maxiniuc wrote:
> OTOH, the PRIMARY attribute lacks both both conversion and runtime support. The good news...
Igor Skornyakov
11:10 AM Feature #6453: temp-table features
Igor Skornyakov wrote:
> It looks that the value of the @SCHEMA-MARSHAL@ attribute has no effect on the @WRITE-XMLSC...
Igor Skornyakov
05:53 AM Feature #6453: temp-table features
It looks that the value of the @SCHEMA-MARSHAL@ attribute has no effect on the @WRITE-XMLSCHEMA@ output (both for 4GL... Igor Skornyakov
03:48 AM Feature #6453: temp-table features
Eric Faulhaber wrote:
> Agreed, but adding missing functionality is highest priority; if fixing any of these items l...
Igor Skornyakov
03:30 AM Feature #6453: temp-table features
Agreed, but adding missing functionality is highest priority; if fixing any of these items looks to be particularly t... Eric Faulhaber
03:33 AM Feature #6371: implement SAVE CACHE statement
I have committed revision 14112, which fixes the NPE and refactors the code for this feature out of @DatabaseManager@... Eric Faulhaber

10/02/2022

04:36 PM Feature #6453: temp-table features
> As I've mentioned in #6453-10 the issues mentioned above formally do not related to the scope of this task. Should ... Greg Shah
12:21 PM Feature #6453: temp-table features
I've re-worked the test program to use all possible data types and all possible TEMP-TABLE Field options, and noticed... Igor Skornyakov

09/30/2022

04:23 PM Feature #6371: implement SAVE CACHE statement
Eric Faulhaber wrote:
> One question: is @attribute@ always synonymous with a column?
I introduced constants to...
Boris Schegolev
10:57 AM Feature #6371: implement SAVE CACHE statement
Thanks for the fixes in 14110. The last known state for my very simple database looks like this persisted:... Eric Faulhaber
06:45 AM Feature #6371: implement SAVE CACHE statement
I reverted all Class Loader modifications. We'll have to get back to that later.
Also, I reimplemented and tested ...
Boris Schegolev
02:16 AM Feature #6371: implement SAVE CACHE statement
Boris Schegolev wrote:
> I pushed several fixes for the comments above:
>
> * SchemaComparator file access synchr...
Eric Faulhaber
01:40 PM Feature #6453: temp-table features
I've noticed a number of discrepancies between 4GL and FWD for @READ-XMLSCHEMA@/@WRITE-XMLSCHEMA@/@READ-XML@/@WRITE-X... Igor Skornyakov
07:51 AM Support #6679: H2 general performance tuning
I am currently working on integrating a 4GL code test into Hotel GUI project. The test consists of simple operations ... Dănuț Filimon
04:42 AM Feature #6582: implement multi-table AdaptiveQuery
Greg Shah wrote:
> Are all of the tests written for this in 4GL code? Can the testing be easily replicated by other...
Alexandru Lungu

09/29/2022

04:27 PM Feature #6371: implement SAVE CACHE statement
I pushed several fixes for the comments above:
* SchemaComparator file access synchronization
* ClassLoader del...
Boris Schegolev
10:51 AM Feature #6371: implement SAVE CACHE statement
Boris Schegolev wrote:
> BTW, what database are you connected to? MySQL, Postgres, ...?
So far, I've only tested ...
Eric Faulhaber
06:37 AM Feature #6371: implement SAVE CACHE statement
I pushed a fix for the NPE as revision 14108.
As for the flow, the intended use goes like this:
# @saveInitialS...
Boris Schegolev
04:28 AM Feature #6371: implement SAVE CACHE statement
BTW, what database are you connected to? MySQL, Postgres, ...? Boris Schegolev
04:24 AM Feature #6371: implement SAVE CACHE statement
Eric Faulhaber wrote:
> The problem is that we are trying to get all index info for all tables, but that API doesn...
Boris Schegolev
02:28 AM Feature #6371: implement SAVE CACHE statement
I've made changes to @SchemaComparator@, mostly formatting to match our coding standards, and some functional to get ... Eric Faulhaber
03:52 PM Feature #6720: lazy hydration
> If we are to lazily hydrate records, any column data which was not loaded in the initial hydration pass will have t... Greg Shah
08:24 AM Feature #6582: implement multi-table AdaptiveQuery
> either the conversion should generate multi-table AdaptiveQuery only for persistent tables
I think we should be...
Greg Shah
08:20 AM Feature #6582: implement multi-table AdaptiveQuery
Are all of the tests written for this in 4GL code? Can the testing be easily replicated by others in the future? I'... Greg Shah
06:07 AM Feature #6582: implement multi-table AdaptiveQuery
I've done some tests with H2 2.1.214 an there is no improvement with the query plan (especially for cross joins).
...
Alexandru Lungu

09/28/2022

05:53 PM Feature #6371: implement SAVE CACHE statement
FYI, I am making major changes to @SchemaComparator@. Please do not modify this class until I check it in. Eric Faulhaber
02:06 AM Feature #6371: implement SAVE CACHE statement
I reverted rev 14106 locally because it breaks the singleton contract of @AsmClassLoader@ and thus breaks server star... Eric Faulhaber
07:11 AM Feature #6582: implement multi-table AdaptiveQuery

|_\13. Iterate all records with NEXT |
|_\2. Test |_\2. 4GL temporary ...
Alexandru Lungu

09/27/2022

12:35 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Eric Faulhaber wrote:
> Igor, how did you ultimately deal with the error handler (@initError@, @checkError@, etc.)? ...
Igor Skornyakov
11:17 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Igor, how did you ultimately deal with the error handler (@initError@, @checkError@, etc.)? Do any test cases in your... Eric Faulhaber
09:45 AM Feature #6582: implement multi-table AdaptiveQuery
I updated the table from #6582-33 with 8 new multi-table queries which are often used in large applications:
* *rang...
Alexandru Lungu

09/26/2022

03:03 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Testing MariaDB UDFs with UNKNOWN arguments/values, finished.
Committed to 6129a/14414 (except @where_clause_pre_p...
Igor Skornyakov
08:05 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Nice catch!
The fix from #6628-153 should be enough. When HQL/FQL are parsed, the LPARENS of the functions are drop...
Ovidiu Maxiniuc

09/24/2022

05:30 AM Feature #6582: implement multi-table AdaptiveQuery

|_\13. Iterate all records with NEXT |
|_\2. Test |_\2. 4GL temporary ...
Alexandru Lungu

09/23/2022

02:24 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
That if end of the switch is... Igor Skornyakov
02:07 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Eric Faulhaber wrote:
> You need the data type of an argument to a UDF, where the argument itself is a UDF, correct?...
Igor Skornyakov
01:47 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
You need the data type of an argument to a UDF, where the argument itself is a UDF, correct?
Two questions:
* L...
Eric Faulhaber
01:24 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Eric Faulhaber wrote:
> Wouldn't
>
> [...]
>
> be more reliable?
@case FUNCTION@ already exists.
Igor Skornyakov
01:03 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Wouldn't... Eric Faulhaber
12:58 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Igor Skornyakov wrote:
> I've temporary restored rev. 13138 changes to @where_clause_pre_prep.rules@ to run compatib...
Igor Skornyakov
11:11 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
I've temporary restored rev. 13138 changes to @where_clause_pre_prep.rules@ to run compatibility tests with nullable ... Igor Skornyakov
01:34 PM Feature #6371: implement SAVE CACHE statement
I implemented class unloading through delegates as was suggested in TODO in @AsmClassLoader@.
The code is in 6371a...
Boris Schegolev
09:48 AM Support #6713: check if it is faster to use separate temp-table instances instead of multiplex id
I made a set of tests for multiplex and no-multiplex using indexes.
The tests have the following specifications:
...
Dănuț Filimon

09/22/2022

03:31 PM Feature #6371: implement SAVE CACHE statement
Eric Faulhaber wrote:
> the @ClassLoader@ itself had to be garbage collected
That is correct. We can re-instantia...
Boris Schegolev
03:26 PM Feature #6371: implement SAVE CACHE statement
Boris Schegolev wrote:
> Class unloading is done (unless I missed something). Unloading the class from JVM itself is...
Eric Faulhaber
03:16 PM Feature #6371: implement SAVE CACHE statement
Class unloading is done (unless I missed something). Unloading the class from JVM itself is only done by the Garbage ... Boris Schegolev
11:05 AM Bug #6767: Possible name clashes in DMO classes
Here is the list of matching by name methods:... Vladimir Tsichevski
10:16 AM Bug #6767: Possible name clashes in DMO classes
Eric Faulhaber wrote:
> To clarify the task, we need to work through all superinterfaces of the @persist.Buffer@ int...
Vladimir Tsichevski
10:11 AM Feature #6582: implement multi-table AdaptiveQuery
I've done the same tests for persistent tables and updated #6582-30.
For persistent tables, multi-table @AdaptiveQue...
Alexandru Lungu

09/21/2022

02:01 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Fixed trimming UDFs string arguments for MariaDB.
Committed to 6191a/14412.
All compatibility tests except ones h...
Igor Skornyakov
10:50 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Greg Shah wrote:
> Isn't this just a consequence of the (currently) broken compatibility of using varchar as a datat...
Igor Skornyakov
10:41 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Isn't this just a consequence of the (currently) broken compatibility of using varchar as a datatype for MariaDB? Greg Shah
10:39 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
I've experienced the #4551-310 again (the compatibility test for @lengthof@ fails because of the argument trimming).... Igor Skornyakov
12:11 PM Feature #6457: finish COPY-LOB support
Stanislav Lomany wrote:
> Do you have any idea what and how 4GL produces?
Try launching the 4GL using @-cpinternal ...
Ovidiu Maxiniuc
01:45 AM Feature #6457: finish COPY-LOB support
Stanislav, looking at the @14844588@ value, in hex is e282ac. See this: https://community.progress.com/s/article/P18... Constantin Asofiei
11:10 AM Feature #6582: implement multi-table AdaptiveQuery
I've prepared a consistent set of tests, but it seems only some are actually finished in a reasonable time.
|_\2. ...
Alexandru Lungu
04:25 AM Feature #6582: implement multi-table AdaptiveQuery
I am close to an end with #6582-27. Only some use cases are left to clear off. Note that I updated #6582-27 to reflec... Alexandru Lungu

09/20/2022

07:24 PM Feature #6457 (WIP): finish COPY-LOB support
Guys, I don't quite understand how 4GL produces output. Consider the following UTF-16 output example:... Stanislav Lomany
04:21 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Greg Shah wrote:
> It would be best to avoid such code in our testcases. If you really need something platform spec...
Igor Skornyakov
03:56 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
It would be best to avoid such code in our testcases. If you really need something platform specific, then have a ve... Greg Shah
03:30 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Ovidiu Maxiniuc wrote:
> Set the OS of the sources in @cfg/p2j.cfg.xml@:
> [...]or[...]
Thank you, Ovidiu.
It h...
Igor Skornyakov
03:25 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Set the OS of the sources in @cfg/p2j.cfg.xml@:... Ovidiu Maxiniuc
12:54 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Ovidiu Maxiniuc wrote:
> Igor Skornyakov wrote:
> > A string literal @'a1b123*\{}()1'@ is converted to @new charact...
Igor Skornyakov
12:38 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Igor Skornyakov wrote:
> A string literal @'a1b123*\{}()1'@ is converted to @new character("a1b123*{}()1")@. What I'...
Ovidiu Maxiniuc
05:44 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
The compatibility test for @matches@ fails for a strange reason.
A string literal @'a1b123*\{}()1'@ is converted to ...
Igor Skornyakov
03:50 PM Feature #6371: implement SAVE CACHE statement
I got rid of TODOs in the code and followed some of suggestions above (naming). The new code now only has a TODO for ... Boris Schegolev
11:29 AM Feature #6582: implement multi-table AdaptiveQuery
What can you see in terms of the impact of this refactoring on performance so far, if anything? Eric Faulhaber

09/19/2022

06:43 PM Bug #6767: Possible name clashes in DMO classes
To clarify the task, we need to work through all superinterfaces of the @persist.Buffer@ interface, along with all th... Eric Faulhaber
09:03 AM Bug #6767: Possible name clashes in DMO classes
In DMO classes, getter and setter names are created automatically by conversion, based on the field names which are a... Vladimir Tsichevski
08:12 AM Bug #6767 (Review): Possible name clashes in DMO classes
Vladimir Tsichevski
03:15 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Fixed injection of session attributes' values into UDF calls for MariaDB.
Committed to 6129a/14407.
Igor Skornyakov
03:09 PM Bug #6703: loading schema table DMO interface with no defined fields
Ovidiu Maxiniuc wrote:
> Constantin, I reviewed it and your fix in 6129a/14273 seems logical.
>
> I also added tw...
Eric Faulhaber

09/18/2022

05:32 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
More about collation.
At this moment @import.db@ creates MariaDB database with @DEFAULT CHARACTER SET utf8mb4 DEFAUL...
Igor Skornyakov

09/17/2022

09:04 AM Bug #6766 (WIP): before-table options not inherited from the after-table (like NO-UNDO, SHARED, etc)
At least the NO-UNDO options needs to be inherited by the before-table, if is set at the after-table.
The other of...
Constantin Asofiei
09:02 AM Bug #6766 (WIP): before-table options not inherited from the after-table (like NO-UNDO, SHARED, etc)
Constantin Asofiei
05:22 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Ovidiu Maxiniuc wrote:
> Igor Skornyakov wrote:
> > Adding @indexof(text, text, boolean)@ and @lookup(text, text, b...
Igor Skornyakov
09:40 PM Feature #6348: implement support for MariaDB
I have committed r14399/6129a. It contains improved compatibility for sorting NULL high for MariaDb.
Note that, Mari...
Ovidiu Maxiniuc

09/16/2022

05:30 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Igor Skornyakov wrote:
> Adding @indexof(text, text, boolean)@ and @lookup(text, text, boolean)@ to @Functions@ fixe...
Ovidiu Maxiniuc
11:09 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Igor Skornyakov wrote:
> It looks that we have problems with conversion of case-sensitive fields for MariaDB. We nee...
Igor Skornyakov
10:59 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
It looks that we have problems with conversion of case-sensitive fields for MariaDB. We need to specify case-sensitiv... Igor Skornyakov
05:15 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Igor Skornyakov wrote:
> Igor Skornyakov wrote:
> > There is a problem with creation of @SQLWarning@ with MariaDB. ...
Igor Skornyakov
04:48 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Igor Skornyakov wrote:
> There is a problem with creation of @SQLWarning@ with MariaDB. Unlike PostgreSQL @RAISE NOT...
Igor Skornyakov
09:48 AM Support #6713: check if it is faster to use separate temp-table instances instead of multiplex id
Alexandru Lungu wrote:
> Please consider several "abstract" testcases (eventually with etime) which can show clear t...
Dănuț Filimon
08:36 AM Feature #6418: represent extent fields as arrays
The above is my opinion. Eric makes the final decision here. Greg Shah
08:36 AM Feature #6418: represent extent fields as arrays
Some things to note:
* Customers hate normalized mode. We should simplify the runtime and get rid of it since the...
Greg Shah
05:16 AM Feature #6418: represent extent fields as arrays
A few updates:
* I've tested the correctness of results regarding denormalized extent fields. Out of 108 tests that ...
Radu Apetrii
05:12 AM Feature #6695 (WIP): Multi-table preselect query may underperform due to repetitive fetching
Alexandru Lungu
02:26 AM Feature #6371: implement SAVE CACHE statement
Boris Schegolev wrote:
> In the latest version (6371a/14102) I removed dependency on @DynamicTablesHelper@ completel...
Eric Faulhaber

09/15/2022

05:21 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
I see two problems which I've already seen with native PostgreSQL UDFs:
# We have to use @eq@, @ne@, @le@, ... UDFs...
Igor Skornyakov
05:23 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Igor Skornyakov wrote:
> what is *not* registered are @indexOf@ and @lookup@ for signatures @[TEXT, TEXT, BOOLEAN]@ ...
Igor Skornyakov
05:01 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
I consistently see the following log entries at the end of my UDFs' compatibility test:... Igor Skornyakov
04:21 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Ovidiu Maxiniuc wrote:
> I do not understand. There is nothing particular to those functions. I did a quick test and...
Igor Skornyakov
03:43 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Igor Skornyakov wrote:
> I will take a closer look tomorrow.
Using a debugger with a breakpoint in the @FqlToSq...
Igor Skornyakov
04:55 PM Feature #6371: implement SAVE CACHE statement
If (better said 'when') we will be able to cache the DMO generated classes we will surely have a boost for the startu... Ovidiu Maxiniuc
04:22 PM Feature #6371: implement SAVE CACHE statement
In the latest version (6371a/14102) I removed dependency on @DynamicTablesHelper@ completely. The code compiles, but ... Boris Schegolev
01:24 PM Bug #6699 (WIP): TemporaryBuffer$Multiplexer memory leak in global block
There is still a leak in the @TransactionManager$WorkArea.globalBlock.finalizables@. Constantin Asofiei
07:54 AM Feature #6763 (Rejected): implement configurable sizes (in the directory) for FastFindCache and O...
Greg Shah

09/14/2022

03:33 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
Ovidiu Maxiniuc wrote:
> I do not understand. There is nothing particular to those functions. I did a quick test and...
Igor Skornyakov
03:29 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
I do not understand. There is nothing particular to those functions. I did a quick test and the functions are correct... Ovidiu Maxiniuc
02:35 PM Feature #6628: port PostgreSQL native user defined functions to MariaDB
In the converted queries there are no 'signature suffix' for @indexOf@ and @lookup@.
Ovidiu, I undestand that the ...
Igor Skornyakov
05:08 AM Feature #6628: port PostgreSQL native user defined functions to MariaDB
There is a problem with creation of @SQLWarning@ with MariaDB. Unlike PostgreSQL @RAISE NOTICE@, @SIGNAL SQLSTATE '01... Igor Skornyakov
11:29 AM Support #6713: check if it is faster to use separate temp-table instances instead of multiplex id
Please consider several "abstract" testcases (eventually with @etime@) which can show clear time differences in diffe... Alexandru Lungu
11:12 AM Feature #6582: implement multi-table AdaptiveQuery
I committed 6582a/rev. 14164 including all the latest changes done to increase stability of the multi-table @Adaptive... Alexandru Lungu
 

Also available in: Atom