Я читаю информацию из базы данных pqsql (и изменил мой движок с mysql), что-то странное в возвращаемых строковых данных,
, если длина поля в БД составляет 50 символов, возвращаемое значение имеетДлина 50 символов, поэтому даже если значение в БД вставлено с меньшим количеством элементов, размер возвращаемого значения равен 50.
в mysql размер возвращаемого значения был таким же, как он был вставлен в БД.
пример
create table values(data char(50))
insert into table values('info');
когда я получу эти данные с помощью PQgetvalue
res=PQexec(conn,"select * from values");
printf(" the value has the lenght of %d chars",strlen(PQgetvalue(res,0,0)));
, он отобразит
the value has the lenght of 50
я как-то удивился этому, потому что теперь янужно сохранить или рассчитать каким-то образом реальный размер поля, а не максимальный размер поля
Я что-то не так делаю?
(извините за опечатки)