IP Library › Granted Patent US 12,399,871
Granted Patent B1
US 12,399,871 · App. 18/930,012 · Granted Aug 26, 2025

Automated program generator for database operations

Inventors: Kumar Abhinav (Cumming, GA); Jensen Zhang (Brooklyn, NY); Balakrishna Pulivarthi (Cumming, GA); Kavitha Bandarupalli (Cumming, GA); Vamsi Katneni (Alpharetta, GA)
Assignee: Morgan Stanley Services Group Inc.
G06F16/213G06F7/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,399,871
App. No.
18/930,012
Granted
Aug 26, 2025
Kind
B1
Abstract

A computer-implemented method or system is provided for generating programming code automatically for performing database operations. At least one computing device accesses at least one input file. The at least one input file is processed by the at least one computing device to identify at least one operation to be performed on an object associated with a database, wherein the processing further includes generating a database schema. Further, the at least one computing device is configured to generate a plurality of data files representing the at least one operation, and to sort information in the at least one data file. Further, the at least one computing device is configured to determine, as a function of the sorting, an order of steps associated with the at least one operation. Programming code is automatically generated for performing the at least one database operation in accordance with the determined order of steps.

Claims (74)

1. A computer-implemented method for generating programming code automatically for performing database operations, the method comprising:

accessing, by at least one computing device configured by executing programming instructions stored on processor, at least one input file;

processing, by the at least one computing device, the at least one input file to identify at least one operation to be performed on an object associated with a database, wherein the processing further includes generating a database schema;

generating, by the at least one computing device, a plurality of data files representing the at least one operation,

wherein generating the at least one data file comprises:

generating a first folder for storing at least one database schema file representing database operations associated with a new database object;

generating a second folder for storing at least one database schema file representing database operations associated with an existing database object;

determining, as a function of processing the at least one input file, that the at least one database schema file is to be stored in at least one of the first folder and the second folder; and

storing, as a function of the determining, the at least one database schema file in at least one of the first folder and the second folder;

sorting, by the at least one computing device, information in the at least one data file;

determining, by the at least one computing device as a function of the sorting, an order of steps associated with the at least one operation; and

automatically generating, by the at least one computing device, programming code for performing the at least one database operation in accordance with the determined order of steps.

2. The method of claim 1 , further comprising:

where the at least one database schema file is stored in only the first folder:

generating, by the at least one computing device, programming code to include at least one programming statement for adding a database operation;

where the at least one database schema file is stored in only the first folder:

generating, by the at least one computing device, programming code to include at least one programming statement for an add database operation;

where the at least one database schema file is stored in only the second folder:

generating, by the at least one computing device, programming code to include at least one programming statement for a delete database operation; and

where the at least one database schema file is stored in both the first folder and the second folder:

generating, by the at least one computing device, programming code to include at least one programming statement for an update database operation.

3. The method of claim 1 , wherein sorting, by the at least one computing device, the information in the at least one data file further comprises:

performing, by the at least one computing device, a diff operation and generating, as a function of the diff operation, at least one node including the information;

identifying, by the at least one computing device, multiple rows of data in the at least one node;

generating, by the at least one computing device, a respective identifier associated with each of the rows; and

sorting, by the at least one database, the information set forth each of the rows based on the respective identifier.

4. The method of claim 1 , wherein at least one of the plurality of generated data files is associated with implementing an upgrade to a database table and at least one of the plurality of generated data files is associated with implementing a downgrade to the database table.

5. The method of claim 4 , wherein generating the programming code further comprises:

generating, by the at least one computing device, at least one of a delete command, an insert command, and an update command for implementing the upgrade to the database table; and

generating, by the at least one computing device, at least one of an update command, a delete command, and an insert command for implementing the downgrade to the database table.

6. The method of claim 5 , further comprising:

determining, by the at least one computing device, for each of the upgrade to the database table and the downgrade to the database table, existence of a not null restriction and default values; and

preparing at least one where clause as a function of the determining the not null restriction and the default values.

7. The method of claim 1 , further comprising:

providing, by the at least one computing device, a metadata management tool that, when executed by the at least one computing device, automatically generates the programming code for performing the at least one database operation.

8. The method of claim 1 , wherein the programming code is structured query language.

9. The method of claim 1 , wherein the at least one database operation is to be performed in SYBASE.

10. A computer-implemented system for generating programming code automatically for performing database operations, the system comprising:

