Вставка точки через libpq с помощью pgexecparams
Я пытаюсь вставить точку в таблицу Postgresql с помощью C++. Это то, что я до сих пор:
const char * paramValues[1];
paramValues[0] = "{100,200}";
res = PQexecParams(conn, "insert into test (pt) values ($1::point)", 1, NULL, paramValues, NULL, NULL, 0);
Выдает ошибку: "неверная ошибка ввода для точки типа"
Что я должен использовать вместо {100,200}
? Я также пытался paramValues[0] = "point(100,200)";
1 ответ
Решение
paramValues[0] = "100,200";
делает трюк.
Я также добавлю для составных типов, (
а также )
обходит значения примерно так: paramValues[1] = "(10.25, some name)"
который будет представлять тип, созданный с create type foo (some_real real, some_name varchar(100))