Patent ID: 7966312

Claim:
A method residing in a non-transitory medium for providing an updatable result set for data fetched from multiple joined tables, the method executed on a machine and comprising: receiving, by the machine, a query from a client; accessing, by the machine, at least one database, including a first table in a first database and a subsequent table in a subsequent database; generating, by the machine, first metadata from a first table in the first database, and generating subsequent metadata from a subsequent table in the subsequent database, the first metadata derived from the first table and provides an indication of uniqueness of column data in the first table for the first database, the first metadata including data for column names and data types in the first table of the first database, the subsequent metadata derived from the subsequent table and provides an indication of uniqueness of column data in the subsequent table for the subsequent database, the subsequent metadata including data for column names and data types in the subsequent table of the subsequent database; joining, by the machine, a second table from a second database, the first table and the subsequent table together, the joining performed via an outer join operation, wherein rows from one of: the first table, the second table, or the subsequent table are padded with null values to match the respective rows of: the first table, the second table, or the subsequent table, and when a unique index from the outer join operation is null, then providing a non updatable result set; when the first metadata includes at least one column that indicates a unique index condition, and when the subsequent metadata includes at least one column that indicates a unique index condition, the first and the subsequent metadata indicates which particular column or particular columns in a given joined table has unique data, and when the second metadata includes at least one column that indicates a unique index condition; providing, by the machine, the updatable result set; and when the first metadata does not include at least one column that indicates a unique index condition, and when the subsequent metadata does not include at least one column that indicates a unique index condition, and when the second metadata does not include at least one column that indicates a unique index condition; then providing, by the machine, the non-updatable result set.