Project

General

Profile

Activity

From 09/23/2013 to 10/22/2013

10/22/2013

07:26 PM User Interface Feature #1787: implement batch mode support
Constantin, what do you mean here:
> what happens with error messages generated by certain statements/functions/me...
Eugenie Lyzenko
03:51 PM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
If I correctly understand the last case is "Async requests: PROCEDURE-COMPLETE event". How to test it without AppServ... Vadim Gindin
03:22 PM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
another portion of tests
1. before trigger, inside trigger and after trigger....
Vadim Gindin
08:45 AM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
I ran scripts exactly in this way as Constantin wrote earlier. Vadim Gindin
02:18 PM Database Feature #2116: add runtime support for _user metadata table
Code Review 1022a
The changes are fine. The only thing I see is that it seems the SessionListener notification in...
Greg Shah
01:18 PM Database Feature #2116: add runtime support for _user metadata table
Greg, thanks for your quick review. It was much easier fr me to find those issues.
As you probably observed, update ...
Ovidiu Maxiniuc
07:14 AM Database Feature #2116: add runtime support for _user metadata table
Code Review 1021a
Overall, this is really good. It is very close to what we need.
1. It seems that we can drop...
Greg Shah
08:30 PM Database Feature #2116: add runtime support for _user metadata table
Code review 20131021a (database-related only):
Generally looks good from the database side, though you need to mer...
Eric Faulhaber
01:19 PM Database Feature #2120: add runtime support for dynamically prepared queries
I am OK with this approach. Greg Shah
11:14 AM Database Feature #2120: add runtime support for dynamically prepared queries
Greg, thanks, is much more clear now. Please confirm the following approach is good. At this time, there are two plac... Constantin Asofiei
10:32 AM Database Feature #2120: add runtime support for dynamically prepared queries
> The handle.unwrap[hwrap] API referenced by the hwrap var in methods_attributes.rules is not hard-linked with the in... Greg Shah
09:57 AM Database Feature #2120: add runtime support for dynamically prepared queries
> Code Review 1021c
> 1. It seems like the methods_attributes.rules change should have hwrap as DynamicResource not ...
Constantin Asofiei
08:51 AM Database Feature #2120: add runtime support for dynamically prepared queries
Code Review 1021g
1. I prefer the enable/disable of conditional rule-set processing to be done at the PatternEngin...
Greg Shah
08:40 AM Database Feature #2120: add runtime support for dynamically prepared queries
Code Review 1021f
I am fine with the change to brew.xml. Eric will have to review the rest.
Greg Shah
08:38 AM Database Feature #2120: add runtime support for dynamically prepared queries
Code Review 1021c
1. It seems like the methods_attributes.rules change should have hwrap as DynamicResource not Dy...
Greg Shah
08:16 AM Database Feature #2120: add runtime support for dynamically prepared queries
1021g.zip (legacy index annotations), 1021f.zip (conditional rule-sets) and 1021c.zip (DYNAMIC attribute support) ha... Constantin Asofiei
08:06 AM Database Feature #2120: add runtime support for dynamically prepared queries
Stanislav Lomany wrote:
> Constantin, in order to generate UNIQUE-ID for static temp-tables, their creation should b...
Constantin Asofiei
06:33 AM Database Feature #2120: add runtime support for dynamically prepared queries
> I need just the TEMP-TABLE:UNIQUE-ID attribute and the TempTableBuilder.persistentClass to be implemented for stati... Stanislav Lomany

10/21/2013

04:24 PM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
Vadim Gindin wrote:
> So you were right. But at this moment I don't understand why the "choose" event is so specific...
Constantin Asofiei
04:17 PM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
Developer events specific test.... Vadim Gindin
04:08 PM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
ENDKEY,END-ERROR test:... Vadim Gindin
04:01 PM Database Feature #2120: add runtime support for dynamically prepared queries
1021g.zip is replacement for 1021d.zip (legacy index annotations); changes:
* fix bug to ignore synthetic indexes
*...
Constantin Asofiei
09:25 AM Database Feature #2120: add runtime support for dynamically prepared queries
Attached update adds legacy index annotations at the DMO implementation classes. This and the info provided by the DM... Constantin Asofiei
08:38 AM Database Feature #2120: add runtime support for dynamically prepared queries
> currently, the entire annotations/base_structure/core_conversion rulesets are ran, but I will try to limit this to ... Greg Shah
08:13 AM Database Feature #2120: add runtime support for dynamically prepared queries
Yes, good point. Sorry, haven't had my morning coffee yet. <g> Eric Faulhaber
08:07 AM Database Feature #2120: add runtime support for dynamically prepared queries
Eric, the same problem with the legacy temp-table name: temp-table information is not in the legacy metadata tables; ... Constantin Asofiei
08:05 AM Database Feature #2120: add runtime support for dynamically prepared queries
I should have thought of this earlier: I am regression testing metadata support (#2115), which includes the @_Index@ ... Eric Faulhaber
07:50 AM Database Feature #2120: add runtime support for dynamically prepared queries
Eric Faulhaber wrote:
> ... we already have a lot of knowledge of index information in the runtime via the IndexHel...
Constantin Asofiei
07:35 AM Database Feature #2120: add runtime support for dynamically prepared queries
Adds @DYNANIC@ attribute support; main rules are:
# static resources can't be deleted
# for static widget case, an ...
Constantin Asofiei
02:30 AM Database Feature #2120: add runtime support for dynamically prepared queries
> AFAIK, we do not support temp-table handles, so I guess it will not come with the very first version.
The dynamic ...
Constantin Asofiei
02:21 AM Database Feature #2120: add runtime support for dynamically prepared queries
> 5. the support for the @DYNAMIC@ attribute needs to be fixed, as this attribute is for more than one resource (curr... Stanislav Lomany
09:03 PM Database Feature #2120: add runtime support for dynamically prepared queries
Constantin Asofiei wrote:
> following test does convert and produces valid output
> [...]
Very cool!
> need to ...
Eric Faulhaber
01:59 PM Database Feature #2116: add runtime support for _user metadata table
I have moved the processing of _user from *.java into TRPL. While reviewing the changes I found a solution to have th... Ovidiu Maxiniuc
07:57 AM Database Feature #2116: add runtime support for _user metadata table
Ovidiu Maxiniuc wrote:
> Hardcoding the table name, _userid and _password fields are necessary because they need to ...
Eric Faulhaber
06:39 AM Database Feature #2116: add runtime support for _user metadata table
Hardcoding the table name, _userid and _password fields are necessary because they need to be accessed in a special w... Ovidiu Maxiniuc
03:51 AM Base Language Feature #1641: implement SAX XML support
Evgeny, following is my review. The main concerns are about abstracting the sax reading and writing, to not write cod... Constantin Asofiei
09:17 PM Base Language Feature #1641: implement SAX XML support
First drop for review:
1) SaxAttributes is close to finish version, there are some not important TODOs
2) SaxEntity...
Evgeny Kiselev
02:45 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Attached update is merged with 10402 and committed to bzr revision 10403. Constantin Asofiei
08:43 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
This update looks fine to me. Please go ahead and commit/distribute it. Eric Faulhaber

10/20/2013

05:04 PM Base Language Bug #2183 (WIP): fix resource save/restoration when used with string/handle functions
Hynek Cihlar
03:21 PM User Interface Feature #1787: implement batch mode support
The linvdev01 shows the same behavior as 4GL on Winodws:... Eugenie Lyzenko
03:12 PM User Interface Feature #1787: implement batch mode support
> By "the program silently finishes" do you mean that no code after the PAUSE is executed?
No I mean the program e...
Eugenie Lyzenko
02:52 PM User Interface Feature #1787: implement batch mode support
> The only exception from this rule currently found id the PAUSE statement. In this case there is no error message an... Constantin Asofiei
02:28 PM User Interface Feature #1787: implement batch mode support
Basically I moved not far as expected taking into account additional time I had to spend to finish the CAN-QUERY/CAN-... Eugenie Lyzenko
01:11 PM User Interface Feature #1787: implement batch mode support
Please provide an update on your findings so far. I would also like to know how much more time you expect to need to... Greg Shah
02:31 PM Database Feature #2120: add runtime support for dynamically prepared queries
Some notes on my current status (Stanislav/Greg/Eric, please check the questions):
# following test does convert and...
Constantin Asofiei
02:06 PM Base Language Feature #2013: implement the SELF system handle
> Perhaps just the NullWidget stuff is open?
Yes, only the NullWidget usage remains to be removed.
Constantin Asofiei
01:47 PM Base Language Feature #2013: implement the SELF system handle
What is left to do on this task? I think your recent work with async events/sockets probably filled most of the gaps... Greg Shah
01:55 PM User Interface Feature #2020 (WIP): runtime support for LAST-EVENT system handle and associated attributes
Greg Shah
01:40 PM Base Language Feature #2041: implement runtime support for "shared" attributes that are just stubbed
The BUFFER-FIELD implementation of COLUMN-LABEL, DATA-TYPE, FORMAT and LABEL will be handled in other tasks that are ... Greg Shah
01:09 PM User Interface Feature #1522 (WIP): Jetty Upgrade
Greg Shah
01:08 PM User Interface Feature #1526: integrate the new version into P2J
See src/com/goldencode/p2j/main/WebServer.java which is the core of where we handle our Jetty integration. Take the ... Greg Shah
01:02 PM User Interface Feature #1525: submit patches upstream (if the patches are still needed)
If we still need our custom patch, then it should be formatted/prepared to submit upstream. Greg Shah
12:59 PM User Interface Feature #1524: merge existing patches if necessary
As noted in #1523, we will use Jetty 9.1 as the target version.
The previous patch can be found in p2j at lib/jett...
Greg Shah
12:54 PM User Interface Feature #1523 (Closed): select appropriate version as the upgrade target
Since this task was originally conceived, Jetty development has moved forward considerably, as have Javascript and Ja... Greg Shah
12:09 PM Base Language Feature #1781 (Closed): add missing support for the WIDGET-HANDLE builtin function
Greg Shah

10/19/2013

