mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Introduce t_isalnum() to replace t_isalpha() || t_isdigit() tests.
ts_locale.c omitted support for "isalnum" tests, perhaps on the grounds that there were initially no use-cases for that. However, both ltree and pg_trgm need such tests, and we do also have one use-case now in the core backend. The workaround of testing isalpha and isdigit separately seems quite inefficient, especially when dealing with multibyte characters; so let's fill in the missing support. Discussion: https://postgr.es/m/2548310.1664999615@sss.pgh.pa.us
This commit is contained in:
@ -52,7 +52,7 @@ typedef char trgm[3];
|
||||
} while(0)
|
||||
|
||||
#ifdef KEEPONLYALNUM
|
||||
#define ISWORDCHR(c) (t_isalpha(c) || t_isdigit(c))
|
||||
#define ISWORDCHR(c) (t_isalnum(c))
|
||||
#define ISPRINTABLECHAR(a) ( isascii( *(unsigned char*)(a) ) && (isalnum( *(unsigned char*)(a) ) || *(unsigned char*)(a)==' ') )
|
||||
#else
|
||||
#define ISWORDCHR(c) (!t_isspace(c))
|
||||
|
Reference in New Issue
Block a user