US 12,287,777 B2
Natively supporting JSON duality view in a database management system
Zhen Hua Liu, San Mateo, CA (US); Juan R. Loaiza, Woodside, CA (US); Sundeep Abraham, Redwood City, CA (US); Shubha Bose, Foster City, CA (US); Hui Joe Chang, San Jose, CA (US); Shashank Gugnani, Foster City, CA (US); Beda Christoph Hammerschmidt, Palo Alto, CA (US); Tirthankar Lahiri, Palo Alto, CA (US); Ying Lu, Sunnyvale, CA (US); Douglas James McMahon, Redwood City, CA (US); Aurosish Mishra, Foster City, CA (US); Ajit Mylavarapu, Mountain View, CA (US); Sukhada Pendse, Foster City, CA (US); and Ananth Raghavan, San Francisco, CA (US)
Assigned to ORACLE INTERNATIONAL CORPORATION, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Oct. 14, 2022, as Appl. No. 17/966,730.
Prior Publication US 2024/0126743 A1, Apr. 18, 2024
Int. Cl. G06F 16/00 (2019.01); G06F 16/23 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/2379 (2019.01) [G06F 16/24568 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
executing a database transaction, wherein executing a database transaction includes:
a database management system (DBMS) receiving a request to change a JavaScript Object Notation (JSON) object in a JSON object view comprising a JSON DUALITY VIEW, said JSON DUALITY VIEW defining an object schema for a JSON object in said JSON DUALITY VIEW, said DUALITY VIEW mapping base attributes of a plurality of base tables to fields of said object schema, said request specifying a change to at least one field of said JSON object;
generating a derived set of derived records derived from said JSON object according to said JSON DUALITY VIEW mapping said base attributes of said plurality of base tables to said fields of said object schema;
comparing said derived set of derived records to one or more base records stored in said plurality of base tables of a database;
based on said comparing of said derived set of derived records to said one or more base records, determining that one or more changes to said JSON object represent an update to one or more attributes of said one or more base records stored in said plurality of base tables of said database;
executing one or more change operations to make said one or more changes to said one or more base records; and
committing said one or more changes.