Disable strxfrm for mk_sort at compile time
Glibc implementations are known to return inconsistent results for strcoll() and strxfrm() on many platforms that can cause unpredictable bugs. Because of that PostgreSQL disabled strxfrm() by default since 9.5 at compile time by TRUST_STRXFRM definition. Greenplum has its own mk sort implementation that can also use strxfrm(). Hence mk sort can also be affected by strcoll() and strxfrm() inconsistency (breaks merge joins). That is why strxfrm() should be disabled by default with TRUST_STRXFRM_MK_SORT definition for mk sort as well. We don't use PostgreSQL's TRUST_STRXFRM definition as many users used Greenplum with strxfrm() enabled for mk sort and disabled in PostgreSQL core. Keeping TRUST_STRXFRM_MK_SORT as a separate definition allows these users not to reindex after version upgrade. Reviewed-by: NAsim R P <pasim@vmware.com> Reviewed-by: NHeikki Linnakangas <linnakangash@vmware.com> Reviewed-by: NHubert Zhang <hzhang@pivotal.io>
Showing
想要评论请 注册 或 登录