a computing device having at least one processor that, when executing instructions stored on non-transitory processor readable media, is configured to:

access at least one input file;

process the at least one input file to identify at least one operation to be performed on an object associated with a database, wherein the processing further includes generating a database schema;

generate a plurality of data files representing the at least one operation, including by:

generating a first folder for storing at least one database schema file representing database operations associated with a new database object;

generating a second folder for storing at least one database schema file representing database operations associated with an existing database object;

determining, as a function of processing the at least one input file, that the at least one database schema file is to be stored in at least one of the first folder and the second folder; and

storing, as a function of the determining, the at least one database schema file in at least one of the first folder and the second folder;

sort information in the at least one data file;

determine, as a function of the sorting, an order of steps associated with the at least one operation; and

automatically generate programming code for performing the at least one database operation in accordance with the determined order of steps.

11. The system of claim 1 , wherein the at least one computing device is further configured to:

where the at least one database schema file is stored in only the first folder:

generate programming code to include at least one programming statement for adding a database operation;

where the at least one database schema file is stored in only the first folder:

generate programming code to include at least one programming statement for an add database operation;

where the at least one database schema file is stored in only the second folder:

generate programming code to include at least one programming statement for a delete database operation; and

where the at least one database schema file is stored in both the first folder and the second folder:

generate programming code to include at least one programming statement for an update database operation.

12. The system of claim 10 , wherein sorting the information in the at least one data file further comprises:

performing a diff operation and generating, as a function of the diff operation, at least one node including the information;

identifying multiple rows of data in the at least one node;

generating a respective identifier associated with each of the rows; and

sorting the information set forth each of the rows based on the respective identifier.

13. The system of claim 10 , wherein at least one of the plurality of generated data files is associated with implementing an upgrade to a database table and at least one of the plurality of generated data files is associated with implementing a downgrade to the database table.

14. The system of claim 13 , wherein the programming code is generated by:

generating at least one of a delete command, an insert command, and an update command for implementing the upgrade to the database table; and

generating at least one of an update command, a delete command, and an insert command for implementing the downgrade to the database table.

15. The system of claim 14 , wherein the at least one computing device is further configured to:

determine, for each of the upgrade to the database table and the downgrade to the database table, existence of a not null restriction and default values; and

prepare at least one where clause as a function of the determining the not null restriction and the default values.

16. The system of claim 10 , wherein the at least one computing device is further configured to:

provide a metadata management tool that, when executed by the at least one computing device, automatically generates the programming code for performing the at least one database operation.

17. The system of claim 10 , wherein the programming code is structured query language.

18. The system of claim 10 , wherein the at least one database operation is to be performed in SYBASE.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2024
From: KATNENI, VAMSI; ZHANG, JENSEN; PULIVARTHI, BALAKRISHNA; BANDARUPALLI, KAVITHA; ABHINAV, KUMAR
To: MORGAN STANLEY SERVICES GROUP INC.
Reel/Frame 069057/0080 →
References Cited (20)
US 8407237B1 · Kudryavtsev et al. · 2013 [cited by applicant]
US 11768851B2 · Ossher · 2023 [cited by examiner]
US 12174830B2 · Zhang · 2024 [cited by examiner]
US 12235799B2 · Periyagaram · 2025 [cited by examiner]
US 20040031030A1 · Kidder · 2004 [cited by examiner]
US 20050222990A1 · Milne · 2005 [cited by applicant]
US 20060149706A1 · Prang et al. · 2006 [cited by applicant]
US 20070061287A1 · Le · 2007 [cited by examiner]
US 20080177770A1 · Friedlander · 2008 [cited by examiner]
US 20110213759A1 · Zazrivec · 2011 [cited by examiner]
US 20130060731A1 · Bailey, Jr. et al. · 2013 [cited by applicant]
US 20190007895A1 · Bregler · 2019 [cited by examiner]
US 20210165776A1 · Nejad et al. · 2021 [cited by applicant]
US 20210208858A1 · Munaganuru · 2021 [cited by examiner]
US 20210224409A1 · Avanes · 2021 [cited by examiner]
US 20210248143A1 · Khillar · 2021 [cited by examiner]
US 20230350889A1 · Elad et al. · 2023 [cited by applicant]
US 20240028305A1 · Francois · 2024 [cited by applicant]
US 20250156380A1 · Desmarets · 2025 [cited by examiner]
US 20250156384A1 · Rajagopalan · 2025 [cited by examiner]