# US 12,182,113 B1 · Managing database systems using human-readable declarative definitions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,182,113 B1
- Document ID: US12182113B1
- Status: Granted
- Kind: B1
- Application number: 18/151,494
- Filed: 2023-01-09
- Granted: 2024-12-31
- Earliest claimed: 2022-11-03
- Assignees: Pure Storage, Inc.
- Applicants: Pure Storage, Inc.
- Inventors: James Orson; Wei Li; Daniel Sonka
- Web page: https://patentgrep.com/patent/US12182113B1

## CPC

- G06F 16/2445: {Data retrieval commands; View definitions}
- G06F 16/211: {Schema design and management}
- G06F 16/2423: {Interactive query statement specification based on a database schema}
- G06F 16/24537: {of operators}
- G06F 16/28: Databases characterised by their database models, e.g. relational or object models
- G06F 16/289: {Object oriented databases}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Managing database systems using human-readable declarative definitions, including reading, by a database development tool, a declarative expression for at least part of a database; identifying, by the database development tool, a first database platform including a native database language; and generating, by the database development tool, in dependence upon the declarative expression and the first database platform, a first set of native database language statements defining at least a portion of the database.

## Claims

### Claim 1

A method comprising:
reading, by a database development tool, a human-readable declarative expression for at least part of a database;
identifying, by the database development tool, a first database platform from a plurality of database platforms, at least in part based upon an indication in the declarative expression for at least part of a database, the first database platform including a native database language;
generating, by the database development tool, a first set of native database language statements defining at least a portion of the database based on the declarative expression and the first database platform, by translating the declarative expression using rules native to the database platform; and
executing, by the database development tool, an integration test of the first set of native database language statements using a test instance of the database and generated test data including validating the first set of native database language statements.

### Claim 2 (depends on 1)

The method of claim 1, wherein the database development tool includes a continuous integration and continuous deployment (CI/CD) environment.

### Claim 3 (depends on 1)

The method of claim 1, wherein the declarative expression is provided in a human-readable data serialization language.

### Claim 4 (depends on 1)

The method of claim 1, wherein the declarative expression describes one or more database objects, the one or more database objects including one or more of a schema, table, procedure, task, stream, and view.

### Claim 5 (depends on 1)

The method of claim 1 wherein generating, by the database development tool, in dependence upon the declarative expression and the first database platform, a first set of native database language statements defining at least a portion of the database includes:
identifying one or more differences between a proposed state of the database that is defined in the declarative expression and a current state of the database; and
generating the first set of native database language statements based on the one or more differences.

### Claim 6 (depends on 5)

The method of claim 5 further comprising:
presenting, to a user, a change set delineating the one or more differences.

### Claim 7 (depends on 1)

The method of claim 1, wherein the execution of the integration test automatically deploys infrastructure for the test instance of the database.

### Claim 8 (depends on 1)

The method of claim 1, wherein the execution of the integration test automatically generates test data for the test instance of the database.

### Claim 9 (depends on 1)

The method of claim 1 further comprising:
applying the first set of native database language statements to the database.

### Claim 10 (depends on 9)

The method of claim 9, wherein the first set of native database language statements is applied in response to a user input indicating approval of the first set of native database language statements.

### Claim 11 (depends on 1)

The method of claim 1 further comprising:
identifying a second database platform having a native database language that is different from the first database platform; and
generating, in dependence upon the declarative expression and the second database platform, a second set of native database language statements defining at least a portion of the database.

### Claim 12 (depends on 1)

The method of claim 1 wherein executing, by the database development tool, an integration test of the first set of native database language statements using a test instance of the database includes applying a query embodying the first set of native database language statements to the test instance of the database.

### Claim 13

An apparatus comprising:
a memory; and
a processor, operatively coupled to the memory, configured to:
read, by a database development tool, a human-readable declarative expression for at least part of a database;
identify, by the database development tool, a first database platform from a plurality of database platforms, at least in part based upon an indication in the declarative expression for at least part of a database, the first database platform including a native database language;
generate, by the database development tool, a first set of native database language statements defining at least a portion of the database based on the declarative expression and the first database platform, by translating the declarative expression using rules native to the database platform; and
execute, by the database development tool, an integration test of the first set of native database language statements using a test instance of the database and generated test data including validating the first set of native database language statements.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the database development tool includes a continuous integration and continuous deployment (CI/CD) environment.

### Claim 15 (depends on 13)

The apparatus of claim 13, wherein the declarative expression is provided in a human-readable data serialization language.

### Claim 16 (depends on 13)

The apparatus of claim 13 wherein to generate, by the database development tool, in dependence upon the declarative expression and the first database platform, a first set of native database language statements defining at least a portion of the database, the processor is further configured to:
identify one or more differences between a proposed state of the database that is defined in the declarative expression and a current state of the database; and
generate the first set of native database language statements based on the one or more differences.

### Claim 17 (depends on 13)

The apparatus of claim 13, wherein to execute, by the database development tool, an integration test of the first set of native database language statements using a test instance of the database, the processor is further configured to apply a query embodying the first set of native database language statements to the test instance of the database.

### Claim 18

A non-transitory computer readable storage medium storing instructions which, when executed, cause a processor to:
read, by a database development tool, a human-readable declarative expression for at least part of a database;
identify, by the database development tool, a first database platform from a plurality of database platforms, at least in part based upon an indication in the declarative expression for at least part of a database, the first database platform including a native database language;
generate, by the database development tool, a first set of native database language statements defining at least a portion of the database based on the declarative expression and the first database platform, by translating the declarative expression using rules native to the database platform; and
execute, by the database development tool, an integration test of the first set of native database language statements using a test instance of the database and generated test data including validating the first set of native database language statements.

### Claim 19 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein the database development tool includes a continuous integration and continuous deployment (CI/CD) environment.

### Claim 20 (depends on 18)

The non-transitory computer readable storage medium of claim 18 wherein to generate, by the database development tool, in dependence upon the declarative expression and the first database platform, a first set of native database language statements defining at least a portion of the database, the processor is further configured to:
identify one or more differences between a proposed state of the database that is defined in the declarative expression and a current state of the database; and
generate the first set of native database language statements based on the one or more differences.

### Claim 21 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein to execute, by the database development tool, an integration test of the first set of native database language statements using a test instance of the database, the processor is further configured to apply a query embodying the first set of native database language statements to the test instance of the database.
