Pull to refresh

Comments 14

Что это за хрень вообще?
Хоть бы пояснили, какую задачу решали
Проще на SQL запрос написать, даже если он не очень красивый, чем патчтить исходники.
Причем его даже писать не надо, достаточно найти готовый.
я не пишу клиента базы на C!
Какая разница? Любой вменяемый клиентский API основан на libpq, уверен, что в любом API найдется функция получения типа поля запроса (навскидку, python psycopg2, php).
И psql уже из коробки умеет (Ctrl+F \gdesc).

Вы изобрели велосипед с квадратными колесами.
PQftype возвращает Oid, а у меня-то добаляется текстовое представление типа, причём с учётом пользовательских типов!
Я заметил, ага
else appendStringInfo(&buf, "%i", att->atttypid); // иначе в буфер запишем oid


Oid'ы стандартных типов фиксированы, можно смело захардкодить имена. Для кастомных типов можно подгрузить имена при инициализации приложения.
если запрос известен заранее, то типы можно посмотреть заранее
а у меня весь смысл в том, что запрос заранее не известен
а также выдаётся текстовое представление пользовательских типов, которое потом можно использовать в запросах
если запрос известен заранее, то типы можно посмотреть заранее
а у меня весь смысл в том, что запрос заранее не известен

А смысл функций типа PQftype, по-вашему, в чем? Не надо знать запрос заранее, данные о типах в виде Oid передаются с результатами запроса. Перевести Oid в текст для стандартных типов — простейшая операция на любом ЯП.

Я, честно говоря, устал объяснять одно и то же. Нравится вам — пребывайте в уверенности, что сделали что-то с неотрицательной полезностью.
дак у меня-то не только к названиям колонок добавляется тип, но и в преобразованиях в json (как в примере)
и всего лишь несколькими строчками на C
дак там таблица, а у меня в примере вместо
select * from task
можно подставить любой запрос и сразу получить все типы колонок!
Sign up to leave a comment.

Articles