Database object type for querying and transactional consumption of changes in queries results

US11301451B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11301451-B1
Application numberUS-202117460974-A
CountryUS
Kind codeB1
Filing dateAug 30, 2021
Priority dateAug 30, 2021
Publication dateApr 12, 2022
Grant dateApr 12, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Provided herein are systems and methods for a stream object configuration, including configuring and processing streams on views. For example, a method includes detecting a first stream object on a view. The view includes a query associated with a source table. A syntax tree of the query is determined based on a definition of the view. The view is expanded based on replacing the first stream object with the syntax tree. The syntax tree includes a second stream object on the source table. Stream expansion of the second stream object is performed based on computing changes on the source table.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: at least one hardware processor; and at least one memory storing instructions that cause the at least one hardware processor to perform operations comprising: detecting a first stream object on a view, the view comprising a query associated with a source table, the first stream object comprising a plurality of query results of executing the query and a corresponding plurality of time stamps associated with times the plurality of query results are obtained; determining a syntax tree of the query based on a definition of the view, the definition of the view comprising at least one database operation associated with the source table; expanding the view based on replacing the first stream object with the syntax tree, the syntax tree comprising a second stream object, the second stream object applied on the source table and the second stream object corresponding to the at least one database operation; and performing stream expansion of the second stream object based on computing changes on the source table. 2. The system of claim 1 , wherein during performing the stream expansion, the instructions further cause the at least one hardware processor to perform operations comprising: converting the second stream object on the source table into a second query; and performing the second query to compute the changes on the source table. 3. The system of claim 2 , wherein during performing the second query, the instructions further cause the at least one hardware processor to perform operations comprising: determining added and deleted micro-partitions in the source table. 4. The system of claim 3 , wherein during performing the second query, the instructions further cause the at least one hardware processor to perform operations comprising: joining rows from the added and deleted micro-partitions to compute the changes in the source table. 5. The system of claim 1 , wherein the query is associated with a plurality of source tables, the plurality of source tables comprising the source table and at least a second source table. 6. The system of claim 5 , wherein the instructions further cause the at least one hardware processor to perform operations comprising: expanding the view based on replacing the first stream object on the view with the syntax tree, the syntax tree comprising the second stream object on the source table and at least a third stream object on the at least a second source table. 7. The system of claim 6 , wherein the instructions further cause the at least one hardware processor to perform operations comprising: converting the second stream object on the source table into a second query; and converting the third stream object on the at least a second source table into a third query. 8. The system of claim 7 , wherein the instructions further cause the at least one hardware processor to perform operations comprising: performing the stream expansion of the second stream object based on performing the second query to compute the changes on the source table; and performing stream expansion of the third stream object based on performing the third query to compute changes on the at least a second source table. 9. The system of claim 8 , wherein the syntax tree comprises a join operation between the second stream object and the at least a third stream object, and wherein the instructions further cause the at least one hardware processor to perform operations comprising: replacing the join operation associated with the expanding of the view with a union of two join operations associated with the stream expansion of the second stream object and the stream expansion of the third stream object. 10. The system of claim 8 , wherein the second query or the third query comprises a change node requesting a change operation, and the instructions further cause the at least one hardware processor to perform operations comprising: during the stream expansion of the second stream object or the stream expansion of the third stream object: rewriting the second query or the third query to compute changes associated with the change operation. 11. A method comprising: detecting a first stream object on a view, the view comprising a query associated with a source table, the first stream object comprising a plurality of query results of executing the query and a corresponding plurality of time stamps associated with times the plurality of query results are obtained; determining a syntax tree of the query based on a definition of the view, the definition of the view comprising at least one database operation associated with the source table; expanding the view based on replacing the first stream object with the syntax tree, the syntax tree comprising a second stream object, the second stream object applied on the source table and the second stream object corresponding to the at least one database operation on the source table; and performing stream expansion of the second stream object based on computing changes on the source table. 12. The method of claim 11 , wherein performing the stream expansion further comprises: converting the second stream object on the source table into a second query; and performing the second query to compute the changes on the source table. 13. The method of claim 12 , wherein performing the second query further comprises: determining added and deleted micro-partitions in the source table. 14. The method of claim 13 , wherein performing the second query further comprises: joining rows from the added and deleted micro-partitions to compute the changes in the source table. 15. The method of claim 11 , wherein the query is associated with a plurality of source tables, the plurality of source tables comprising the source table and at least a second source table. 16. The method of claim 15 , further comprising: expanding the view based on replacing the first stream object on the view with the syntax tree, the syntax tree comprising the second stream object on the source table and at least a third stream object on the at least a second source table. 17. The method of claim 16 , further comprising: converting the second stream object on the source table into a second query; and converting the third stream object on the at least a second source table into a third query. 18. The method of claim 17 , further comprising: performing the stream expansion of the second stream object based on performing the second query to compute the changes on the source table; and performing stream expansion of the third stream object based on performing the third query to compute changes on the at least a second source table. 19. The method of claim 18 , wherein the syntax tree comprises a join operation between the second stream object and the at least a third stream object, and wherein the method further comprises: replacing the join operation associated with the expanding of the view with a union of two join operations associated with the stream expansion of the second stream object and the stream expansion of the third stream object. 20. The method of claim 18 , wherein the second query or the third query comprises a change node requesting a change operation, and wherein the method further comprises: during the stream expansion of the second stream object or the stream expansion of the third stream object: rewriting the second query or the third query to compute changes associated with the change operation. 21. A c

Assignees

Inventors

Classifications

  • Data stream processing; Continuous queries · CPC title

  • Change logging, detection, and notification (replication G06F16/27) · CPC title

  • Tablespace storage structures; Management thereof · CPC title

  • Join operations · CPC title

  • Data partitioning, e.g. horizontal or vertical partitioning · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11301451B1 cover?
Provided herein are systems and methods for a stream object configuration, including configuring and processing streams on views. For example, a method includes detecting a first stream object on a view. The view includes a query associated with a source table. A syntax tree of the query is determined based on a definition of the view. The view is expanded based on replacing the first stream ob…
Who is the assignee on this patent?
Snowflake Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/24568. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 12 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).