| CPC G06F 16/24537 (2019.01) [G06F 16/24542 (2019.01)] | 20 Claims |

|
1. A database management system comprising:
a memory storing a database that includes at least a structured component, the structured component defines at least a field name and a data type for each data field defined by the structured component;
a query processor configured to generate query output from a database in response to query commands formatted in a native query syntax; and
a query validator configurable to conditionally reject query requests prior to submission to the query processor, the query validator comprising at least one processor executing instructions that are configured to cause the at least one processor to:
receive, from a requesting device, a text input string defining components of a source operation that includes a select query for the database in a first representation, the first representation being different than a native query syntax of the database;
parse, from the text input string, a set of key-value pairs that define search filter conditions of the select query, the set of key-value pairs includes a first key-value pair, the first key-value pair includes at least a first property and a first operand value;
identify an operator associated with the first key-value pair;
determine a data type of the first operand value;
pre-condition a validation of the operator and the first operand value for the first property using one or more Java annotations to determine a data type of the first property based on a plurality of stored properties, a plurality of stored data types for the plurality of stored properties, and a predefined set of one or more eligible operators defined for the data type of the first property; wherein a first method of the one or more Java annotations is used to determine the data type of the first property and a second method of the one or more Java annotations is used to determine the predefined set of one or more eligible operators defined for the data type of the first property;
perform the validation of the operator and the first operand value for the first property at least in part by:
comparing the operator with the predefined set of one or more eligible operators defined for the data type of the first property;
comparing the data type of the first operand value with the data type of the first property; and
cause a first destination operation that includes at least a first structured query language (SQL) query to be created and transmitted to the query processor for execution when (i) the operator is determined to be within the predefined set of one or more eligible operators and (ii) the data type of the first operand value is determined to match the data type of the first property.
|