Patents by Inventor Colm McHugh

Colm McHugh has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 12639291
    Abstract: Techniques are disclosed relating to implementing multiple index scans. A computer system may store a database table comprising fields and indexes corresponding to those fields. The computer system may receive a request to access records based on a Boolean expression that affects a selection of records from the database table and that comprises clauses, at least two of which are joined by an AND operation. The computer system may access the requested records. The accessing may include, for a given one of the at least two clauses, performing an index scan on an index that corresponds to the given clause to identify records that satisfy that clause. The computer system may update a hash table based on the identified records and then identify the requested records based on the hash table. The Boolean expression may include clauses joined by an OR operation that are processed using multiple index scans.
    Type: Grant
    Filed: January 16, 2025
    Date of Patent: May 26, 2026
    Assignee: Salesforce, Inc.
    Inventors: Colm McHugh, Rama K. Korlapati, Yi Xia
  • Patent number: 12632452
    Abstract: Techniques are disclosed relating to managing database queries. In some embodiments, a server system receives a query from a computer system and determines a set of aspects for the query, including at least a number of columns specified in the query and a computational cost of executing the query. The system generates a query vector based on the set of aspects determined for the query. The system then compares the query vector with a plurality of clusters, ones of the plurality of clusters comprising two or more previously generates query vectors generated based on aspects of queries previously received by the server system. Based on the comparing, specifically a distance between the query vector and the plurality of clusters of previously generated query vectors, the system classifies the query. Based on a classification of the query determined during the classifying, the system manages the query.
    Type: Grant
    Filed: January 13, 2025
    Date of Patent: May 19, 2026
    Assignee: Salesforce, Inc.
    Inventors: Anup Ghatage, Colm McHugh
  • Publication number: 20260119502
    Abstract: In an embodiment, a computer system performs a hash join. During a build phase, the computer system constructs a hash table in memory based on rows of a first table. The constructing may result in build batches of rows, including one build batch stored in memory and multiple build batches stored in a storage. The computer system determines whether any of the multiple build batches is skewed according to a data skew condition. In response to determining that there is at least one build batch that is skewed, the computer system loads one or more of the multiple build batches into memory such that there are at least two build batches stored in memory. During a probe phase, the computer system identifies, based on the at least two build batches stored in memory, rows of a second table to join with the rows of the first table.
    Type: Application
    Filed: October 28, 2024
    Publication date: April 30, 2026
    Inventors: Rui Zhang, Colm McHugh, Yi Xia
  • Publication number: 20250371009
    Abstract: Techniques are disclosed relating to database query optimizers. In some embodiments, a system receives, from a query optimizer, a plurality of query plans for a database maintained by the database system. The system retrieves a set of database statistics for the database and generates, via a data synthesizer, a plurality of synthetic datasets, where generating a given synthetic dataset is performed based on a given query plan of the plurality of query plans and the set of database statistics, and includes generating a plurality of synthetic data tuples. The system executes the plurality of query plans on the plurality of synthetic datasets and updates the query optimizer based on results of executing the plurality of query plans on the plurality of synthetic datasets. The disclosed data synthesis may advantageously improve query performance due to more efficient query plans being selected for execution of requested queries.
    Type: Application
    Filed: August 11, 2025
    Publication date: December 4, 2025
    Inventors: Bradley Glasbergen, Yen-Li Laih, Yi Xia, Colm McHugh, Prateek Swamy
  • Publication number: 20250291800
    Abstract: Techniques are disclosed relating to query planning and execution. A computer system can receive a database statement that comprises a LIKE predicate that defines a set of pattern parameters. The computer system may generate first and second query paths for a query plan associated with the database statement. The first query path utilizes an index associated with a database table specified by the database statement while the second query path does not utilize the index. The computer system executes the database statement in accordance with the query plan and values that are provided for the set of pattern parameters. As a part of executing the database statement, the computer system may evaluate those values to determine whether they are prefix constants and execute the first query path instead of the second query path if all the values are prefix constants.
    Type: Application
    Filed: May 29, 2025
    Publication date: September 18, 2025
    Inventors: Colm McHugh, Bradley Glasbergen, Prateek Swamy, Yi Xia
  • Patent number: 12386832
    Abstract: Techniques are disclosed relating to database query optimizers. In some embodiments, a system receives, from a query optimizer, a plurality of query plans for a database maintained by the database system. The system retrieves a set of database statistics for the database and generates, via a data synthesizer, a plurality of synthetic datasets, where generating a given synthetic dataset is performed based on a given query plan of the plurality of query plans and the set of database statistics, and includes generating a plurality of synthetic data tuples. The system executes the plurality of query plans on the plurality of synthetic datasets and updates the query optimizer based on results of executing the plurality of query plans on the plurality of synthetic datasets. The disclosed data synthesis may advantageously improve query performance due to more efficient query plans being selected for execution of requested queries.
    Type: Grant
    Filed: January 26, 2024
    Date of Patent: August 12, 2025
    Assignee: Salesforce, Inc.
    Inventors: Bradley Glasbergen, Yen-Li Laih, Yi Xia, Colm McHugh, Prateek Swamy
  • Publication number: 20250245229
    Abstract: Techniques are disclosed relating to database configuration settings overrides. In some embodiments, a database system stores a set of default configuration settings that control operation of the database system. The database system receives a query requesting data from the database system, and metadata about the query. The database system determines, based on the query and the metadata, that a configuration settings override has been specified for the query, where the configuration settings override indicates that one or more of the default configuration settings are to be replaced with one or more configuration settings specific to the query. In response to the determining that a configuration settings override has been specified, the database system executes the query using the one or more specific configuration settings.
    Type: Application
    Filed: January 26, 2024
    Publication date: July 31, 2025
    Inventors: Prateek Swamy, Yi Xia, Colm McHugh, Bradley Glasbergen
  • Publication number: 20250245223
    Abstract: Techniques are disclosed relating to database query optimizers. In some embodiments, a system receives, from a query optimizer, a plurality of query plans for a database maintained by the database system. The system retrieves a set of database statistics for the database and generates, via a data synthesizer, a plurality of synthetic datasets, where generating a given synthetic dataset is performed based on a given query plan of the plurality of query plans and the set of database statistics, and includes generating a plurality of synthetic data tuples. The system executes the plurality of query plans on the plurality of synthetic datasets and updates the query optimizer based on results of executing the plurality of query plans on the plurality of synthetic datasets. The disclosed data synthesis may advantageously improve query performance due to more efficient query plans being selected for execution of requested queries.
    Type: Application
    Filed: January 26, 2024
    Publication date: July 31, 2025
    Inventors: Bradley Glasbergen, Yen-Li Laih, Yi Xia, Colm McHugh, Prateek Swamy
  • Publication number: 20250245231
    Abstract: Techniques are disclosed relating to query planning and execution. A computer system can receive a database statement that comprises a LIKE predicate that defines a set of pattern parameters. The computer system may generate first and second query paths for a query plan associated with the database statement. The first query path utilizes an index associated with a database table specified by the database statement while the second query path does not utilize the index. The computer system executes the database statement in accordance with the query plan and values that are provided for the set of pattern parameters. As a part of executing the database statement, the computer system may evaluate those values to determine whether they are prefix constants and execute the first query path instead of the second query path if all the values are prefix constants.
    Type: Application
    Filed: January 26, 2024
    Publication date: July 31, 2025
    Inventors: Colm McHugh, Bradley Glasbergen, Prateek Swamy, Yi Xia
  • Patent number: 12373438
    Abstract: Techniques are disclosed relating to query planning and execution. A computer system can receive a database statement that comprises a LIKE predicate that defines a set of pattern parameters. The computer system may generate first and second query paths for a query plan associated with the database statement. The first query path utilizes an index associated with a database table specified by the database statement while the second query path does not utilize the index. The computer system executes the database statement in accordance with the query plan and values that are provided for the set of pattern parameters. As a part of executing the database statement, the computer system may evaluate those values to determine whether they are prefix constants and execute the first query path instead of the second query path if all the values are prefix constants.
    Type: Grant
    Filed: January 26, 2024
    Date of Patent: July 29, 2025
    Assignee: Salesforce, Inc.
    Inventors: Colm McHugh, Bradley Glasbergen, Prateek Swamy, Yi Xia
  • Publication number: 20250238422
    Abstract: Techniques are disclosed relating to managing database queries. In some embodiments, a server system receives a query from a computer system and determines a set of aspects for the query, including at least a number of columns specified in the query and a computational cost of executing the query. The system generates a query vector based on the set of aspects determined for the query. The system then compares the query vector with a plurality of clusters, ones of the plurality of clusters comprising two or more previously generates query vectors generated based on aspects of queries previously received by the server system. Based on the comparing, specifically a distance between the query vector and the plurality of clusters of previously generated query vectors, the system classifies the query. Based on a classification of the query determined during the classifying, the system manages the query.
    Type: Application
    Filed: January 13, 2025
    Publication date: July 24, 2025
    Inventors: Anup Ghatage, Colm McHugh
  • Publication number: 20250156403
    Abstract: Techniques are disclosed relating to implementing multiple index scans. A computer system may store a database table comprising fields and indexes corresponding to those fields. The computer system may receive a request to access records based on a Boolean expression that affects a selection of records from the database table and that comprises clauses, at least two of which are joined by an AND operation. The computer system may access the requested records. The accessing may include, for a given one of the at least two clauses, performing an index scan on an index that corresponds to the given clause to identify records that satisfy that clause. The computer system may update a hash table based on the identified records and then identify the requested records based on the hash table. The Boolean expression may include clauses joined by an OR operation that are processed using multiple index scans.
    Type: Application
    Filed: January 16, 2025
    Publication date: May 15, 2025
    Inventors: Colm McHugh, Rama K. Korlapati, Yi Xia
  • Patent number: 12235844
    Abstract: Techniques are disclosed relating to managing database queries. In some embodiments, a server system receives a query from a computer system and determines a set of aspects for the query, including at least a number of columns specified in the query and a computational cost of executing the query. The system generates a query vector based on the set of aspects determined for the query. The system then compares the query vector with a plurality of clusters, ones of the plurality of clusters comprising two or more previously generates query vectors generated based on aspects of queries previously received by the server system. Based on the comparing, specifically a distance between the query vector and the plurality of clusters of previously generated query vectors, the system classifies the query. Based on a classification of the query determined during the classifying, the system manages the query.
    Type: Grant
    Filed: January 22, 2024
    Date of Patent: February 25, 2025
    Assignee: Salesforce, Inc.
    Inventors: Anup Ghatage, Colm McHugh
  • Patent number: 12229119
    Abstract: Techniques are disclosed relating to implementing multiple index scans. A computer system may store a database table comprising fields and indexes corresponding to those fields. The computer system may receive a request to access records based on a Boolean expression that affects a selection of records from the database table and that comprises clauses, at least two of which are joined by an AND operation. The computer system may access the requested records. The accessing may include, for a given one of the at least two clauses, performing an index scan on an index that corresponds to the given clause to identify records that satisfy that clause. The computer system may update a hash table based on the identified records and then identify the requested records based on the hash table. The Boolean expression may include clauses joined by an OR operation that are processed using multiple index scans.
    Type: Grant
    Filed: December 29, 2021
    Date of Patent: February 18, 2025
    Assignee: Salesforce, Inc.
    Inventors: Colm McHugh, Rama K. Korlapati, Yi Xia
  • Publication number: 20230205760
    Abstract: Techniques are disclosed relating to implementing multiple index scans. A computer system may store a database table comprising fields and indexes corresponding to those fields. The computer system may receive a request to access records based on a Boolean expression that affects a selection of records from the database table and that comprises clauses, at least two of which are joined by an AND operation. The computer system may access the requested records. The accessing may include, for a given one of the at least two clauses, performing an index scan on an index that corresponds to the given clause to identify records that satisfy that clause. The computer system may update a hash table based on the identified records and then identify the requested records based on the hash table. The Boolean expression may include clauses joined by an OR operation that are processed using multiple index scans.
    Type: Application
    Filed: December 29, 2021
    Publication date: June 29, 2023
    Inventors: Colm McHugh, Rama K. Korlapati, Yi Xia