UNIFIED CONCURRENT CHANGES TO DATA, SCHEMA, AND APPLICATION
First Claim
1. A computer-readable non-transitory storage medium configured with data and with instructions that when executed by at least one processor causes the processor(s) to perform a process for managing changes in a multi-user database application environment, the process comprising the steps of:
- collecting proposed changes to the multi-user database application environment prior to committing any of those changes;
identifying for a particular proposed change Y at least one precondition PreY presumed by Y and at least one postcondition PostY to be caused by committing Y;
identifying for a particular proposed change X at least one precondition PreX presumed by X and at least one postcondition PostX to be caused by committing X;
analyzing a dependency of change X and change Y by doing at least one of the following;
determining that PostY renders PreX unavailable,determining that PostX allows PreY;
and thenordering the proposed changes to form an ordered change list with change X preceding change Y in order of commitment in the list.
2 Assignments
0 Petitions
Accused Products
Abstract
Changes are managed in a multi-user database application environment. Proposed changes are collected, including changes to data, schema, and/or application descriptions. A user may specify foreign key relationships between items belonging to one or more of these categories. A view is produced showing the impact proposed changes would have on the environment if successfully committed. The user'"'"'s proposed changes are ordered according to their dependencies, and submitted for committal together in a single transaction, subject to optimistic concurrency and consistency checks. For example, a proposed change to a data value may be inconsistent with a change which removed a data element containing the data value. The commitment operation may return identifiers and other return values, in addition to indicating whether the commitment was successful.
40 Citations
20 Claims
-
1. A computer-readable non-transitory storage medium configured with data and with instructions that when executed by at least one processor causes the processor(s) to perform a process for managing changes in a multi-user database application environment, the process comprising the steps of:
-
collecting proposed changes to the multi-user database application environment prior to committing any of those changes; identifying for a particular proposed change Y at least one precondition PreY presumed by Y and at least one postcondition PostY to be caused by committing Y; identifying for a particular proposed change X at least one precondition PreX presumed by X and at least one postcondition PostX to be caused by committing X; analyzing a dependency of change X and change Y by doing at least one of the following; determining that PostY renders PreX unavailable, determining that PostX allows PreY; and then ordering the proposed changes to form an ordered change list with change X preceding change Y in order of commitment in the list. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A process for making changes in a multi-user database application environment, the process comprising the steps of a particular user of the environment:
-
observing values of the multi-user database application environment and submitting to an editor multiple proposed changes to at least some observed values of the multi-user database application environment, the proposed changes being in at least two of the following change categories;
data changes, schema changes, application changes; andcommanding the editor to commit all of the proposed changes together, as opposed to commanding the editor to commit one of the changes, receiving a response to that command, then commanding the editor to commit another of the changes, receiving a response to that command, and continuing to commit the changes one by one. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer system comprising:
-
at least one logical processor; a memory in operable communication with the logical processor(s), the memory located in at least one machine; a diff manager residing in the memory and operable to produce diffgrams from user gestures; a user-specific change buffer residing in the memory and operable to maintain a collection of diffgrams for a specific user and to produce for the specific user views of a multi-user database application environment which reflect the impact that zero or more diffgrams would have on the environment if committed; and a query-update engine residing in the memory and operable to (a) access a shared multi-user store of values in each of the following categories;
data values, schema values, application values, (b) submit value changes in each of these categories to the shared multi-user store, and (c) detect results after an attempt to commit changes in these categories to the shared multi-user store. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification