Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

At 07 MAY 1998 12:38:07PM Jeff Word wrote:

All our entities have history except tables. Anyone know a reason for that? Some tables do have a history of NEW in them. When you change a dictionary shouldn't the DICT.table have a history of that? We are trying to track changes to dictionaries. OI should be tracking changes to tables. Are we forgetting something?


At 08 MAY 1998 04:47AM Oystein Reigem wrote:

Jeff,

I don't know anything about this so maybe I should keep my trap shut…

…but what about that "Maintain Database Columns in the repository" setting in App Properties? The online help says: "To enhance performance, database columns are not automatically maintained as repository entities unless you check this box. Checking this box synchronizes the database with the repository of this application. The operation may take a few minutes. Benefits of selecting this feature include the ability to manipulate and manage database columns like any other repository entity, and the ability to see Impact Analysis on database columns. The only drawback is that these operations are lengthy, so system speed is affected." Could this be what you need??? In case I'd be careful to use it because Jeff Blinn has reported problems with multi-column edit tables when the Maintain setting is set… - Oystein - </QUOTE> —- === At 08 MAY 1998 06:20AM Jeff Word wrote: === <QUOTE>Thanks Oystein. I too have seen others mention trouble they had and that turning this off cleared these issues up. RTI what is the inside scoop? </QUOTE> —- === At 08 MAY 1998 09:58AM Aaron Kaplan wrote: === <QUOTE>There's a few things going on, and a couple of concepts that need to be worked through to make this all complete and understandable. The first thing we should do is ask what is the repository. In the Iterative Application Development: An Evolutionary Strategy for the '90s White Paper, it defines a repository as <QUOTE>a central software "bill-of-materials," storing and tracking the use of components in an application's assembly and sub-assemblies. Just as a DBMS manages the data used by an application, the active repository manages the application itself. A full-featured, active repository maps directly to the requirements of IAD.</QUOTE> Essentially, the repository is nothing but a database about your database. For example, there is nothing in the SYSREPOSWINS record SY_E_BANK that tells me there READ, WRITE, DELETE, CLEAR and CLOSE events or that this window uses the ENTRY_FORM icon. Some of this can be infered from the information in the record, but it's not listed in database field. It is in the SYSREPOS record SYSTEM*OIWINSY_E_BANK (on field 6, SYSREP_SUB$). This is the database in action. The second thing we need to think about is how the repository is accessed and used. If you go to the System Editor and read in the SYSREPOSWINS record, you'll get an engine log that looks like this: <QUOTE> Start OpenEngine log - 5/19/1998 09:21:15 * Begin processing time: 5/19/1998 09:21:28 RUN READ_ROW 'SYSREPOSWINS','SYSTEMSY_E_BANK' Stop processing time: 5/19/1998 09:21:28 Execution time: 272 milliseconds. Execution status: successful. * * Begin processing time: 5/19/1998 09:21:28 RUN LOCK 'SYSREPOSWINS','SYSTEMSY_E_BANK',,0 Stop processing time: 5/19/1998 09:21:28 Execution time: 111 milliseconds. Execution status: successful. * Stop OpenEngine log - 5/19/1998 09:21:31 </QUOTE> No repository references, just a simple read, then lock. Now, watch what happens if you access this window from the form designer. <QUOTE> Start OpenEngine log - 5/19/1998 09:24:51 Begin processing time: 5/19/1998 09:24:54 RUN GETPERMITLEVEL 'SYSTEM*OIWINSY_E_BANK' Stop processing time: 5/19/1998 09:24:54 Execution time: 5 milliseconds. Execution status: successful. Begin processing time: 5/19/1998 09:24:54 RUN REPOSITORY 'GETAPPID', 'SYSTEM*OIWINSY_E_BANK' Stop processing time: 5/19/1998 09:24:54 Execution time: 4 milliseconds. Execution status: successful. * * Begin processing time: 5/19/1998 09:24:54 RUN REPOSITORY 'LOCK', 'SYSTEM*OIWINSY_E_BANK' Stop processing time: 5/19/1998 09:24:54 Execution time: 5 milliseconds. Execution status: successful. * * Begin processing time: 5/19/1998 09:24:54 RUN REPOSITORY 'ACCESS', #1 #1: 'SYSTEM*OIWINSY_E_BANK' Stop processing time: 5/19/1998 09:24:54 Execution time: 14 milliseconds. Execution status: successful. Begin processing time: 5/19/1998 09:24:55 RUN REPOSITORY 'ACCESS', #1 #1: 'SYSTEM*OIEVENT*WRITE*SY_E_BANK.' Stop processing time: 5/19/1998 09:24:55 Execution time: 19 milliseconds. Execution status: successful. Begin processing time: 5/19/1998 09:24:55 RUN REPOSITORY 'ACCESS', #1 #1: 'SYSTEM*OIEVENT*READ*SY_E_BANK.' Stop processing time: 5/19/1998 09:24:55 Execution time: 6 milliseconds. Execution status: successful. * * Begin processing time: 5/19/1998 09:24:55 RUN REPOSITORY 'ACCESS', #1 #1: 'SYSTEM*OIEVENT*DELETE*SY_E_BANK.' Stop processing time: 5/19/1998 09:24:55 Execution time: 5 milliseconds. Execution status: successful. * * Begin processing time: 5/19/1998 09:24:55 RUN REPOSITORY 'ACCESS', #1 #1: 'SYSTEM*OIEVENT*CREATE*SY_E_BANK.' Stop processing time: 5/19/1998 09:24:55 Execution time: 5 milliseconds. Execution status: successful. * Begin processing time: 5/19/1998 09:24:55 RUN REPOSITORY 'ACCESS', #1 #1: 'SYSTEM*OIEVENT*CLOSE*SY_E_BANK.' Stop processing time: 5/19/1998 09:24:55 Execution time: 5 milliseconds. Execution status: successful. Begin processing time: 5/19/1998 09:24:55 RUN REPOSITORY 'ACCESS', #1 #1: 'SYSTEM*OIEVENT*CLEAR*SY_E_BANK.' Stop processing time: 5/19/1998 09:24:55 Execution time: 5 milliseconds. Execution status: successful. * Begin processing time: 5/19/1998 09:24:55 RUN GETAPPID Stop processing time: 5/19/1998 09:24:55 Execution time: 2 milliseconds. Execution status: successful. Begin processing time: 5/19/1998 09:24:55 RUN GETPERMITLEVEL 'SYSTEM*DBTABLEDICT.BANK' Stop processing time: 5/19/1998 09:24:55 Execution time: 4 milliseconds. Execution status: successful. Begin processing time: 5/19/1998 09:24:55 RUN GETAPPID Stop processing time: 5/19/1998 09:24:55 Execution time: 2 milliseconds. Execution status: successful. Begin processing time: 5/19/1998 09:24:55 RUN REPOSITORY 'LOCK', 'SYSTEM*DBTABLEDICT.BANK' Stop processing time: 5/19/1998 09:24:55 Execution time: 9 milliseconds. Execution status: successful. Begin processing time: 5/19/1998 09:24:55 RUN READ_ROW 'SYSTABLES' , 'DICT.BANK' Stop processing time: 5/19/1998 09:24:55 Execution time: 6 milliseconds. Execution status: successful. Begin processing time: 5/19/1998 09:24:55 RUN GET_TABLE_ATTRIBS 'BANK' Stop processing time: 5/19/1998 09:24:55 Execution time: 10 milliseconds. Execution status: successful. * * Begin processing time: 5/19/1998 09:24:55 RUN ISTABLEATTACHED 'BANK' Stop processing time: 5/19/1998 09:24:55 Execution time: 5 milliseconds. Execution status: successful. * * Begin processing time: 5/19/1998 09:24:55 RUN READ_ROW 'SYSTABLES', 'BANK', 0, 1 Stop processing time: 5/19/1998 09:24:55 Execution time: 6 milliseconds. Execution status: successful. * * Begin processing time: 5/19/1998 09:24:55 RUN UNLOCK 'DICT.BANK' ,'%FIELDS%' , Stop processing time: 5/19/1998 09:24:55 Execution time: 6 milliseconds. Execution status: successful. * Begin processing time: 5/19/1998 09:24:55 RUN CREATETEMPDICT 'DICT.BANK',,,'DICT.TEMP_BANK',0,0,1,0 Stop processing time: 5/19/1998 09:24:55 Execution time: 557 milliseconds. Execution status: successful. * * Begin processing time: 5/19/1998 09:24:55 RUN LOCK 'DICT.BANK' ,'%FIELDS%' ,'' ,'0' Stop processing time: 5/19/1998 09:24:55 Execution time: 9 milliseconds. Execution status: successful. * * Begin processing time: 5/19/1998 09:24:55 RUN ATTACH_TABLE 'DATAVOL','RTP57','DICT.TEMP_BANK','SYSTEM' Stop processing time: 5/19/1998 09:24:55 Execution time: 139 milliseconds. Execution status: successful. * * Begin processing time: 5/19/1998 09:24:55 RUN ATTACH_TABLE 'DATAVOL','RTP57','TEMP_BANK','SYSTEM' Stop processing time: 5/19/1998 09:24:55 Execution time: 21 milliseconds. Execution status: failed. Error code: SSP280. * * Begin processing time: 5/19/1998 09:24:55 RUN GET_DICT_INFO 'TEMP_BANK' Stop processing time: 5/19/1998 09:24:56 Execution time: 30 milliseconds. Execution status: successful. * Stop OpenEngine log - 5/19/1998 09:24:57 </QUOTE> Now granted, some of this is overhead in loading the dictionary, but if you examine the list, you'll see that the system is going through a large numbe of repository functions checking access permissions and rights and many other things. The difference between these is that the Form Designer used the repository to access the window, while the System Editor just did a simple Open File to Handle the Read Rec from Handle type of logic. This isn't to say that the System Editor does not use repository functions. If you read in a program or an insert record, it uses repository functions for those entries. Why? There are probably a few reasons, some of which would be better coming from the original designers. However one of the reasons is that the System Editor was written to modify Progams (STPROC) and Inserts (STPROCINS) type entities. It was also written to allow you to view other records in general, but not other repository entities. So, to the System Editor, the SYSTEM**SY_E_BANK record is no different from the 1 record in the BANK file. It's just a record in a file. I suppose I could have given you a short answer saying that the repository history logs only get updated when repository functions are used. If these functions are not used, then there is no history and no log. Since there are no repository functions designed to manipulate tables, there is no way for a history to be generated. The repository is not a massive MFS surrounding every file or a massive BFS built around RTP57 intercepting all access to everything. The repository is a protocol and as a protocol it's use is not enforced in all cases. In order for the repository to update the history the REPOSITORY function must be called for all manipulation of the entities. I can't stress that enough. In order for the repository to update the history the REPOSITORY function must be called for all manipulation of the entities. Unless you write your own methods and tools to add to those that are missing, you will never acheive the sort of information you are looking for. [email protected] Sprezzatura, Inc. www.sprezzatura.com_zz.jpg </QUOTE> —- === At 08 MAY 1998 04:24PM Cameron Revelation wrote: === <QUOTE>Jeff, Please see the other thread on this subject. Cameron Purdy Revelation Software </QUOTE> View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/050f12bbdf9f09d1852565fd005b619e.txt
  • Last modified: 2023/12/28 07:40
  • by 127.0.0.1