03:46 AM Database Feature #2141: generate SQL Server schema
> Finally, tc_job_clock_002 passed and I think issue passes regression.
Yes, exactly.
Eugenie Lyzenko
03:39 AM Database Feature #2141: generate SQL Server schema
Finally, tc_job_clock_002 passed and I think issue passes regression. Vadim Nebogatov
03:39 AM Database Feature #2141: generate SQL Server schema
Regression 20131018_172945, 5 FAILED tests:
1. tc_job_002 FAILED failure in step 40: 'Unexpected EOF in actual at ...
Vadim Nebogatov
01:32 AM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
Vadim Gindin wrote:
> I wrote several tests.
> 1. widget events and key events, apply statement
> ...
> Apply sta...
Constantin Asofiei

10/18/2013

06:09 PM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
need advice. Vadim Gindin
05:39 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Committed to p2j_repo as revision 10401. Hynek Cihlar
12:56 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Check it in and distribute it. Greg Shah
12:46 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Regression tests passed. Hynek Cihlar
04:10 PM Database Feature #2141: generate SQL Server schema
Regression 20131018_102350, 3 FAILED tests:
1. tc_job_002 FAILED failure in step 40: 'Unexpected EOF in actual at ...
Vadim Nebogatov
09:45 PM Database Feature #2141: generate SQL Server schema
Vadim Nebogatov wrote:
> Start regression one more time?
Might as well, but please also work with Eugenie in the me...
Eric Faulhaber
02:48 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Second run of CTRL-C testing for 1018a.zip was OK. Constantin Asofiei
01:25 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Attached update completes the legacy annotations at the DMO implementation class. See #2195 for the MAJIC changes.
...
Constantin Asofiei
02:01 PM Base Language Feature #1634: implement full native library (.so or DLL) support
Loading/Unloading
# No loading of a library occurs until a RUN statement is executed which matches a PROCEDURE EXT...
Greg Shah
12:24 PM Base Language Feature #1634: implement full native library (.so or DLL) support
After a long effort of writing testcases, I have enough results to have sufficient understanding of how the native li... Greg Shah
01:03 PM Database Feature #2115: add runtime support for _file and _field metadata tables
This is an interim drop of my implementation of this feature. It has failed regression testing so far, but contains s... Eric Faulhaber
12:59 PM Database Feature #2116: add runtime support for _user metadata table
Code review 20131014a (database-related):
* Other than to avoid collisions with Java and SQL reserved keywords, le...
Eric Faulhaber
08:52 AM Base Language Feature #1646 (Closed): implement BASE64-ENCODE/BASE64-DECODE built-in functions
Greg Shah
04:44 AM Base Language Feature #1641: implement SAX XML support
I think there is a good chance that the progress documentation is wrong; although the code passes, I couldn't find a ... Constantin Asofiei

10/17/2013

