Configuring pushdown optimization for Amazon Redshift using the ODBC Connector

Configuring pushdown optimization for Amazon Redshift using the ODBC Connector

Functions and operators with Amazon Redshift ODBC connection

Functions and operators with Amazon Redshift ODBC connection

The following table displays the functions that you can push to the Amazon Redshift database by using source-side or full pushdown optimization.
Columns marked with an X indicate that the function can be pushed to the Amazon Redshift database by using source-side or full pushdown optimization. Columns marked with S indicate that the function can be pushed to the Amazon Redshift database only by using source-side pushdown optimization. Columns marked with a dash (-) symbol indicate that the function cannot be pushed to the database.
Function
Pushdown
Function
Pushdown
Function
Pushdown
ABORT()
-
INSTR()
X
REG_REPLACE
-
ABS()
X
IS_DATE()
-
REPLACECHR()
-
ADD_TO_DATE()
X
IS_NUMBER()
-
REPLACESTR()
-
AES_DECRYPT()
-
IS_SPACES()
-
REVERSE()
-
AES_ENCRYPT()
-
ISNULL()
S
ROUND(DATE)
-
ASCII()
-
LAST()
-
ROUND(NUMBER)
X
AVG()
S
LAST_DAY()
X
RPAD()
X
CEIL()
X
LEAST()
-
RTRIM()
X
CHOOSE()
-
LENGTH()
X
SET_DATE_PART()
-
CHRCODE()
-
LN()
X
SIGN()
X
COMPRESS()
-
LOG()
-
SIN()
X
CONCAT()
X
LOOKUP
-
SINH()
-
COS()
X
LOWER()
X
SOUNDEX()
-
COSH()
-
LPAD()
X
SQRT()
X
COUNT()
S
LTRIM()
X
STDDEV()
S
CRC32()
-
MAKE_DATE_TIME()
-
SUBSTR()
X
CUME()
-
MAX()
S
SUM()
S
DATE_COMPARE()
X
MD5()
X
SYSTIMESTAMP()
S
DATE_DIFF()
X
MEDIAN()
-
TAN()
S
DECODE()
X
METAPHONE()
-
TANH()
-
DECODE_BASE64()
-
MIN()
S
TO_BIGINT
X
DECOMPRESS()
-
MOD()
S
TO_CHAR(DATE)
S
ENCODE_BASE64()
-
MOVINGAVG()
-
TO_CHAR(NUMBER)
X
EXP()
X
MOVINGSUM()
-
TO_DATE()
X
FIRST()
-
NPER()
-
TO_DECIMAL()
X
FLOOR()
X
PERCENTILE()
-
TO_FLOAT()
X
FV()
-
PMT()
-
TO_INTEGER()
X
GET_DATE_PART()
X
POWER()
X
TRUNC(DATE)
S
GREATEST()
-
PV()
-
TRUNC(NUMBER)
S
IIF()
X
RAND()
-
UPPER()
X
IN()
S
RATE()
-
VARIANCE()
S
INDEXOF()
-
REG_EXTRACT()
-
INITCAP()
X
REG_MATCH()
-
Amazon Redshift database supports the following operators:
+ - * / % || > = >= <= != AND OR NOT ^=

Restrictions

When you push functions to Amazon Redshift, adhere to the following guidelines:
  • To push TRUNC(DATE) to Amazon Redshift, you must define the date and format arguments. Otherwise, the agent does not push the function to Amazon Redshift .
  • The aggregator functions for Amazon Redshift accept only one argument, a field set for the aggregator function. The filter condition argument is ignored. In addition, verify that all fields mapped to the target are listed in the GROUP BY clause.
  • To push TO_DATE() to Amazon Redshift, you must define the string and format arguments.
  • To push TO_CHAR() to Amazon Redshift, you must define the date and format arguments.
  • Do not specify a format for SYSTIMESTAMP() to push the SYSTIMESTAMP to Amazon Redshift. The Amazon Redshift database returns the complete time stamp.
  • To push INSTR() to Amazon Redshift, you must only define string, search_value, and start arguments. Amazon Redshift does not support occurrence and comparison_type arguments.
  • The flag argument is ignored when you push TO_BIGINT and TO_INTEGER to Amazon Redshift.
  • The CaseFlag argument is ignored when you push IN() to Amazon Redshift.
  • If you use the NS format as part of the ADD_TO_DATE() function, the agent does not push the function to Amazon Redshift.
  • If you use any of the following formats as part of the TO_CHAR() and TO_DATE() functions, the agent does not push the function to Amazon Redshift:
    • - NS
    • - SSSS
    • - SSSSS
    • - RR
  • To push TRUNC(DATE), GET_DATE_PART(), and DATE_DIFF() to Amazon Redshift, you must use the following formats:
    • - D
    • - DDD
    • - HH24
    • - MI
    • - MM
    • - MS
    • - SS
    • - US
    • - YYYY
  • When you push the DATE_DIFF() function to Amazon Redshift using a Redshift ODBC connection, the Secure Agent incorrectly returns the difference values. If the result is positive, the Secure Agent returns negative values and if the result is negative, the positive value is returned.

0 COMMENTS

We’d like to hear from you!