This topic describes the function that are supported by PolarDB-X 1.0 and some functions that are not supported by this system.

PolarDB-X 1.0 supports the date and time functions, string functions, conversion functions, aggregate functions, mathematical functions, comparison functions, bit functions, flow control functions, information functions, encryption functions, compression functions, and other functions. In addition, JSON functions and geographic information functions can be pushed down and executed.

In the WHERE clause or the UPDATE statement, PolarDB-X 1.0 does not support the following functions: LAST_INSERT_ID(), CONNECTION_ID(), CURRENT_USER(), CURRENT_USER DATABASE(), SCHEMA(), USER(), and VERSION().

PolarDB-X 1.0 does not support the following functions that are supported by MySQL 5.7:

The following functions belong to the supported function types. However, these functions are not supported.

Type Function Description
Date and time functions CONVERT_TZ() Convert from one time zone to another
GET_FORMAT() Return a date format string
LOCALTIME(), LOCALTIME Synonym for NOW()
LOCALTIMESTAMP, LOCALTIMESTAMP() Synonym for NOW()
String functions FIND_IN_SET() Return the index position of the first argument within the second argument
LOAD_FILE() Load the named file
MATCH Perform full-text search
SOUNDS LIKE Compare sounds
Aggregate functions BIT_AND( Return bitwise AND
BIT_OR() Return bitwise OR
BIT_XOR() Return bitwise XOR
GROUP_CONCAT() Return a concatenated string
STD() Return the population standard deviation
STDDEV() Return the population standard deviation
STDDEV_POP() Return the population standard deviation
STDDEV_SAMP() Return the sample standard deviation
VAR_POP() Return the population standard variance
VAR_SAMP() Return the sample variance
VARIANCE() Return the population standard variance
Mathematical functions RADIANS() Return argument converted to radians
Information functions BENCHMARK() Repeatedly execute an expression
CHARSET() Return the character set of the argument
COERCIBILITY() Return the collation coercibility value of the string argument
COLLATION() Return the collation of the string argument
FOUND_ROWS() For a SELECT with a LIMIT clause, the number of rows that would be returned were there no LIMIT clause
ROW_COUNT() The number of rows updated
Encryption functions and compression functions ASYMMETRIC_DECRYPT() Decrypt ciphertext using private or public key
ASYMMETRIC_DERIVE() Derive symmetric key from asymmetric keys
ASYMMETRIC_ENCRYPT() Encrypt cleartext using private or public key
ASYMMETRIC_SIGN() Generate signature from digest
ASYMMETRIC_VERIFY() Verify that signature matches digest
CREATE_ASYMMETRIC_PRIV_KEY() Create private key
CREATE_ASYMMETRIC_PUB_KEY() Create public key
CREATE_DH_PARAMETERS() Generate shared DH secret
CREATE_DIGEST() Generate digest from string
DECODE() (deprecated 5.7.2) Decodes a string encrypted using ENCODE()
DES_DECRYPT() (deprecated 5.7.6) Decrypt a string
DES_ENCRYPT() (deprecated 5.7.6) Encrypt a string
ENCODE() (deprecated 5.7.2) Encode a string
ENCRYPT() (deprecated 5.7.6) Encrypt a string
OLD_PASSWORD() Return the value of the pre-4.1 implementation of PASSWORD
PASSWORD() (deprecated 5.7.6) Calculate and return a password string
RANDOM_BYTES() Return a random byte vector
SHA1(), SHA() Calculate an SHA-1 160-bit checksum
SHA2() Calculate an SHA-2 checksum
VALIDATE_PASSWORD_STRENGTH() Determine strength of password
Other functions ANY_VALUE() Suppress ONLY_FULL_GROUP_BY value rejection
DEFAULT() Return the default value for a table column
GET_LOCK() Get a named lock
INET_ATON() Return the numeric value of an IP address
INET_NTOA() Return the IP address from a numeric value
INET6_ATON() Return the numeric value of an IPv6 address
INET6_NTOA() Return the IPv6 address from a numeric value
IS_FREE_LOCK() Whether the named lock is free
IS_IPV4() Whether argument is an IPv4 address
IS_IPV4_COMPAT() Whether argument is an IPv4-compatible address
IS_IPV4_MAPPED() Whether argument is an IPv4-mapped address
IS_IPV6() Whether argument is an IPv6 address
IS_USED_LOCK() Whether the named lock is in use; return connection identifier if true
MASTER_POS_WAIT() Block until the slave has read and applied all updates up to the specified position
NAME_CONST() Causes the column to have the given name