Обсуждение: Name type in postgres

Поиск
Список
Период
Сортировка

Name type in postgres

От
mohsen soodkhah mohammadi
Дата:
hello.
I want do understand that did can we have name without null-terminator?
in src/backend/util/adt/name.c in nameout() function is:
Name        s = PG_GETARG_NAME(0);
PG_RETURN_CSTRING(pstrdup(NameStr(*s)));
what do the pstrdup() function?
do this function create string from name with null-terminate?

Re: Name type in postgres

От
Tom Lane
Дата:
mohsen soodkhah mohammadi <mohsensoodkhah@gmail.com> writes:
> I want do understand that did can we have name without null-terminator?

No.  Possibly that was the original intention, but for many years the
system has enforced that Name contains at least one trailing null byte, ie
the maximum usable length of identifiers is NAMEDATALEN-1.  So the code
you quote is valid.
        regards, tom lane