Multi-tenant SQL Conditional Execution via Translation Layer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing database systems in cloud computing environments face challenges due to syntactical and behavioral differences, leading to support issues and customer frustration, as developers need to manage various database systems with distinct syntax and features, such as Oracle and Postgres, which complicates query execution and data management.

Innovation Solution

The implementation of a multi-tenant aware structured query language, specifically SFSQL, which includes features like BY ORGID, BY PARTITION, dynamic macros, and conditional statement execution, allows for a unified syntax to operate across multiple database systems, translating queries into native formats for Oracle and Postgres, ensuring consistent behavior and simplifying query management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple database system offerings are provided to satisfy diverse customer needs, then adaptability and customer satisfaction are improved, but syntactical and behavioral differences between systems increase complexity and support burden

Engineering Contradiction:
Improvedatabase system varietyVSAvoidsyntax and behavior inconsistency
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary translation layer that converts a unified query language into database-specific syntax for Oracle and Postgres. This mediator handles the syntactical and behavioral differences between database systems, allowing customers to interact with a single standardized interface while the translation layer manages the complexity of supporting multiple database offerings.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If a single homogeneous database system is provided, then syntax and behavior consistency are improved, but adaptability to diverse customer needs and service provider flexibility are reduced

Engineering Contradiction:
Improvesyntax and behavior consistencyVSAvoiddatabase system variety
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal query language interface that can operate across multiple database system types. This single unified interface performs multiple functions by translating queries to different target databases, eliminating the need for customers to learn and manage multiple syntaxes while maintaining the ability to support diverse database offerings.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If database systems with distinct syntax and features are maintained, then customer ability to choose best-fit systems is preserved, but developer complexity and support issues increase

Engineering Contradiction:
Improvecustomer choiceVSAvoidquery management complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The translation layer acts as an intermediary that shields developers from the complexity of distinct database syntaxes. Customers can write queries in a unified language and the system automatically handles the translation to the appropriate database-specific syntax, preserving customer choice while eliminating the operational burden of managing multiple syntaxes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10649987B2Systems, methods, and apparatuses for implementing conditional statement execution within a multi-tenant aware structured query language
Publication Date: 2020.05.12 SALESFORCE INC
  • US10649987B2 patent drawing
  • US10649987B2 patent drawing
  • US10649987B2 patent drawing

AI summary

In accordance with disclosed embodiments, there are provided systems, methods, and apparatuses for implementing conditional statement execution within a multi-tenant aware structured query language within a computing environment. For instance, such an exemplary system having a processor and a memory therein includes means for operating a multi-tenant database system having customer data stored therein for a plurality of distinct customer organizations; receiving a database query specifying a command term to conditionally execute a sub-portion of the database query when a Boolean evaluation specified with the database query resolves to true and to negate execution of the sub-portion of the database query when the Boolean evaluation resolves to false; parsing the database query to identify the command term specified; parsing the database query to identify any part of the received database query corresponding to the sub-portion of the database query to be conditionally executed or negated pursuant to the Boolean evaluation; generating a new structured query language statement to execute against the multi-tenant database system in fulfillment of the database query received, in which the new structured query language statement includes a semantic structure to execute the sub-portion of the database query when the Boolean evaluation resolves to true and to omit from execution the sub-portion of the database query when the Boolean evaluation resolves to false; and executing the new structured query language statement against the multi-tenant database system. Other related embodiments are disclosed.