IP Library Granted Patent US 12,517,895
Granted Patent B2
US 12,517,895 · App. 18/171,439 · Granted Jan 6, 2026

Automated external data source interfacing

Inventors: Ashok Anand (Bengaluru, IN); Mahesh Tolani (Ahmedabad, IN); Astha Arya (Bengaluru, IN); Bhanu Prakash (Bengaluru, IN)
Assignee: ThoughtSpot, Inc.
G06F16/2425G06F16/2455G06F16/248
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,517,895
App. No.
18/171,439
Filed
Feb 20, 2023
Granted
Jan 6, 2026
Kind
B2
Art Unit
2156
USPC
707/722
Abstract

Generating a first data query in accordance with a first structured query language includes obtaining first results data responsive to execution of the first data query by a database system, determining that the first result data indicates that the database system is incompatible with the first data query, generating first database operation mapping configuration data, wherein the first database operation mapping configuration data includes first database operation definition data describing the database operation, obtaining second database operation mapping configuration data, wherein the second database operation mapping configuration data includes the first database operation mapping configuration data mapped to second database operation definition data describing the database operation in accordance with the second structured query language, generating a second data query, obtaining second results data responsive to execution of the second data query by the database system, outputting data representing the second results data.

Claims (62)

1 . A method comprising:

generating a first data query in accordance with a first structured query language, wherein the first data query includes a first data-query clause that expresses a database operation implemented by a data access and analysis system in accordance with the first structured query language;

obtaining first results data responsive to execution of the first data query by an external database system, wherein the external database system implements a second structured query language that differs from the first structured query language with respect to the database operation;

determining that the first results data indicates that the external database system is incompatible with the first data query;

generating first database operation mapping configuration data, wherein the first database operation mapping configuration data includes first database operation definition data describing the database operation;

obtaining second database operation mapping configuration data, wherein the second database operation mapping configuration data includes the first database operation mapping configuration data mapped to second database operation definition data, wherein the second database operation definition data describes the database operation in accordance with the second structured query language;

generating a second data query, wherein generating the second data query includes:

accessing the second database operation mapping configuration data corresponding to the database operation to obtain the second database operation definition data;

generating a second data-query clause that expresses the database operation in accordance with the second database operation mapping configuration data; and

including the second data-query clause in the second data query;

obtaining second results data responsive to execution of the second data query by the external database system; and

outputting data representing the second results data.

2 . The method of claim 1 , wherein obtaining the second database operation mapping configuration data comprises:

outputting data representing the first results data; and

receiving user input data updating the data representing the first results data to include an expression of the database operation in accordance with the second structured query language.

3 . A method comprising:

outputting preliminary database operation mapping configuration data indicating a preliminary mapping between a database operation and an expression of the database operation, wherein the database operation is implemented by a data access and analysis system, wherein the expression of the database operation is in accordance with a second structured query language, the preliminary database operation mapping configuration data automatically generated by the data access and analysis system using results data output by an external database system in response to executing a data query automatically generated by the data access and analysis system, the data query expressing the database operation in a first structured query language, the results data indicating that the database operation expressed in the first structured query language is incompatible with the external database system, wherein the external database system implements the second structured query language, wherein outputting the preliminary database operation mapping configuration data includes:

receiving structured query language selection data identifying the first structured query language;

generating initial database operation mapping configuration data using the structured query language selection data;

generating the data query expressing the database operation in the first structured query language using the initial database operation mapping configuration data; and

updating the initial database operation mapping configuration data to generate the preliminary database operation mapping configuration data.

4 . The method of claim 3 , further comprising:

receiving configuration data indicating the expression of the database operation in accordance with the second structured query language; and

outputting database operation mapping configuration data indicating a mapping between the database operation and the expression of the database operation in accordance with the second structured query language.

5 . The method of claim 4 , further comprising:

generating a second data query expressing the database operation in the second structured query language using the database operation mapping configuration data;

obtaining second results data responsive to execution of the second data query by the external database system;

determining that the second results data is correct; and

outputting data representing that the database operation was successful.

6 . The method of claim 3 , wherein:

the structured query language selection data identifies a selection of a structured query language by a user.

7 . The method of claim 3 , wherein outputting the preliminary database operation mapping configuration data includes:

