Table scan predicate with integrated semi-join filter
US-2024419650-A1 · Dec 19, 2024 · US
US2017193036A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2017193036-A1 |
| Application number | US-201514985298-A |
| Country | US |
| Kind code | A1 |
| Filing date | Dec 30, 2015 |
| Priority date | Dec 30, 2015 |
| Publication date | Jul 6, 2017 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Described herein is a framework to facilitate joining datasets. In accordance with one aspect of the framework, a join request is received from a user interface. The join request may include identifiers for first and second input datasets, as well as one or more join parameters. The join request is automatically converted into a query command based on a query language. The query command is executed to generate an output dataset. An output response including the output dataset may then be sent to the user interface for display.
Opening claim text (preview).
1 . A method of joining datasets, comprising: displaying a first user interface view arranged to enable a user to specify input datasets for joining; displaying a second user interface view arranged to enable the user to specify join parameters; displaying a third user interface view arranged to enable the user to specify output parameters; sending, to a computer system, a join request including the input datasets, the join parameters and the output parameters; converting, by the computer system, the join request into a query command based on a query language; executing, by the computer system, the query command to generate an output dataset; and sending, by the computer system, an output response including the output dataset. 2 . The method of claim I wherein displaying the first user interface view comprises displaying a join diagram that includes a binary tree, wherein an internal node of the binary tree represents a join Operation between child nodes. 3 . The method of claim 1 wherein displaying the second user interface view comprises displaying a join editor arranged to enable the user to specify a join type or a join condition. 4 . The method of claim 1 wherein displaying the second user interface view comprises displaying a list of selectable candidate join conditions with respective match scores. 5 . The method of claim 1 wherein displaying the third user interface view comprises displaying a list of selectable columns of the input datasets. 6 . A system for joining datasets, comprising: a non-transitory memory device for storing computer-readable program code; and a processor in communication with the memory device, the processor being operative with the computer-readable program code to perform operations, comprising receiving, from a user interface, a join request including an identifier for a first input dataset, an identifier for a second input dataset, and one or more join parameters, converting the join request into a query command based on a query language, executing the query command to generate an output dataset, and sending, to the user interface, an output response including the output dataset for display. 7 . The system of claim 6 wherein the processor is operative with the computer-readable program code to perform further operations comprising: selecting columns from the first input dataset and second input dataset; and building one or more candidate join conditions based on the columns. 8 . The system of claim 7 wherein the processor is operative with the computer-readable program code to select the columns by selecting, for each column in the first input dataset, a predetermined number of columns from the second input dataset that has same content type and a range of values that overlaps a range of values of the column in the first input dataset. 9 . The system of claim 7 wherein the processor is operative with the computer-readable program code to select the columns by selecting columns with names ending with a predetermined string. 10 . The system of claim 7 wherein the processor is operative with the computer-readable program code to select the columns by selecting a first column from the first input dataset and a second column from the second input dataset with names that satisfy a fuzzy match condition to each other. 11 . The system of claim 7 wherein the processor is operative with the computer-readable program code to select the columns by selecting a first column from the first input dataset and a second column from the second input dataset with names that satisfy a fuzzy match condition to a name of the first dataset or the second dataset. 12 . The system of claim 7 wherein the processor is operative with the computer-readable program code to select the columns by selecting a first column from the first input dataset and a second column from the second input dataset that have previously been used in a join condition. 13 . The system of claim 7 wherein the processor is operative with the computer-readable program code to perform a further operation, comprising: calculating one or more match scores for the one or more candidate join conditions. 14 . The system of claim 13 wherein the processor is operative with the computer-readable program code to calculate the one or more match scores based on one or more join types associated with the one or more candidate join conditions. 15 . The system of claim 6 wherein the processor is operative with the computer-readable program code to convert the join request into the query command based on structured query language (SQL), 16 . The system of claim 6 wherein the processor is operative with the computer-readable program code to perform additional operations, comprising: displaying a first user interface view arranged to enable a user to specify the first and second input datasets; and displaying a second user interface view arranged to enable the user to specify the one or more join parameters. 17 . The system of claim 16 wherein the processor is operative with the computer-readable program code to display the first user interface view by displaying a join diagram that includes a binary tree, wherein an internal node of the binary tree represents a join operation between child nodes. 18 . The system of claim 16 wherein the processor is operative with the computer-readable program code to display the second user interface view by displaying a list of selectable candidate join conditions with respective match scores. 19 . The system of claim 6 wherein the processor is operative with the computer-readable program code to further display a third user interface view arranged to enable a user to specify output parameters. 20 . A non-transitory computer-readable medium having stored thereon program code, the program code executable by a computer to perform operations comprising: receiving, from a user interface, a join request including an identifier for a first input dataset, an identifier for a second input dataset, and one or more join parameters; converting the join request into a query command based on a query language; executing the query command to generate an output dataset; and sending, to the user interface, an output response including the output dataset for display.
Query predicate definition using graphical user interfaces, including menus and forms (G06F16/2423 takes precedence) · CPC title
Interaction with lists of selectable items, e.g. menus · CPC title
Query formulation · CPC title
Join operations · CPC title
Interaction techniques to control parameter settings, e.g. interaction with sliders or dials · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.