07:32 PM Base Language Feature #1641: implement SAX XML support
what means in documentation @A CHARACTER or LONGCHAR expression evaluating to the value of the attribute.@ for exampl... Evgeny Kiselev
06:52 PM Database Feature #2141: generate SQL Server schema
Start regression one more time? Vadim Nebogatov
12:55 PM Database Feature #2141: generate SQL Server schema
Regression 20131017_034322, 9 FAILED and 3 FAILED_DEPENDENCY tests:
1. gso_491 FAILED failure in step 15: 'timeout ...
Vadim Nebogatov
05:32 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I'm sorry, I forgot..
It passed regression testing.
Vadim Gindin
02:12 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
What is the status of regression testing? (I know the answer but you were supposed to post it here so there is docum... Greg Shah
01:32 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
committed to bzr. Revision 10399. Vadim Gindin
05:26 PM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
I wrote several tests.
1. widget events and key events, apply statement...
Vadim Gindin
05:04 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Yes, I forgot to mention that the regression test is in progress. Hynek Cihlar
05:02 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
It looks good. Please conversion regression test this. Greg Shah
04:52 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Built-in functions ordered alphabetically, see the attached hc_upd20131017a.zip. Hynek Cihlar
02:54 PM Database Feature #2116: add runtime support for _user metadata table
> Then I thought - at connection time there is only one session per queue so let's try enriching the SessionListener ... Greg Shah
02:10 PM Database Feature #2116: add runtime support for _user metadata table
> I'm thinking that the SecurityManager should be completely disabled if database authorization is in charge.
I do...
Greg Shah
01:07 PM Database Feature #2116: add runtime support for _user metadata table
Greg Shah wrote:
> If I understand the issue properly, you need to do some processing at the end of Conversation.run...
Ovidiu Maxiniuc
12:24 PM Database Feature #2116: add runtime support for _user metadata table
Sorry, I fail to understand some of the notes above.
I'm thinking that the @SecurityManager@ should be completely di...
Ovidiu Maxiniuc
02:36 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Committed to bzr as 10400. Eugenie Lyzenko
02:14 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Go ahead. Greg Shah
01:54 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> Runtime testing is enough.
The runtime testing has been passed. The results can be found at 10398_4e69e3d_201310...
Eugenie Lyzenko
01:08 PM Database Feature #2120: add runtime support for dynamically prepared queries
> Stanislav, is there a specific reason why you chose to explicitly store objects rather than build something generic... Stanislav Lomany
11:42 AM Database Feature #2120: add runtime support for dynamically prepared queries
Stanislav, is there a specific reason why you chose to explicitly store objects rather than build something generic i... Constantin Asofiei
08:54 AM Database Feature #2120: add runtime support for dynamically prepared queries
The 2nd approach (in-memory compilation of real java code, like with the dynamic DMOs) is the one that I believe is t... Greg Shah
08:12 AM Database Feature #2120: add runtime support for dynamically prepared queries
About extracting the query instance from a generated JavaAST. The current approach is to parse a 4GL code like @OPEN ... Constantin Asofiei
08:56 AM Database Feature #2134: configurable denormalization of extent fields into individual fields in schema con...
The requirements of this task have changed somewhat.
The change will no longer take place on an all or nothing bas...
Eric Faulhaber
01:31 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> * It's been a long time since I was in this code, but shouldn't the call to @TableMapper.removeTemporaryTables@ in ... Constantin Asofiei
11:12 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Code review 20131016b:
This update looks quite good, but I have a few questions:
* It's been a long time since ...
Eric Faulhaber

10/16/2013

03:49 PM Database Feature #2116: add runtime support for _user metadata table
If I understand the issue properly, you need to do some processing at the end of Conversation.run() when the session'... Greg Shah
02:10 PM Database Feature #2116: add runtime support for _user metadata table
I am working on these changes, but only one question remains:
* in the case that metadata authentication is success...
Ovidiu Maxiniuc
12:19 PM Database Feature #2116: add runtime support for _user metadata table
> in order to store database-level userid/password a per-user structure need to be added in directory. In a non-scope... Greg Shah
11:36 AM Database Feature #2116: add runtime support for _user metadata table
Greg Shah wrote:
> Although I like the database authentication to be isolated in its own methods as much as possible...
Ovidiu Maxiniuc
10:09 AM Database Feature #2116: add runtime support for _user metadata table
> The problem is that I need the authenticated userids for each database at runtime, in the context of the client. Th... Greg Shah
07:21 AM Database Feature #2116: add runtime support for _user metadata table
Greg Shah wrote:
> Code Review 1014a
>
> Eric will handle all the database/persistence portions (conversion and r...
Ovidiu Maxiniuc
12:02 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Constantin Asofiei wrote:
> Please let me know if you see something wrong in my reasoning above (and an initial revi...
Eric Faulhaber
11:07 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
LE: actually, for parsing the prepare query string, I need the legacy buffer name, not the legacy temp-table name. An... Constantin Asofiei
10:54 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Greg Shah wrote:
> There must be a place in the generated business logic where we access the DMO implementation clas...
Constantin Asofiei
09:43 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
There must be a place in the generated business logic where we access the DMO implementation class for the temp-table... Greg Shah
09:10 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Greg,
> I prefer to keep a common/shared temp-table class where it is structurally possible, as this is a much bette...
Constantin Asofiei
08:26 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> If a dynamic buffer is created in an inner scope, and then used to change data in an arbitrary, "middle" scope (i.e... Stanislav Lomany
08:24 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> And if we want to be completely perfect, we should convert temp tables which have the names in different cases to d... Greg Shah
06:26 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Stanislav, some notes on TempTableBuilder getters for various attributes; i.e. @TempTableBuilder.uniqueId@ is defined... Constantin Asofiei
06:06 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> Now I even can't start server:
Please comment line 223 in ORMHandler (to disable mappings for permanent DBs) until...
Constantin Asofiei
06:01 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
There are massive changes in TableMapper. Is that right table mapper? Stanislav Lomany
06:00 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Now I even can't start server:... Stanislav Lomany
05:09 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Stanislav Lomany wrote:
> > Remove the @get@, @set@ or @is@ prefixes (so there is no way to conflict with a DMO gett...
Constantin Asofiei
05:02 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> Remove the @get@, @set@ or @is@ prefixes (so there is no way to conflict with a DMO getter or setter).
And if we h...
Stanislav Lomany
04:47 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
PS: the NPE is fixed, but I need to finish the annotations for the hand-written DMOs in MAJIC. Will post this later t... Constantin Asofiei
04:08 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> Constantin, how the new names should look like?
Remove the @get@, @set@ or @is@ prefixes (so there is no way to co...
Constantin Asofiei
03:48 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> Stanislav, while you are working on dynamic buffers, I think is a good opportunity to rename get and set methods ac... Stanislav Lomany
11:59 AM User Interface Bug #2193: message with view-as alert-box visual errors when using special characters
1. First problem is wrong visual effects that appears when we use @message "somestr" view-as alert-box@ statement. Th... Vadim Gindin
11:51 AM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Sorry, I should have seen this other thing before: all entries in builtin_functions.rules should be in alphabetical o... Greg Shah
11:28 AM Base Language Feature #1781 (Review): add missing support for the WIDGET-HANDLE builtin function
Resolved the issues from review.
Attached hc_upd20131016a.zip with p2j changes and hc_upd20131016b.zip with testcas...
Hynek Cihlar
10:58 AM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Code Review 1012a
1. The testcases should not be in the same update zip.
2. There should not be a p2j/ director...
Greg Shah
10:37 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Runtime testing is enough. Greg Shah
10:36 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> It looks good. Get it tested.
Will the runtime regression be enough or we need conversion testing too?
Eugenie Lyzenko
10:14 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
It looks good. Get it tested.
Also, please make sure you add the additional Redmine task to make a more complete ...
Greg Shah
09:54 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
1. Moved package private static calls to @date@ class.
2. Modified @DatetimeFormat@ class to reflect the change in 1...
Eugenie Lyzenko
09:18 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
>
> > 2. If I understand correctly, I think it is the date version of these which needs to be package private:
Cor...
Constantin Asofiei
09:07 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> 1. LogicalTerminal.getHeightChars(), getWidthChars(),getHeightPixels(), getWidthPixels() have had their annotations... Eugenie Lyzenko
08:20 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Code Review 1015a
1. LogicalTerminal.getHeightChars(), getWidthChars(),getHeightPixels(), getWidthPixels() have ha...
Greg Shah
05:55 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The minor changes and fix for SessionUtils.java have been uploaded. Eugenie Lyzenko
02:11 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Eugenie, please do the following changes:
* HandleOps - needs history enry
* LegacyAtribute - change history entry to...
Constantin Asofiei
09:44 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
1. and 2. - Done. The new update has been uploaded. In addition to the testcases.
However one question I have face...
Eugenie Lyzenko
05:48 AM Database Feature #2120: add runtime support for dynamically prepared queries
Related to note 8 - see the discussion in notes 20-36 in #1654. Summary: TableMapper was added to map legacy names fo... Constantin Asofiei
09:53 PM Base Language Feature #2194: Creating testcases to check legacy attributes for resources used in CAN-QUERY/CAN-...
The goal is to provide the 4GL code that is able to check all possible resource/attribute pair for correct result wit... Eugenie Lyzenko
09:48 PM Base Language Feature #2194 (New): Creating testcases to check legacy attributes for resources used in CAN-QUER...
Eugenie Lyzenko

10/15/2013

06:56 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Code Review 1014b
I am OK with these changes. Get them regression tested.
> May be I just didn't understand yo...
Greg Shah
06:51 PM Database Feature #2116: add runtime support for _user metadata table
Code Review 1014a
Eric will handle all the database/persistence portions (conversion and runtime).
In regard to...
Greg Shah
06:24 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Code Review 1014a
1. Please change "belonged" to "ignore". Of course, the meaning of the boolean is reversed in t...
Greg Shah
04:50 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The new update uploaded for review.
1. Adding separation for static annotations by belonged() member of the Legacy...
Eugenie Lyzenko
01:15 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> If you re-look the HandleOps code for canQuery/canSet wrappers you will find the code that handles this case:
As l...
Constantin Asofiei
12:52 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> BTW, there is another bug in the code: canQuery/canSet must check if the handle is unknown; in this case these meth... Eugenie Lyzenko
02:50 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
It's a little more complicated than this. Some session handles (like LAST-EVENT, SESSION, etc) are implemented via st... Constantin Asofiei
04:37 PM Base Language Bug #2183: fix resource save/restoration when used with string/handle functions
The random 64-bit value is acceptable for now. The 4GL apps have so many other security holes that it isn't worth sp... Greg Shah
04:33 PM Base Language Bug #2183: fix resource save/restoration when used with string/handle functions
#1781-15
_Also, for security purposes, we should not make the resource ID algorithm a simple sequence. It should be ...
Hynek Cihlar
02:04 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
This update contains the following:
# conversion rules to emit annotations at DMO impl class and DMO properties
# r...
Constantin Asofiei
12:56 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Stanislav Lomany wrote:
> In its outermost scope the buffer should be
> 1. registered as finalizable
> 2. added to ...
Eric Faulhaber
08:09 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
In 4GL, an external program can end up with two temp-tables with the same name (exposed via handles).
* Program 1 de...
Constantin Asofiei
01:01 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Review request.
The attached changes implement all the points except for the improvements in resource ID allocatio...
Hynek Cihlar
12:22 PM Database Feature #2141: generate SQL Server schema
Regression 20131015_061357
A lot (20+) failed ts_tests, all related with timeout. I think something happened and I...
Vadim Nebogatov

10/14/2013

04:33 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
One example. Consider the FORMAT attribute for LAST-EVENT resource.
The handle constructed for this resource will ...
Eugenie Lyzenko
10:48 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> May be the current interfaces class tree does not properly reflect the resource dependency? Don't we need to change... Constantin Asofiei
10:34 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> Looks like there is a case I've overlooked: for CommonLastEvent interface (defining the LAST-EVENT resource in P2J)... Eugenie Lyzenko
04:18 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I made a corrections and attached an archive.
About LogicalTerminal and ThinClient I want to say following.
1. ...
Vadim Gindin
09:41 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Code Review 1014a
1. DynamicOps and TextOps are both missing a history entry.
2. This code in @if(type == null)...
Greg Shah
06:44 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I've made proposed corrections. It was enough to make my test case working. Here is and archive. Vadim Gindin
02:52 PM Database Feature #2024 (WIP): implement runtime support for database triggers
Ovidiu Maxiniuc
02:42 PM Database Feature #2141: generate SQL Server schema
Sorry, silly question, I should have looked at the timestamps. Times seem OK.
Perhaps your last run will resolve t...
Eric Faulhaber
02:04 PM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> What time of day (i.e., devsrv01 time -- EDT) did you run the harness?
Regression 20131...
Vadim Nebogatov
01:47 PM Database Feature #2141: generate SQL Server schema
What time of day (i.e., devsrv01 time -- EDT) did you run the harness? Eric Faulhaber
01:42 PM Database Feature #2141: generate SQL Server schema
I have executed regression two times.
Regression @20131013_090710@, 3 FAILED tests:
1. tc_job_002 FAILED failur...
Vadim Nebogatov
12:45 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
OK.
One more request: for the API, let's use @getDMOName@ instead of @javaName@ and @getPropertyName@ instead of @...
Eric Faulhaber
12:43 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> One minor change is that I think we need to store the legacy buffer name in @RecordBuffer@ instead of @BufferImpl@.... Constantin Asofiei
12:38 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
I agree with this proposed approach. One minor change is that I think we need to store the legacy buffer name in @Rec... Eric Faulhaber
12:08 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> What would the code look like which would use these annotations at runtime?
What I'm thinking is to have several ma...
Constantin Asofiei
11:38 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Interesting idea. This would obviate the need for the @_new-name@ field in @_file@ and @_field@. What would the code ... Eric Faulhaber
11:26 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> > I'm thinking if it would not be easier using annotations at the DMO interface definition; from these, we could bu... Constantin Asofiei
11:04 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Constantin Asofiei wrote:
> I don't think _file can be easily used for temp-tables, as I won't be able to do a "sele...
Eric Faulhaber
10:36 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> @MetaSchema@ will give you access to this lookup in both directions.
Thanks, this is good news.

> Now, Progres...
Constantin Asofiei
10:15 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Constantin Asofiei wrote:
> As I understand, the temp-tables will not be mapped by @MetaSchema@; thus, how do we obt...
Eric Faulhaber
09:46 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
I'll let Eric respond on the MetaSchema questions.
> Beside this, SchemaDictionary must implement Scopeable too, t...
Greg Shah
09:01 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> We would like to integrate the dynamic-temp table state information as much as possible with the @SchemaDictionary@... Constantin Asofiei
07:18 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Stanislav, while you are working on dynamic buffers, I think is a good opportunity to rename get and set methods acce... Constantin Asofiei
12:06 PM Database Feature #2116: add runtime support for _user metadata table
This update includes:
* generation of meta_user table within the other normal schemas
* when importing a database d...
Ovidiu Maxiniuc
05:20 AM Database Feature #2116: add runtime support for _user metadata table
Indeed, the database/p2j_test from my directory.xml was wrong, it contained the following entries:... Ovidiu Maxiniuc
11:18 AM User Interface Bug #2193: message with view-as alert-box visual errors when using special characters
Here is the problem test.... Vadim Gindin
08:16 AM User Interface Bug #2193 (New): message with view-as alert-box visual errors when using special characters
Vadim Gindin

10/12/2013

03:38 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Looks like there is a case I've overlooked: for @CommonLastEvent@ interface (defining the LAST-EVENT resource in P2J)... Constantin Asofiei
03:08 PM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
Greg Shah wrote:
> Constantin: what are your thoughts on what we need to investigate?
We should check all kind of e...
Constantin Asofiei
10:18 AM Database Feature #2141: generate SQL Server schema
I have attached update vmn_upd20131012a.zip and corresponding cfg and dll files in vmn_upd20131012b.zip.
Update cor...
Vadim Nebogatov
06:31 AM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> I'm just curious: what is the @SelectedMethod=Cursor@ parameter in the database URL for (@ge...
Vadim Nebogatov
12:07 AM Database Feature #2116: add runtime support for _user metadata table
Wait, why are you using @TempTableConnectionProvider@ for those other connected databases? This sounds like a configu... Eric Faulhaber

10/11/2013

05:16 PM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
Constantin: what are your thoughts on what we need to investigate? Greg Shah
05:15 PM User Interface Feature #1782: implement LAST-EVENT system handle and associated attributes
For now all we need to focus on is the LAST-EVENT:LABEL runtime support. Greg Shah
05:10 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
> For this function the converted code is DynamicOps.length(str) and during execution it goes to TextOps.length(Text... Greg Shah
03:50 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Greg Shah wrote:
> Code Review 1010a
> [...]
> 4. In LogicalTerminal, why do this:
>
> [...]
>
> As far as I...
Vadim Gindin
12:41 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Interesting... I'll try.
Here is the progress procedure I wroted about....
Vadim Gindin
12:34 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
OK, do implement the support for your current findings.
> There is no error, mentioned in the old comment.
I th...
Greg Shah
11:42 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
There is the old comment in the @SecurityOps.base64Encode@ method: ... Vadim Gindin
10:12 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
> How to create memptr with negative size?
Search for REAL_LOWER_BOUND in memptr.java. The short story: in Progre...
Greg Shah
09:30 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
How to create memptr with negative size? I tried to call @set-size(..)=-100@ but it didn't work. After this call the ... Vadim Gindin
04:21 PM Database Feature #2116: add runtime support for _user metadata table
Meanwhile I tried to connect to different database servers using different dialects (one PSQL, one H2).
I was expect...
Ovidiu Maxiniuc
03:40 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
OK, please let me know if you see some obvious flaws in the rest of the plan. Stanislav Lomany
03:07 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Sorry I missed that detail in my review. This is a good question, and after speaking with Greg, I am shifting my opin... Eric Faulhaber
01:42 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> I am a bit confused by this comment. @MetaSchema@ will have schema information, basically the equivalent for temp-t... Stanislav Lomany
12:37 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Stanislav Lomany wrote:
> Determination of the outermost scope for a temp-table is the task for MetaSchema, it canno...
Eric Faulhaber
08:12 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Let's forget for a second about persistent procedures and widget pools. For normal processing, as I said earlier, a d... Stanislav Lomany
10:39 AM User Interface Bug #2192: built-in functions without parameters are displayed only once
I don't know if this bug is manifested in the current project or not, but I'm setting a target version, so we don't l... Eric Faulhaber
09:56 PM Database Feature #2141: generate SQL Server schema
Code review 20131006:
Nice work.
I'm just curious: what is the @SelectedMethod=Cursor@ parameter in the databas...
Eric Faulhaber

10/10/2013

04:02 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I will make additional testing to answer these questions. Vadim Gindin
02:09 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Code Review 1010a
1. Is this todo in base64Encode() still valid?...
Greg Shah
01:37 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I switched to java7, implemented "skip" operator support for a message statement including message truncating. By the... Vadim Gindin
03:43 PM User Interface Feature #1787: implement batch mode support
> interactive 4GL feature - You mean for example the data field that updated by the user interaction in usual process... Greg Shah
02:48 PM User Interface Feature #1787: implement batch mode support
> The purpose of this task is to duplicate those features of the 4GL that are enabled when the 4GL client is started ... Eugenie Lyzenko
11:53 AM User Interface Bug #2192: built-in functions without parameters are displayed only once
When P2J displays the expressions formed by only one no-args built-in functions multiple times within the same frame ... Ovidiu Maxiniuc
11:40 AM User Interface Bug #2192 (New): built-in functions without parameters are displayed only once
Ovidiu Maxiniuc
11:41 AM Base Language Feature #2074 (Closed): add CAN-QUERY() and CAN-SET() support
Greg Shah
11:39 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The testcases update. Committed in bzr as 1035. Eugenie Lyzenko
11:14 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
1010b has been committed as 10398. Eugenie Lyzenko
10:54 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
It looks good. Check it in and distribute it. Greg Shah
10:27 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> This should be the last change for this task.
The new drop fixes the HANDLE attribute issue. The approach does n...
Eugenie Lyzenko
09:30 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Code Review 1010a
I am OK with the changes.
> OK. I'll work on solution.
This should be the last change for ...
Greg Shah
09:11 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
This update includes additional fix for ERROR attribute in temp-table. The TempTable.java class has been modified ins... Eugenie Lyzenko
07:52 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Code Review 1009d
I am fine with all the changes.
Greg Shah
07:46 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> 2. TEMP-TABLE resource should be Errorable. Otherwise we have no support for ERROR rw attribute.
Yes, please fix...
Greg Shah
08:03 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> 2. TEMP-TABLE resource should be Errorable. Otherwise we have no support for ERROR rw attribute.
This issue can ...
Eugenie Lyzenko
10:49 AM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
I've committed the missed file PrinterStream. New rev is 10397. Vadim Gindin
10:15 AM Base Language Feature #1631 (Closed): implement support for LANDSCAPE/PORTRAIT in I/O statements
The update did pass regression testing. Greg Shah
09:54 AM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
I've checked in the last update (vig_upd20130924b.zip). Revision number is 10396. Vadim Gindin
10:16 AM Base Language Feature #2010 (Closed): runtime support for LANDSCAPE/PORTRAIT I/O options
Greg Shah
09:03 AM Database Feature #2116: add runtime support for _user metadata table
Another difference I thought of is that when we connect to multiple databases in regression testing, both have the sa... Eric Faulhaber
08:49 AM Database Feature #2116: add runtime support for _user metadata table
Thanks for the clarification. So, are you saying the above stack trace was generated from the query running against @... Eric Faulhaber
03:41 AM Database Feature #2116: add runtime support for _user metadata table
I will investigate the @JdbcKeyRetriever@, I did not see any flaw in @DatabaseManager.getDatabaseTables(Database)@.
...
Ovidiu Maxiniuc

10/09/2013

04:20 PM Database Feature #2116: add runtime support for _user metadata table
This query doesn't look correct. Why are we accessing tables from different databases in the same query? Perhaps a bu... Eric Faulhaber
02:25 PM Database Feature #2116: add runtime support for _user metadata table
The customer is using simultaneous connection to databases "common" and "<db_name>".
I have done today some research...
Ovidiu Maxiniuc
02:58 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The uploaded drop also fixes the issue with missed annotations for SCHEMA-LOCATION and SCHEMA-PATH in x-document reso... Eugenie Lyzenko
12:20 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The new update for your review. It fixes almost all deviations in getting annotation. The root cause was the getLegac... Eugenie Lyzenko
10:48 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The update evl_upd20131009b.zip has been committed in bzr as 10395. Eugenie Lyzenko
10:13 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> 1. Please add javadoc for the name and setter members of LegacyAttribute.java.
>
> 2. Please add javadoc for the...
Eugenie Lyzenko
08:44 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Eugenie, be aware there is a known case to convert badly in P2J: @h = temp-table tt1:handle@ (getting the handle of a... Constantin Asofiei
08:42 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
After you have checked in your changes, you can continue the debugging. Since these changes affect so many files, I ... Greg Shah
08:39 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Code Review 1009a
1. Please add javadoc for the name and setter members of LegacyAttribute.java.
2. Please add ...
Greg Shah
08:27 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
OK, please work your way through the debugging and report your findings here.
> It can be both CAN-SET/CAN-QUERY i...
Greg Shah
08:12 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> There are many deviations. Are these problems with our CAN-SET/CAN-QUERY implementation or is it some other issue?
...
Eugenie Lyzenko

10/08/2013

07:19 PM Base Language Feature #1641: implement SAX XML support
Greg Shah wrote:
> When do you expect to have a first version for review?
First version for review will be availabl...
Evgeny Kiselev
05:37 AM Base Language Feature #1641: implement SAX XML support
When do you expect to have a first version for review? Greg Shah
05:52 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> I don't understand what SetExp of yes and no mean.
SetExp is Setter Expected
yes - means the attribute should...
Eugenie Lyzenko
05:30 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Please do merge and then re-run the tests.
> Also note in INI file some resources has "?" as SetExp value. This m...
Greg Shah
04:31 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The testcases refresh contains change for can_qset_test1.p to be able to run on 4GL Linux/Windows. For some reasons I... Eugenie Lyzenko
02:10 PM Database Feature #2120: add runtime support for dynamically prepared queries
Don't know why I forgot the SymbolResolver is backed by the SchemaDictionary for temp-table stuff; with this in mind,... Constantin Asofiei
01:53 PM Database Feature #2120: add runtime support for dynamically prepared queries
Interesting results. These are good limitations as they greatly reduce the possible functionality.
> temp-table d...
Greg Shah
01:41 PM Database Feature #2120: add runtime support for dynamically prepared queries
Some initial thoughts on this: the documentation (and practice) shows that for a prepared query string:
# it follows ...
Constantin Asofiei
08:29 AM Database Feature #2120: add runtime support for dynamically prepared queries
I wrote:
> optimization of conversion resources into a queued service (i.e., to prevent one instance of SchemaDictio...
Eric Faulhaber
08:57 AM Database Feature #2116: add runtime support for _user metadata table
>> 2. Why is there a <node class="container" name="bogus"> container in your example directory structure?
>
> Yes, ...
Greg Shah
08:46 AM Database Feature #1651: add support for dynamic database features
To clarify:
# We are not going to use a binary implementation of TRPL for our first implementation.
# We don't wa...
Greg Shah
08:34 AM Database Feature #1651: add support for dynamic database features
Note that any use of conversion features at runtime will require the use of existing or new conversion rule-sets and ... Eric Faulhaber
05:36 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
This command can be used to display and change the default JDK:... Greg Shah
04:52 AM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
About @CREATE BUFFER@ and implicit resource deletion in general. I've tested using these two programs:
# a program wh...
Constantin Asofiei
02:25 AM Database Feature #1654 (WIP): add conversion and runtime support for dynamic buffer creation and cleanup
Stanislav Lomany

10/07/2013

06:12 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
Stas, while you're in this code, please move all the @public static@ variants of @RecordBuffer.create@ where they bel... Eric Faulhaber
02:16 PM Database Feature #1654: add conversion and runtime support for dynamic buffer creation and cleanup
> Right now I'm trying to figure out how a dynamic buffer should be handled in the scopes outer to the point where th... Greg Shah
06:08 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I got the compile error after update: Category cannot be resolved or is not a field ... Vadim Gindin
03:44 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Please make sure your p2j project is updated to the latest version in bzr. In my version of ErrorManager, the method... Greg Shah
03:30 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Greg Shah wrote:
..
>
> Have you tried the version as @ErrorManager.recordOrShowError(12119, ERROR_12119, false, ...
Vadim Gindin
09:17 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
> what the method BDT.generateUnknown() needed for?
It is used when you have an instance of a BDT and it can be an...
Greg Shah
09:14 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Greg Shah wrote:
> Code Review 1003a
..
> 3. As far as I know, @new longchar()@ does already yield an unknown long...
Vadim Gindin
03:49 PM Database Feature #2116: add runtime support for _user metadata table
Greg Shah wrote:
> 1. Your "implements UserSecurityOps" needs to be on its own line (in 2 files).
I believe this is...
Ovidiu Maxiniuc
01:37 PM Database Feature #2141: generate SQL Server schema
I guess the 2-character difference in the "usable" portion of the key is attributable to extra overhead caused by the... Eric Faulhaber
12:29 PM Database Feature #2141: generate SQL Server schema
Test: ... Vadim Nebogatov
09:32 AM Database Feature #2141: generate SQL Server schema
If I understand correctly, this is good news. I was not aware of this limit in Progress.
Vadim, please put togethe...
Eric Faulhaber
06:59 AM Database Feature #2141: generate SQL Server schema
It's very possible that I'm misunderstanding the issue, but isn't the MS SQL server limit less restrictive than the c... Paul E
04:37 AM Database Feature #2141: generate SQL Server schema
Corrected vmn_upd20131006a and added vmn_upd20131006b with uast (p2j.cfg.xml and all generated ddls). Vadim Nebogatov
08:25 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> The INI file and captured 4GL log should also be committed in bzr. Correct?
Yes.
Greg Shah
05:25 AM Base Language Feature #1612: finish SESSION system handle support
Attached testcases for the high-priority attributes/methods. Constantin Asofiei

10/06/2013

05:21 PM Database Feature #2141: generate SQL Server schema
I have attached update vmn_upd20131006a.zip and corresponding tested dll files. Update corresponds to latest bzr revi... Vadim Nebogatov
04:55 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
>... When it is working in the 4GL, go ahead and check it in to the testcases project.
The INI file and captured 4...
Eugenie Lyzenko
03:35 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Good work. I like the approach. When it is working in the 4GL, go ahead and check it in to the testcases project.
...
Greg Shah
03:29 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The testcases has been added. Consider the test can_qset_test1.p. It takes the data from file, create respective reso... Eugenie Lyzenko
09:52 AM Base Language Feature #1612: finish SESSION system handle support
The remaining work for this task is not needed until M12 so it has been re-assigned to that milestone. A sub-task to... Greg Shah
09:50 AM Base Language Feature #2004 (Closed): runtime support for SESSION handle
Greg Shah

10/05/2013

09:15 AM Base Language Feature #1612: finish SESSION system handle support
1004d.zip was comitted to bzr revision 10394. Constantin Asofiei

10/04/2013

06:29 PM Database Feature #2141: generate SQL Server schema
Eric, Greg,
Yes, this expression is wrong because second parameter in @replace()@ is the substring to be found, not...
Vadim Nebogatov
08:34 AM Database Feature #2141: generate SQL Server schema
> We want to right-trim ANY whitespace character (i.e., '\t', '\n', '\r') which appears after the last non-whitespace... Greg Shah
07:45 AM Database Feature #2141: generate SQL Server schema
Please clarify something for me. I should have asked this earlier, but I just noticed it now:... Eric Faulhaber
05:26 AM Database Feature #2141: generate SQL Server schema
Attached updated ddl files. Vadim Nebogatov
05:07 AM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> Does this mean a row will not be inserted into the table if it exceeds these limitations of ...
Vadim Nebogatov
04:27 PM Database Feature #2116: add runtime support for _user metadata table
Code Review 1004a
I'm only reviewing the util/ and security/ changes. Eric will handle the persistence stuff (run...
Greg Shah
02:47 PM Database Feature #2116: add runtime support for _user metadata table
When importing the _User table, the implementation searches for the @_User.d@ and @pwds.txt@ files at the same locati... Ovidiu Maxiniuc
01:43 PM Database Feature #2116: add runtime support for _user metadata table
I attached the latest sources. I hope the above note and comments from code will help understand the implementation. ... Ovidiu Maxiniuc
03:53 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Code Review 1003a
1. The SecurityOps.ERROR_12119 and SecurityOps.PAD members need javadoc.
2. There should be...
Greg Shah
03:44 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
> Progress docs says that '\' is not escape symbol for Progress. It's only escape symbol for Unix and it's a path sep... Greg Shah
02:08 PM Base Language Feature #1612: finish SESSION system handle support
Code Review 1004d
I'm OK with this. Check it in if it passes testing.
Greg Shah
11:54 AM Base Language Feature #1612: finish SESSION system handle support
> 1. ClientParameters copyright date should be 2013 instead of 2005-2013.
Fixed
>
> 2. The javadoc in ClientParam...
Constantin Asofiei
11:28 AM Base Language Feature #1612: finish SESSION system handle support
Code Review 1004c
1. ClientParameters copyright date should be 2013 instead of 2005-2013.
2. The javadoc in Cli...
Greg Shah
10:14 AM Base Language Feature #1612: finish SESSION system handle support
This is built on top of rev 10393 and on top of 1002d. Adds support for these attributes:... Constantin Asofiei
09:59 AM Base Language Feature #1612: finish SESSION system handle support
> If the client is running a GUI driver, it should set the most common value (I'm not sure what it is). We can check... Constantin Asofiei
09:28 AM Base Language Feature #1612: finish SESSION system handle support
> We should relax this, and allow it to be configured via a "client:driver:window-system" setting.
I'm OK with thi...
Greg Shah
09:22 AM Base Language Feature #1612: finish SESSION system handle support
Greg Shah wrote:
> > from where does the client initially read the WINDOW-SYSTEM value?
>
> At startup, the clie...
Constantin Asofiei
07:40 AM Base Language Feature #1612: finish SESSION system handle support
This version was committed to bzr revision 10393. Contains a change related to @unknown()@ API which still needs to b... Constantin Asofiei
10:13 AM Database Feature #2125: add runtime support for dynamic buffer creation and cleanup
Stanislav: please double-check the FIRST-BUFFER parameter (I will release an update for it soon), to make sure is imp... Constantin Asofiei
07:14 AM User Interface Feature #2191: complete support for determining resource type for BROWSE columns
The 4GL documentation states that @LegacyResource.BROWSE_COLUMN@ type is used only when "-browcoltype" parameter is u... Constantin Asofiei
07:11 AM User Interface Feature #2191 (New): complete support for determining resource type for BROWSE columns
Constantin Asofiei

10/03/2013

07:43 PM Database Feature #2141: generate SQL Server schema
Does this mean a row will not be inserted into the table if it exceeds these limitations of the index, or that the in... Eric Faulhaber
04:45 PM Database Feature #2141: generate SQL Server schema
Series of warnings if map to varchar(8000) ... Vadim Nebogatov
02:37 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Here are results of additional testing and the first code for review.
1. Slashes.
Progress docs says that '\' is ...
Vadim Gindin
11:51 AM Base Language Feature #1612: finish SESSION system handle support
Code Review 1003c
Really good! The only feedback I have is that I would like you to add a Redmine task to describ...
Greg Shah
10:47 AM Base Language Feature #1612: finish SESSION system handle support
This is for the LegacyResource and ControlTextWidget related changes (is merged with latest rev, 10392); also, it add... Constantin Asofiei
08:54 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Code Review 1003a
I am fine with the code. Please do add the following text to the javadoc for the HandleOps.getL...
Greg Shah
06:48 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> The new question. We have separate interface for frame widget - CommonFrame. This means the similar methods in this... Constantin Asofiei
06:44 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The changes look good in 1003a.
About the tests: note that @CREATE VALUE(...)@ can't be used with non-widget reso...
Constantin Asofiei
06:31 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
This is the universal testcase from Progress docs(with little modifications and improvement). Possible to check each ... Eugenie Lyzenko
05:48 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> The changes in HandleOps.getLegacyAttribute() look fine. Remember I was mentioning attributes which are read-only f... Eugenie Lyzenko
03:46 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The changes in HandleOps.getLegacyAttribute() look fine. Remember I was mentioning attributes which are read-only for... Constantin Asofiei

10/02/2013

07:32 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The second update includes fix for END-ELEMENT method error, some missed attributes/methods additions and rule file f... Eugenie Lyzenko
06:11 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Code Review 1002a
Everything looks OK to me except that the SaxWriter.endElement() methods are marked as END-DOCUM...
Greg Shah
03:50 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Greg Shah wrote:
> > Yes, it's a bug, but it's affects only methods_attributes.rule, changes in the code is not need...
Evgeny Kiselev
03:44 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> Yes, it's a bug, but it's affects only methods_attributes.rule, changes in the code is not needed. Do I need to fix... Greg Shah
03:43 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Eugenie Lyzenko wrote:
> The question about recent rule changes. According to the methods_attributes.rule the attrib...
Evgeny Kiselev
01:43 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
This is update for recent code changes and suggested getLegacyAttribute() modification for you to review.
Now I ne...
Eugenie Lyzenko
01:21 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Evgeny Kiselev: Please respond to the question in note 64. Greg Shah
01:20 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
The question about recent rule changes. According to the methods_attributes.rule the attribute PUBLIC-ID is rw and ha... Eugenie Lyzenko
07:05 PM Database Feature #2141: generate SQL Server schema
*About using Hibernate SQL Functions and stored procedures (functions) for new rtrim*.
It is possible Hibernate SQL...
Vadim Nebogatov
04:25 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
> How about "For the source string +\/+\/ in Progress procedure the converted class contains +\\/+\\/ string and I'm ... Greg Shah
04:20 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Here are some conversion results of other base64 tests.
1. The command @copy-lob from file "/home/vig/testencode" ...
Vadim Gindin
03:46 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
2 remarks:
* How about "For the source string @+\/+\/@ in Progress procedure the converted class contains @+\\/+\\/@...
Vadim Gindin
02:47 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Interesting! And this is great news!
Please put comments in the code to explain that the Apache commons base64 li...
Greg Shah
02:43 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I used the old Base64.java class. In company with my check it produces no deviations from Progress behavior on our te... Vadim Gindin
01:36 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Before we go too far with the Apache commons base64 support, perhaps it makes sense to try base64 encode/decode that ... Greg Shah
01:25 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Here are results of testing new base64Decode method with new check.
Behaviour of Base64.decode() method differs from...
Vadim Gindin
04:08 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
> (1) I am not sure I completely understand the above,
Sadly, I don't either. I wonder if a "handle value" is jus...
Greg Shah
04:02 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Greg Shah wrote:
> > Do we still want the randomized resource IDs?
>
> Yes, I think it still makes sense. We may...
Hynek Cihlar
03:42 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
I found the following paragraph on the VALID-HANDLE function reference page:
_If a handle is valid, it can still p...
Hynek Cihlar
03:38 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
> Do we still want the randomized resource IDs?
Yes, I think it still makes sense. We may find some 4GL code that...
Greg Shah
03:28 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Greg Shah wrote:
> Also, for security purposes, we should not make the resource ID algorithm a simple sequence. It ...
Hynek Cihlar
03:18 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Greg Shah wrote:
> This is a useful set of findings.
>
> Don't forget to test out uninitialized handles and zero ...
Hynek Cihlar
10:46 AM Base Language Feature #1612: finish SESSION system handle support
> from where does the client initially read the WINDOW-SYSTEM value?
At startup, the client must already know wha...
Greg Shah
10:35 AM Base Language Feature #1612: finish SESSION system handle support
> 2. Add a redmine task to the UI project to implement the backing support for GET-/SET-WAIT-STATE(). Assign it to m... Constantin Asofiei
10:28 AM Base Language Feature #1612: finish SESSION system handle support
Code Review 1002d
1. LT.getClientType() returns "4GLCLIENT" but the javadoc states it would return "CLIENT" instea...
Greg Shah
10:15 AM Base Language Feature #1612: finish SESSION system handle support
This update adds runtime for the following:... Constantin Asofiei
08:09 AM Base Language Feature #1612: finish SESSION system handle support
Looking back at my example, I don't think I showed exactly what I was intending to show.
The key point that I reca...
Greg Shah
01:59 AM Base Language Feature #1612: finish SESSION system handle support
Attached update adds runtime support for these numeric-format related attributes and methods:... Constantin Asofiei
10:32 AM User Interface Feature #2189: implement SET-/GET-WAIT-STATE for GUI mode
Add proper runtime support for the SESSION's SET-/GET-WAIT-STATE methods, in GUI mode. Constantin Asofiei
10:31 AM User Interface Feature #2189 (Closed): implement SET-/GET-WAIT-STATE for GUI mode
Constantin Asofiei
09:29 AM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
20131002a changes look good. Please commit and distribute if testing passes. Eric Faulhaber
07:46 AM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
And @get4GLTableName@ functions too. Stanislav Lomany
06:56 AM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
> OK, please run it through another round of regression testing after you've made the above changes. Since they are p... Stanislav Lomany
02:10 AM Base Language Bug #2188: fix runtime for SCREEN-VALUE attribute
From #1612 note 27: @SCREEN-VALUE@ attribute doesn't seem to be fixed properly. See the @GenericFrame.getScreenValue@... Constantin Asofiei
02:03 AM Base Language Bug #2188 (New): fix runtime for SCREEN-VALUE attribute
Constantin Asofiei

10/01/2013

07:33 PM Base Language Feature #1612: finish SESSION system handle support
Code Review 1001b
I am fine with the changes. It pains me to see how I got the initial group/decimal separator us...
Greg Shah
01:16 PM Base Language Feature #1612: finish SESSION system handle support
This update is only for SESSION's format-related attributes/methods. I'm putting it through regression testing, but I... Constantin Asofiei
11:06 AM Base Language Feature #1612: finish SESSION system handle support
I've started working on the format-related stuff: @NUMERIC-SEPARATOR, @NUMERIC-DECIMAL-POINT@, @NUMERIC-FORMAT@, and ... Constantin Asofiei
06:41 PM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> I'm familiar. It's an absolute necessity to have updated statistics to get the query planner...
Vadim Nebogatov
06:22 PM Database Feature #2141: generate SQL Server schema
Vadim Nebogatov wrote:
> Eric Faulhaber wrote:
> > Vadim Nebogatov wrote:
> > > @[substring(expr, 0, len(replace(e...
Eric Faulhaber
04:17 PM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> Vadim Nebogatov wrote:
> > @[substring(expr, 0, len(replace(expr, CHAR(9)+CHAR(10)+CHAR(13), ...
Vadim Nebogatov
06:26 PM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
OK, please run it through another round of regression testing after you've made the above changes. Since they are pre... Eric Faulhaber
05:00 PM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
> I would like to see your test cases. Are these checked into the testcases project? Please provide a list of names, ... Stanislav Lomany
06:08 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
>But we need to keep in mind that IIRC there are some attributes which are settable for some resources, and not read-... Eugenie Lyzenko
02:41 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> Your assumption is incorrect. object.getClass().getInterfaces() will always return the directly implemented interfa... Eugenie Lyzenko
02:23 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> Does not the call @objFromHandle.getClass().getInterfaces()@ retrieve ALL interfaces implementing in the current cl... Constantin Asofiei
02:08 PM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
> Eugenie: there are some cases when the interface defining the resource is not directly implemented by the P2J class... Eugenie Lyzenko
06:05 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Also, for security purposes, we should not make the resource ID algorithm a simple sequence. It should be randomized... Greg Shah
06:03 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
This is a useful set of findings.
Don't forget to test out uninitialized handles and zero handles compared to hand...
Greg Shah
05:59 PM Base Language Feature #1781: add missing support for the WIDGET-HANDLE builtin function
Ad 2
handle method is already recognized and parsed. Only emitting of handle.toString seems to be missing.
Ad 3
...
Hynek Cihlar
03:10 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Good work! Make sure that the javadoc for the method has this algorithm included. Greg Shah
02:40 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Here is an updated full set of tests for base64-decode function:... Vadim Gindin
02:32 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I added more tests and find out several things:
1. Source string can contain any number of pad symbols ('=') at the e...
Vadim Gindin
08:33 AM Database Feature #2116: add runtime support for _user metadata table
The implementation I am debugging now works like this:
* I added a new type of authentication (@AUTH_MODE_METADATA =...
Ovidiu Maxiniuc
08:10 AM Database Feature #2116: add runtime support for _user metadata table
> If for one of the databases the authentication fails all three times, the client process is closed, even if for a p... Greg Shah
08:08 AM Database Feature #2116: add runtime support for _user metadata table
I'm moving this discussion here from email, because it is important to record it as part of the task.
-------- Ori...
Greg Shah

09/30/2013

05:14 PM Database Feature #2141: generate SQL Server schema
Vadim Nebogatov wrote:
> @[substring(expr, 0, len(replace(expr, CHAR(9)+CHAR(10)+CHAR(13), ' ')))]@
I appreciate ...
Eric Faulhaber
05:06 PM Database Feature #2141: generate SQL Server schema
Vadim Nebogatov wrote:
> It seems it is a problem in MSSQL: varchar(MAX) cannot be used in indexes.
[...]
OK, le...
Eric Faulhaber
04:54 PM Database Feature #2141: generate SQL Server schema
Or even simpler:... Vadim Nebogatov
04:47 PM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> My only other concern is the rtrim function. The SQL Server version simply doesn't do what w...
Vadim Nebogatov
04:14 PM Database Feature #2141: generate SQL Server schema
varchar is equivalent to varchar(1) Vadim Nebogatov
08:34 AM Database Feature #2141: generate SQL Server schema
And N=8000 is restriction for varchar(N) . BTW @varchar(MAX)@ in MSSQL - special type name. Vadim Nebogatov
08:32 AM Database Feature #2141: generate SQL Server schema
It seems it is a problem in MSSQL: varchar(MAX) cannot be used in indexes. The maximum amount of bytes on a index is ... Vadim Nebogatov
08:19 AM Database Feature #2141: generate SQL Server schema
> Greg: what was the rule again? AFAIR, the whole record can be no larger than 32K, but any individual field can clai... Greg Shah
07:21 AM Database Feature #2141: generate SQL Server schema
and to varbinary(MAX). BTW SQLServer2005Dialect also maps to these types when size is not known.... Vadim Nebogatov
07:16 AM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> But I think 4GL @character@ fields can be larger than 8,000.
>
> Greg: what was the rule ...
Vadim Nebogatov
07:03 AM Database Feature #2141: generate SQL Server schema
But I think 4GL @character@ fields can be larger than 8,000.
Greg: what was the rule again? AFAIR, the whole recor...
Eric Faulhaber
06:44 AM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> Where did the choice of 8,000 as a limit come from?
It is private constant from SQLServer2005...
Vadim Nebogatov
03:48 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Great work! Hopefully you will find the final part of the rule soon. Greg Shah
03:22 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I added more tests, as you adviced. Here is a results.... Vadim Gindin
01:12 PM Database Feature #2116: add runtime support for _user metadata table
Yes, the above directory paths are relative, not absolute. The question was: should I add p2j-user collections with (... Ovidiu Maxiniuc
01:04 PM Database Feature #2116: add runtime support for _user metadata table
... Greg Shah
12:55 PM Database Feature #2116: add runtime support for _user metadata table
Progress client allows multiple database connection at startup, the following command line is correct:... Ovidiu Maxiniuc
12:47 PM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
OK, let's leave the synchronization as is.
Code review 20130924a:
Wow, this is an exciting update and a hugely ...
Eric Faulhaber
09:13 AM Base Language Feature #1640 (Closed): implement DOM XML support
Greg Shah
09:01 AM Base Language Feature #1640: implement DOM XML support
Committed to bzr revision 10390 Evgeny Kiselev
03:11 AM Base Language Feature #1640: implement DOM XML support
I've taken a look at the 20130926 and 20103929 harness results in your folder and I think we can say that testing has... Constantin Asofiei
09:09 PM Base Language Feature #1640: implement DOM XML support
Regression testing for evk_20130923a.zip is finished (20130926_220122):
There are some errors with @timeout errors@ ...
Evgeny Kiselev
09:12 AM Base Language Feature #1980 (Closed): runtime support for DOM XML processing
Greg Shah
02:55 AM Base Language Feature #2074: add CAN-QUERY() and CAN-SET() support
Eugenie: there are some cases when the interface defining the resource is not directly implemented by the P2J class, ... Constantin Asofiei

09/29/2013

05:50 PM Database Feature #2141: generate SQL Server schema
The output looks good. I would like to review the code. Please upload an update when ready.
Where did the choice o...
Eric Faulhaber
05:14 PM Database Feature #2141: generate SQL Server schema
Attached updated and tested dll files for sql server 2012.
I have added private constant from 2005 dialect...
Vadim Nebogatov

09/27/2013

06:34 PM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> Is it necessary to create the placeholder computed columns in the CREATE TABLE statements, if...
Vadim Nebogatov
03:54 PM Database Feature #2141: generate SQL Server schema
Is it necessary to create the placeholder computed columns in the CREATE TABLE statements, if we are just going to dr... Eric Faulhaber
03:45 PM Database Feature #2141: generate SQL Server schema
Sequences seems implemented, I have attached ddl files for sql server 2012.
Both are tested on sql server 2012.
Vadim Nebogatov
03:41 PM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> It seems like these methods would be necessary at runtime. Are any of them necessary for the...
Vadim Nebogatov
02:30 PM Database Feature #2141: generate SQL Server schema
It seems like these methods would be necessary at runtime. Are any of them necessary for the generation of a feature-... Eric Faulhaber
01:09 PM Database Feature #2141: generate SQL Server schema
TODO after sequences:
isQueryRangeParameterInlined(),
inlineLimit(),
requiresExplicitCastInsideTernary,
use...
Vadim Nebogatov
09:54 AM Database Feature #2141: generate SQL Server schema
Please prioritize finishing support for 2012 over 2008. Hopefully, getting sequences to emit in the DDL is easier for... Eric Faulhaber
05:03 AM Database Feature #2141: generate SQL Server schema
Created 2 different targetDb: mssql2008 and mssql2012.
schema_table_p2j_test_mssql2008.sql, schema_index_p2j_test_ms...
Vadim Nebogatov
05:15 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
> 1. Am I on the right way or I didn't understood your last comment?
Yes.
> 2. Is the simple rule suits to the ...
Greg Shah
04:30 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
The error is not displayed when NO-ERROR is specified. error-status:error is not set. only error-status:get-number(1)... Vadim Gindin
02:37 PM Database Feature #2156: datetime-tz and hibernate
h3. Record of e-mail discussion
Eric,
If I remember correctly, I already managed to get DDLs well generated, so...
Eric Faulhaber
08:34 AM Base Language Feature #1607 (Closed): implement full named events support
Greg Shah
04:09 AM Base Language Feature #1607: implement full named events support
ca_upd20130926d.zip was committed to revision 10388. Constantin Asofiei
08:33 AM Base Language Feature #1977 (Closed): implement the runtime support for named events
Greg Shah
08:25 AM Base Language Feature #1612: finish SESSION system handle support
Good job. This makes sense and it results in a cleaner, more understandable set of frame definitions. Greg Shah
08:00 AM Base Language Feature #1612: finish SESSION system handle support
I think I've got it how 4GL interprets string literals in DISPLAY and FORM statements. See this test:... Constantin Asofiei
05:44 AM Base Language Feature #1612: finish SESSION system handle support
> Is this just a quirk of Progress? In the DISPLAY case, can you actually use the field for editing? There is no lv... Constantin Asofiei
06:19 AM Base Language Feature #1584: add conversion and runtime support for INT64 and DATETIME data types
Conversion test ended with success.
Committed revision 10389 and distributed by mail.
Ovidiu Maxiniuc
05:22 AM Base Language Feature #2013: implement the SELF system handle
@NullWidget@ usage should be removed and SELF handle (for widgets) tested carefully - see notes 21/22 in #1612. Constantin Asofiei
05:22 AM User Interface Feature #1779: complete FOCUS handle support
@NullWidget@ usage should be removed and FOCUS handle tested carefully - see notes 21/22 in #1612, as FOCUS handle ha... Constantin Asofiei

09/26/2013

04:29 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
> I did it. It don't change the ERROR-STATUS:ERROR handle. It remains false. However it add the error number 12119. I... Greg Shah
04:04 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Greg Shah wrote:
> I assume the error is occurring in the decode function but it is important to confirm that. Just...
Vadim Gindin
01:22 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I assume the error is occurring in the decode function but it is important to confirm that. Just put a "pause." into... Greg Shah
01:05 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Question 2. I converted and ran test 2. Recalling, that it is the same test as 1 but with wrong "base64" string "abra... Vadim Gindin
12:21 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
The null check is just for safety purposes. It should never get used by converted code that was automatically genera... Greg Shah
12:13 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I have a question. Lets see at the method com.goldencode.p2j.util.SecurityOps.base64Encode(BinaryData). There is a nu... Vadim Gindin
10:46 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
I'm not exactly sure what you mean by this question. But I suggest you try this code to see how multiple message stm... Greg Shah
10:43 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Thank you, but will the MESSAGE command override it's previous output? Vadim Gindin
10:41 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
OK, good. One thing to change: don't use DISPLAY for just printing a line of text. It creates an entire frame which... Greg Shah
10:35 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
You're right. My mistake.
Here is updated error test....
Vadim Gindin
04:01 PM Database Feature #2141: generate SQL Server schema
No, there is no need to set the precision differently by conversion project. The value of 50 was chosen to match Prog... Eric Faulhaber
01:09 AM Database Feature #2141: generate SQL Server schema
So, precision could be set as @dialect && conversion specific@ in p2j.cfg.xml:... Vadim Nebogatov
02:48 PM Database Feature #2116: add runtime support for _user metadata table
> So each user/group defined in directory.xml can have a [user/password] combination that will be used like -U -P par... Greg Shah
02:10 PM Database Feature #2116: add runtime support for _user metadata table
Greg Shah wrote:
> > _Should we emulate these parameters by adding equivalent items in the directory?
>
> Yes, t...
Ovidiu Maxiniuc
11:45 AM Database Feature #2116: add runtime support for _user metadata table
I don't see any difference between the behaviors of @pro@ and @mpro@ executables.
I looked into launch scripts and ...
Ovidiu Maxiniuc
02:08 PM Base Language Feature #1584: add conversion and runtime support for INT64 and DATETIME data types
Just noticed that Constantin has committed some changes in the same file, in a very close area (consecutive line numb... Ovidiu Maxiniuc
12:42 PM Base Language Feature #1584: add conversion and runtime support for INT64 and DATETIME data types
Good. You can check it in and distribute it. Greg Shah
12:38 PM Base Language Feature #1584: add conversion and runtime support for INT64 and DATETIME data types
The attached update passed the conversion test (no differences detected for both src and ddl). There is no need for r... Ovidiu Maxiniuc
01:37 PM Base Language Feature #1612: finish SESSION system handle support
OK, I'm fine with your approach to all of this. Make some notes in #1779 (FOCUS) and also #2015 (SELF), so that we d... Greg Shah
01:25 PM Base Language Feature #1612: finish SESSION system handle support
> > But, there are widgets implementations (like ControlTextWidget and BrowseColumnWidget classes) which can represen... Constantin Asofiei
12:18 PM Base Language Feature #1612: finish SESSION system handle support
> for widgets, the resource type can't be set at the interface, because they all grow from CommonWidget. In this case... Greg Shah
11:50 AM Base Language Feature #1612: finish SESSION system handle support
There are some more issues:
# for widgets, the resource type can't be set at the interface, because they all grow fr...
Constantin Asofiei
10:09 AM Base Language Feature #1612: finish SESSION system handle support
I like it. Two things:
1.
> system handle implementations (like SessionUtils.getResourceType()) still need to ...
Greg Shah
10:02 AM Base Language Feature #1612: finish SESSION system handle support
> Can we change the getResourceType() implementation to use the LegacyResource annotation as its source of TYPE info?... Constantin Asofiei
09:50 AM Base Language Feature #1612: finish SESSION system handle support
> To solve this, we could have a LegacyResource annotation to annotate the interface associated with the resource def... Greg Shah
09:43 AM Base Language Feature #1612: finish SESSION system handle support
I've been looking at the FIRST-QUERY attribute, and I think we need to change something in the FIRST/LAST-resource im... Constantin Asofiei
08:23 AM Base Language Feature #1612: finish SESSION system handle support
For now, just implement it in the runtime section of the directory. Use the Directory interface with ID_RELATIVE whi... Greg Shah
06:46 AM Base Language Feature #1612: finish SESSION system handle support
Greg, how do you suggest to implement the @PARAMETER@ attribute? The @SESSION:PARAMETER@ attribute holds the value of... Constantin Asofiei
05:46 AM Base Language Feature #1612: finish SESSION system handle support
Following attributes will be added first
* client-type
* parameter
* first-buffer
Constantin Asofiei
01:33 PM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
> * Also in @MutableSessionFactoryImpl@, there are several TODOs. What needs to be done for these, and what is the im... Stanislav Lomany
01:31 PM Base Language Feature #1607: implement full named events support
The runtime testing seems OK, but I want to do another run, to clean some failures. Constantin Asofiei
09:47 AM Base Language Feature #1607: implement full named events support
Attached version contains the comment changes at note 29. Runtime testing is still in progress - conversion testing h... Constantin Asofiei
08:31 AM Base Language Feature #1607: implement full named events support
Code Review 0926b
I'm fine with the code. Before checking in, please make these comment changes:
1. This comm...
Greg Shah
04:47 AM Base Language Feature #1607: implement full named events support
Attached update is going through regression testing now.
Beside other fixes, I've renamed PersistentProc to Proce...
Constantin Asofiei
04:48 AM Base Language Feature #1977 (Review): implement the runtime support for named events
Constantin Asofiei
04:03 AM Base Language Feature #2004 (WIP): runtime support for SESSION handle
Constantin Asofiei

09/25/2013

07:35 PM Database Feature #2116: add runtime support for _user metadata table
I will let Eric reply in regard to the code. I will try to answer some questions.
> _Should we emulate these para...
Greg Shah
02:26 PM Database Feature #2116: add runtime support for _user metadata table
Are these results based on using a single-user (pro) or multi-user (mpro) database process? Eric Faulhaber
01:17 PM Database Feature #2116: add runtime support for _user metadata table
The P2J "permanent databases" concept seems like starting the the Progress client with database location as startup p... Ovidiu Maxiniuc
07:12 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
> returns empty file
Instead of using copy-lob in these cases, it is cleaner to just check if the length/size of ...
Greg Shah
04:53 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Greg Shah wrote:
> Also: please add a testcase showing how these functions respond to the following:
>
> # unknow...
Vadim Gindin
02:23 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
> Should I only check and probably test them?
You can check them, but I can guarantee that they don't properly imp...
Greg Shah
02:15 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Here is additional testing.
6. Empty input....
Vadim Gindin
09:52 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
To be clear: memptr and raw are BaseDataTypes that can be compared for equality, inequality, less than... Greg Shah
09:51 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
See BinaryData.compareTo() and CompareOps.equals(BDT, BDT). Greg Shah
09:48 AM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
Greg Shah wrote:
> ..
> Create a test like number 1 above, but first do the encode on a text string and then decode...
Vadim Gindin
07:07 PM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> Vadim Nebogatov wrote:
> > [...]
> > P2J sets precision, scale in hibernate.xml. Workarou...
Vadim Nebogatov
06:38 PM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> Ah, TRPL cannot deal with static references. What error messages do you get?
>
> Try:
> ...
Vadim Nebogatov
03:35 PM Database Feature #2141: generate SQL Server schema
Ah, TRPL cannot deal with static references. What error messages do you get?
Try:...
Eric Faulhaber
03:19 PM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> Vadim Nebogatov wrote:
> > If "if exists" is not important we could avoid it on schema export...
Vadim Nebogatov
11:42 AM Database Feature #2141: generate SQL Server schema
Vadim Nebogatov wrote:
> [...]
> P2J sets precision, scale in hibernate.xml. Workaround for MSSQL is using in P2J...
Eric Faulhaber
11:28 AM Database Feature #2141: generate SQL Server schema
Vadim Nebogatov wrote:
> If "if exists" is not important we could avoid it on schema export using in generate_ddl.xm...
Eric Faulhaber
05:34 PM Database Feature #2122 (Review): add runtime support for dynamically prepared temp-tables
Eric Faulhaber
05:34 PM Database Feature #2128 (Review): generate and load DMO interface and implementation classes for dynamic te...
Eric Faulhaber
05:31 PM Database Bug #2164 (Closed): Server fails to start a Progress app when persistence disabled
Eric Faulhaber
05:23 PM Database Bug #2164: Server fails to start a Progress app when persistence disabled
Committed revision 10387. Hynek Cihlar
04:48 PM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
Eric Faulhaber wrote:
> Code review 20130924b:
> * Please add a simple javadoc comment for the @MutableSessionFacto...
Eric Faulhaber
04:45 PM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
Code review 20130924b:
* Please add a simple javadoc comment for the @MutableSessionFactoryImpl@ constructor, and ad...
Eric Faulhaber
02:36 PM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
Have you run this update through regression testing yet? If not, please do. I will review in parallel, but I don't wa... Eric Faulhaber
11:48 AM Base Language Feature #1607: implement full named events support
> In ProcedureManager, all procedures are saved in the ppMap and deleted, via WorkArea's Scopeable implementation. If... Greg Shah
11:15 AM Base Language Feature #1607: implement full named events support
> 1. Why are only persistent procedures checked for subscriptions? The ProcedureManager code uses PersistentProc and... Constantin Asofiei
11:09 AM Base Language Feature #1607: implement full named events support
Code Review 0925a
1. Why are only persistent procedures checked for subscriptions? The ProcedureManager code uses...
Greg Shah
10:46 AM Base Language Feature #1607: implement full named events support
Greg Shah wrote:
> > When the procedure code is executed, the NO-ERROR clause doesn't look like is in effect any mor...
Constantin Asofiei
10:44 AM Base Language Feature #1607: implement full named events support
> When the procedure code is executed, the NO-ERROR clause doesn't look like is in effect any more, as the ERROR cond... Greg Shah
10:36 AM Base Language Feature #1607: implement full named events support
A first version of the runtime for named events. I've also added support for the PUBLISHED-EVENTS attribute for proce... Constantin Asofiei
09:08 AM Base Language Feature #1607: implement full named events support
It seems that every new feature, even straightforward ones, will always have some significant divergence from the Pro... Greg Shah
08:19 AM Base Language Feature #1607: implement full named events support
The publish/subscribe/unsubscribe rules from the documentation are simple, but practice proves to be more complex.
...
Constantin Asofiei
09:25 AM Base Language Feature #1584: add conversion and runtime support for INT64 and DATETIME data types
My intention was to identify nodes of this type: @(E)@, ie. an expression formed by another one (@E@) between unneede... Ovidiu Maxiniuc
09:13 AM Base Language Feature #1584: add conversion and runtime support for INT64 and DATETIME data types
I'm fine with the change. My only question: what is the purpose of the @nodeRef.numImmediateChildren == 1@ test as p... Greg Shah
08:55 AM Base Language Feature #1584: add conversion and runtime support for INT64 and DATETIME data types
Fixed issue by moving 'chp_wrapper' annotation to first operator in if it is enclosed into one or more superfluous pa... Ovidiu Maxiniuc
07:56 AM Base Language Feature #1640: implement DOM XML support
I want to clarify something. Phase 2 (build) and 3 (runtime-regression) of your list above are needed. Phase 4 (ful... Greg Shah
01:41 AM Base Language Feature #1640: implement DOM XML support
> How long is "normal" time for regression test running ?
Depending on which task you are running, the times are the...
Constantin Asofiei
09:33 PM Base Language Feature #1640: implement DOM XML support
Constantin Asofiei wrote:
> Next step is to run regression testing; let me know if you encounter any problems.
I'...
Evgeny Kiselev

09/24/2013

06:36 PM Database Feature #2141: generate SQL Server schema
As I understood Hibernate doesn't worry about real column precision in table and takes column
precision from htm fi...
Vadim Nebogatov
05:42 PM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
Hibernate part. Stanislav Lomany
09:14 AM Database Feature #1652: add conversion and runtime support for dynamically prepared temp-tables
Update with runtime support for dynamic tables except MetaSchema and COPY-TEMP-TABLE. Stanislav Lomany
04:43 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
> Can't read data from source file and shows error: "Error -26 in file to longchar". Strange error. It looks like a b... Greg Shah
04:08 PM Base Language Feature #1646: implement BASE64-ENCODE/BASE64-DECODE built-in functions
base64-decode(expr) - where expr - character or longchar. Resulting MEMPTR contains binary data
base64-encode(expr) ...
Vadim Gindin
04:37 PM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
It looks good. Thanks! Greg Shah
04:23 PM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
Sure, I understand an importance of such rules. I just wanted to make a final step to remember goals of that rules. I... Vadim Gindin
11:08 AM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
OK, this is fine.
> In addition, please apply the same cleanup items I mentioned in note 67 above to the PrinterSt...
Greg Shah
08:58 AM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
I corrected progress.g and PrinterStream Vadim Gindin
02:36 PM Base Language Feature #2041: implement runtime support for "shared" attributes that are just stubbed
Greg Shah wrote:
> It looks like we have a PRIVATE-DATA implementation in both BaseEntity and QueryWrapper that need...
Constantin Asofiei
02:06 PM Base Language Feature #2041: implement runtime support for "shared" attributes that are just stubbed
It looks like we have a PRIVATE-DATA implementation in both BaseEntity and QueryWrapper that needs to be deleted. Bo... Greg Shah
01:22 PM Base Language Feature #2041: implement runtime support for "shared" attributes that are just stubbed
Implemented by some resources:
- local-name: x-noderef (pending to be released), soap-header-entryref
- namespace-u...
Constantin Asofiei
11:44 AM Base Language Feature #2041: implement runtime support for "shared" attributes that are just stubbed
Constantin: I have looked at #2002 to see the runtime implementation status of these attributes. It is not clear fro... Greg Shah
02:10 PM User Interface Feature #2185: ROW attribute error handling is incomplete
The setter for ROW (BaseEntity.setRow()) has this todo:... Greg Shah
02:08 PM User Interface Feature #2185 (New): ROW attribute error handling is incomplete
Greg Shah
01:11 PM Base Language Feature #1584: add conversion and runtime support for INT64 and DATETIME data types
Seems like the wrapping annotation is put on the wrong node that is later removed.
I will dig into this tomorrow in ...
Ovidiu Maxiniuc
12:50 PM Base Language Feature #1584: add conversion and runtime support for INT64 and DATETIME data types
Ovidiu, name_map.xml was removed before the build. Anyway, I've isolate the problem to calls like:... Constantin Asofiei
12:40 PM Base Language Feature #1584: add conversion and runtime support for INT64 and DATETIME data types
Constantin,
please remove the xml that caches the functions signature.
You probably had an f1 function with int64 ...
Ovidiu Maxiniuc
12:32 PM Base Language Feature #1584: add conversion and runtime support for INT64 and DATETIME data types
Greg/Ovidiu,
With revision 10385, there is a case which doesn't convert properly. It looks something like this:
<...
Constantin Asofiei
08:19 AM Base Language Feature #1977 (WIP): implement the runtime support for named events
Constantin Asofiei
08:34 PM Database Bug #2164: Server fails to start a Progress app when persistence disabled
The update looks good to me. Please commit and distribute it, and record the revision number here. Eric Faulhaber

09/23/2013

05:38 PM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
Oops. I spoke too soon. Your P2J build is not clean:
antlr_progress:
[antlr] ANTLR Parser Generator Versi...
Greg Shah
05:13 PM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
OK, this is ready for testing. Greg Shah
04:38 PM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
I made described corrections Vadim Gindin
03:37 PM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
Code Review 0923b
OK. Functionally the code is good. The last issues are about the code formatting/naming...
...
Greg Shah
01:26 PM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
corrected archive Vadim Gindin
12:24 PM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
Then just do the call to SD.store() from inside PrinterStream.createPrinterStream(). Hiding the printer-specific stu... Greg Shah
12:18 PM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
Greg Shah wrote:
> Code Review 0923a
>
> 1. There is no PrinterStream class in this update. I think you accident...
Vadim Gindin
11:15 AM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
Code Review 0923a
1. There is no PrinterStream class in this update. I think you accidentally included ProcessStr...
Greg Shah
09:22 AM Base Language Feature #1631: implement support for LANDSCAPE/PORTRAIT in I/O statements
Next update Vadim Gindin
05:18 PM Database Feature #2141: generate SQL Server schema
Eric Faulhaber wrote:
> The @if exists@ prefix is a nice safety feature, but in practice we rarely will run the DDL ...
Vadim Nebogatov
02:27 AM Base Language Feature #1640: implement DOM XML support
Evgeny: the attached version contains just some format related changes, plus I've removed the @XEntity[Impl].getHandl... Constantin Asofiei
 

Also available in: Atom