identifying that the database operation expressed in the first structured query language is incompatible with the external database system by identifying an error message returned by the external database system.

8 . The method of claim 3 , further comprising:

receiving second configuration data indicating a second expression of the database operation in accordance with the second structured query language; and

outputting the database operation mapping configuration data indicating a mapping between the database operation and the second expression of the database operation in accordance with the second structured query language.

9 . The method of claim 3 , wherein:

the first structured query language shares at least one common expression of a second database operation implemented by the data access and analysis system with the second structured query language.

10 . An apparatus of a data access and analysis system comprising:

a non-transitory computer-readable storage medium; and

a processor configured to execute instructions stored in the non-transitory computer-readable storage medium to:

output preliminary database operation mapping configuration data indicating a preliminary mapping between a database operation and an expression of the database operation, wherein the database operation is implemented by the data access and analysis system, wherein the expression of the database operation is in accordance with a second structured query language, the preliminary database operation mapping configuration data automatically generated by the data access and analysis system using results data output by an external database system in response to executing a data query automatically generated by the data access and analysis system, the data query expressing the database operation in a first structured query language, the results data indicating that the database operation expressed in the first structured query language is incompatible with the external database system, wherein the external database system implements the second structured query language;

receive structured query language selection data identifying the first structured query language;

generate initial database operation mapping configuration data using the structured query language selection data;

generate the data query expressing the database operation in the first structured query language using initial database operation mapping configuration data; and

update the initial database operation mapping configuration data to generate the preliminary database operation mapping configuration data.

11 . The apparatus of claim 10 , wherein the processor is further configured to execute instructions stored in the non-transitory computer-readable storage medium to:

receive configuration data indicating an expression of the database operation in accordance with the second structured query language; and

output database operation mapping configuration data indicating a mapping between the database operation and an expression of the database operation in accordance with the second structured query language.

12 . The apparatus of claim 11 , wherein the processor is further configured to execute instructions stored in the non-transitory computer-readable storage medium to:

generate a second data query expressing the database operation in the second structured query language using the database operation mapping configuration data;

obtain second results data responsive to execution of the second data query by the external database system;

determine that the second results data is correct; and

output data representing that the database operation was successful.

13 . The apparatus of claim 10 , wherein:

the structured query language selection data identifies a selection of a structured query language by a user.

14 . The apparatus of claim 10 , wherein the processor is further configured to execute instructions stored in the non-transitory computer-readable storage medium to:

identify that the database operation expressed in the first structured query language is incompatible with the external database system, wherein, to identify that the database operation expressed in the first structured query language is incompatible with the external database system, the processor is further configured to execute instructions stored in the non-transitory computer-readable storage medium to identify that the results data is not consistent with the data query.

15 . The apparatus of claim 10 , wherein:

the first structured query language shares at least one common expression of a second database operation implemented by the data access and analysis system with the second structured query language.

16 . The apparatus of claim 10 , wherein the processor is further configured to execute instructions stored in the non-transitory computer-readable storage medium to:

identify that the database operation expressed in the first structured query language is incompatible with the external database system by identifying an error message returned by the external database system.

Assignments (2)
SECURITY INTEREST Recorded Mar 7, 2025
From: THOUGHTSPOT, INC.; THOUGHTSPOT, LLC
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 070442/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2023
From: ANAND, ASHOK; TOLANI, MAHESH; ARYA, ASTHA; PRAKASH, BHANU
To: THOUGHTSPOT, INC.
Reel/Frame 062741/0873 →
Continuity (1)
Related Publication 20240281434A1 · Aug 22, 2024
References Cited (9)
US 5175814A · Anick · 1992 [cited by examiner]
US 7747608B1 · Gheorghe · 2010 [cited by examiner]
US 9798748B2 · Brocato · 2017 [cited by examiner]
US 11567735B1 · Kulkarni · 2023 [cited by examiner]
US 12141137B1 · Arora · 2024 [cited by examiner]
US 20140149419A1 · Kim · 2014 [cited by examiner]
US 20170221118A1 · Pathak · 2017 [cited by examiner]
US 20230004388A1 · Gunda · 2023 [cited by examiner]
US 20240143612A1 · Bigdelu · 2024 [cited by examiner]