GDQ Data Type Support
Detailed Connector Support Summary
This document explains the supported and unsupported data types for different connectors within the Governed Data Query (GDQ) framework. It provides a reference to ensure compatibility and proper data handling across various data sources. The document is a work in progress, with connectors and data type research updated as new inputs become available.
Connectors List
GDQ Operators by Connector
MySQL
Supported Operators and Data Types
EQUALS
GDQ Supported Data Types: CHAR, VARCHAR, TEXT, TINYTEXT, MEDIUMTEXT, LONGTEXT
GDQ not supported Data Types:
Numeric Type: TinyInt, SmallInt, MediumInt, Int, BigInt, Decimal, Double, Float (Since numeric literals are always quoted as strings, comparisons may fail or rely on MySQL’s implicit conversion—which can be unreliable.)
Date/Time Types: YEAR, DATE, DATETIME, TIMESTAMP, TIME (These types require specific literal formats and handling that the current implementation does not provide.)
Boolean Types: BOOLEAN (or TINYINT(1) when used as a boolean) (No specialized logic is in place to handle true/false conditions.)
Binary/Complex Types: BLOB, TINYBLOB, MEDIUMBLOB, LONGBLOB
Not Supported by connector for the operator: JSON, BINARY, VARBINARY
Sample Query: SELECT * FROM `ovaledge`.`Customers` WHERE `ID` = 1 AND `orders` = 2;
Comments: Floating-point comparisons may be unreliable due to precision limitations.
LIKE
GDQ Supported Data Types: CHAR, VARCHAR, TEXT, TINYTEXT, MEDIUMTEXT, LONGTEXT
Not Supported by connector for the operator: JSON, BINARY, VARBINARY, Numeric types, DATE, TIME
Sample Query: SELECT * FROM `ovaledge`.`Customers` WHERE `name` LIKE 'J%' AND `Country` LIKE '%a' AND `Address` LIKE '%Street%';
I_LIKE
GDQ Supported Data Types: CHAR, VARCHAR, TEXT
Not Supported by connector for the operator:: JSON, BINARY, VARBINARY, Numeric types, DATE, TIME
Sample Query: SELECT * FROM `ovaledge`.`Customers` WHERE `name` LIKE 'J%' COLLATE utf8mb4_general_ci;
IS_NOT_EMPTY / IS_EMPTY
GDQ Supported Data Types: CHAR, VARCHAR, TEXT
Not Supported by connector for the operator: JSON, BINARY, VARBINARY, Numeric types, DATE, TIME
Sample Query: SELECT * FROM `ovaledge`.`Customers` WHERE COALESCE(LENGTH(TRIM(`Name`)), 0) <> 0;
IS_NULL / IS_NOT_NULL
GDQ Supported Data Types: CHAR, VARCHAR, TEXT
Not Supported by connector for the operator: JSON, BINARY, VARBINARY, Numeric types, DATE, TIME
Sample Query: SELECT * FROM `ovaledge`.`Customers` WHERE `name` IS NULL;
Oracle
Supported Operators and Data Types
EQUALS
GDQ Supported Data Types: CHAR, NCHAR, VARCHAR2, NVARCHAR2
GDQ not supported Data Types:
Numeric Types: NUMBER, INTEGER, DECIMAL, FLOAT, BINARY_FLOAT, BINARY_DOUBLE (Applying LOWER() on a numeric column or comparing a numeric literal wrapped in quotes will result in errors or unintended behavior.)
Date/Time Types DATE, TIMESTAMP, TIME,DATE, INTERVAL (These require specific literal formats and conversion logic that this implementation does not provide.)
Boolean Types: (Oracle does not have a native Boolean type in SQL; however, if numeric or text-based booleans are used, they are not handled by this string-based logic.)
Binary/Other Complex Types:
BLOB, RAW. (These types need specialized handling that isn’t included in the current query builder.)
Not Supported by connector for the operator: Blob, Clob
Sample Query SELECT * FROM "ORACLE"."customers" WHERE "ID" = 1 AND "ORDERS" = 2;
Comments: Floating-point comparisons may be unreliable due to precision limits.
LIKE
GDQ Supported Data Types: CHAR, NCHAR, VARCHAR2, NVARCHAR2
Not Supported by connector for the operator: NUMBER, FLOAT, INTERVAL, DATE, TIMESTAMP, BLOB, CLOB
Sample Query: SELECT * FROM "ORACLE"."customers" WHERE "NAME" LIKE 'john%';
I_LIKE
GDQ Supported Data Types: CHAR, NCHAR, VARCHAR2, NVARCHAR2 (Using LOWER, UPPER, INITCAP)
Not Supported by connector for the operator: NUMBER, FLOAT, INTERVAL, DATE, TIMESTAMP, BLOB, CLOB
Sample Query: SELECT * FROM "ORACLE"."customers" WHERE LOWER("NAME") LIKE 'sample%';
IS_NOT_EMPTY / IS_EMPTY
GDQ Supported Data Types: CHAR, NCHAR, VARCHAR2, NVARCHAR2
Not Supported by connector for the operator: NUMBER, FLOAT, INTERVAL, DATE, TIMESTAMP, BLOB, CLOB
Sample Query: SELECT * FROM "ORACLE"."customers" WHERE COALESCE(LENGTH(TRIM("NAME")), 0) <> 0;
IS_NULL / IS_NOT_NULL
GDQ Supported Data Types: CHAR, NCHAR, VARCHAR2, NVARCHAR2
Not Supported by connector for the operator: NUMBER, FLOAT, INTERVAL, DATE, TIMESTAMP, BLOB, CLOB
Sample Query: SELECT * FROM "ORACLE"."customers" WHERE "NAME" IS NULL
Teradata
Supported Operators and Data Types
EQUALS
GDQ Supported Data Types: VARCHAR, CHAR
GDQ not supported Data Types:
Numeric Types: INTEGER, SMALLINT, BIGINT, BYTEINT, DECIMAL, FLOAT, etc. (Because the code always treats condition values as strings, numeric comparisons may fail or cause conversion issues.)
Date and Time Types: DATE, TIME, TIMESTAMP, etc. (These types require specific formatting and parsing, which the current implementation does not provide.)
Boolean Types: BOOLEAN (There’s no logic to handle true/false conditions; these are not supported in the current approach.)
Binary/Complex Types: BLOB, VARBYTE, and other non-text types (Such types usually need specialized handling that isn’t present in this string-focused query builder.) Not Supported by connector for the operator:: Blob, Clob, Json
Sample Query: SELECT * FROM "ovaledgedb"."customer" WHERE "ID" = 127;
LIKE
GDQ Supported Data Types: VARCHAR, CHAR
Not Supported by connector for the operator: Numeric types, DATE, TIME, VARBYTE, BYTE, Blob, Clob, Json
Sample Query: SELECT * FROM "ovaledgedb"."customer" WHERE "name" LIKE 'A%';
I_LIKE
GDQ Supported Data Types: VARCHAR, CHAR (Using NOT CASESPECIFIC)
Not Supported by connector for the operator: NUMERIC, DATE, TIME, TIMESTAMP, VARBYTE, BYTE, BLOB, CLOB, JSON
IS_NOT_EMPTY / IS_EMPTY
GDQ Supported Data Types: VARCHAR, CHAR
Not Supported by connector for the operator: NUMERIC, DATE, TIME, TIMESTAMP, VARBYTE, BYTE, BLOB, CLOB, JSON
IS_NULL / IS_NOT_NULL
GDQ Supported Data Types: VARCHAR, CHAR
Not Supported by connector for the operator: NUMERIC, DATE, TIME, TIMESTAMP, VARBYTE, BYTE, BLOB, CLOB, JSON
Redshift
Supported Operators and Data Types
EQUALS
GDQ Supported Data Types: VARCHAR, CHAR
GDQ not supported Data Types:
Numeric Types: INTEGER, BIGINT, DECIMAL, FLOAT, NT2, INT4, INT8, NUMERIC, FLOAT4, FLOAT8 (Enclosing numeric literals in quotes can lead to conversion issues unless Redshift performs an implicit cast, which isn’t guaranteed.)
Date/Time Types: DATE, TIMESTAMP, TIME. (These require precise literal formatting and conversion logic that the current builder does not implement.)
Boolean Types: BOOLEAN (There is no specific handling for true/false values, so conditions on boolean columns may not work as intended.)
Binary or Complex Types: BINARY, VARBYTE, and any other non-string types (These need special functions or conversions that are not part of this implementation.) Not Supported by connector for the operator: BLOB, CLOB, JSON
Sample Query: SELECT * FROM "ovaledgedb"."salesinfo"."sales_data" WHERE "id" = 1;
Comments: In Redshift, the FLOAT and DOUBLE data types are used to represent approximate numeric values. The FLOAT type is a single-precision floating-point number stored in 4 bytes, while the DOUBLE type is a double-precision floating-point number stored in 8 bytes. Due to their approximate nature and limited precision, these types can lead to rounding errors when the number of digits exceeds their precision limits. Consequently, using the equality operator (=) for comparisons may not yield accurate results, as seemingly identical values might differ slightly in their binary representation.
LIKE
GDQ Supported Data Types: VARCHAR, CHAR
Not Supported by connector for the operator: Numeric types, BOOLEAN, DATE, TIMESTAMP
Sample Query: SELECT * FROM "ovaledgedb"."salesinfo"."sales_data" WHERE "varchar_col" LIKE 'Sample%';
ILIKE
GDQ Supported Data Types: VARCHAR, CHAR
Not Supported by connector for the operator: NUMERIC, FLOAT types, BOOLEAN, TIMESTAMP, DATE
Sample Query: SELECT * FROM "ovaledgedb"."salesinfo"."sales_data" WHERE "varchar_col" ILIKE 'Sample%';
IS_NOT_EMPTY / IS_EMPTY
GDQ Supported Data Types: VARCHAR, CHAR
Not Supported by connector for the operator: NUMERIC, FLOAT types, BOOLEAN, TIMESTAMP, DATE
ILIKE
GDQ Supported Data Types: VARCHAR, CHAR, NUMERIC, FLOAT types, BOOLEAN, TIMESTAMP, DATE
Not Supported by connector for the operator:
IS_NULL / IS_NOT_NULL
GDQ Supported Data Types: VARCHAR, CHAR
Not Supported by connector for the operator: NUMERIC, FLOAT types, BOOLEAN, TIMESTAMP, DATE
SalesForce
Supported Operators and Data Types
EQUALS
GDQ Supported Data Types: ID, Reference, String, Picklist, Textarea, URL, Phone
GDQ not supported Data Types: Boolean, Double, Int, Datetime, Date, currency
Data Types with No Test Data Available: Address, Percent, Multi-picklist, email (The above mentioned data types may or maynot work as we don’t have the test data for testing)
LIKE
GDQ Supported Data Types: String, Picklist, Textarea, URL, Phone
GDQ not supported Data Types: Boolean, Double, Int, Datetime, Date, currency, ID
Data Types with No Test Data Available: Address, Percent, Multi-picklist, email (The above mentioned data types may or maynot work as we don’t have the test data for testing)
IS EMPTY
GDQ Supported Data Types: ID, Reference, String, Picklist, Textarea, URL, Phone
GDQ not supported Data Types: Boolean, Double, Int, Datetime, Date, currency
Data Types with No Test Data Available: Address, Percent, Multi-picklist, email (The above mentioned data types may or maynot work as we don’t have the test data for testing)
IS NOT EMPTY
GDQ Supported Data Types: ID, Reference, String, Picklist, Textarea, URL, Phone
GDQ not supported Data Types: Boolean, Double, Int, Datetime, Date, currency
Data Types with No Test Data Available: Address, Percent, Multi-picklist, email (The above mentioned data types may or maynot work as we don’t have the test data for testing)
IS NULL
GDQ Supported Data Types: ID, Reference, String, Picklist, Textarea, URL, Phone
GDQ not supported Data Types: Boolean, Double, Int, Datetime, Date, currency
Data Types with No Test Data Available: Address, Percent, Multi-picklist, email (The above mentioned data types may or maynot work as we don’t have the test data for testing)
IS NOT NULL Currenlty not supporting for any data type
Copyright © 2025, OvalEdge LLC, Peachtree Corners, GA USA
Last updated
Was this helpful?

