Re: Missing Column names with multi-insert
От | Andrew Dunstan |
---|---|
Тема | Re: Missing Column names with multi-insert |
Дата | |
Msg-id | 94986e14-de79-62f4-c7e9-043c25a2b057@2ndQuadrant.com обсуждение исходный текст |
Ответ на | Missing Column names with multi-insert (Liz Frost <web@stillinbeta.com>) |
Список | pgsql-hackers |
On 2/18/19 2:34 PM, Liz Frost wrote: > Hello all, > > I'm working on a foreign data wrapper that uses INSERT, and I noticed > some odd behaviour. If I insert just one row, the > TupleDesc->attr[0]->attname.data has the column names in it. However, > in a multi-row string, all those are empty strings: > > I added this debugging code to BeginForeignInsert > in https://bitbucket.org/adunstan/blackhole_fdw on postgres 10. > > int i; > FormData_pg_attribute *attr; > TupleDesc tupleDesc; > > tupleDesc = slot->tts_tupleDescriptor; > > for (i = 0; i < tupleDesc -> natts; i++) { > attr = tupleDesc->attrs[i]; > elog(WARNING, "found column '%s'", attr->attname.data); > } > > Now with a single row insert, this works as you'd expect: > > liz=# INSERT INTO bhtable (key, value) VALUES ('hello', 'world'); > WARNING: found column 'key' > WARNING: found column 'value' > INSERT 0 1 > > But with a multi-row, all the column names are empty: > liz=# INSERT INTO bhtable (key, value) VALUES ('hello', 'world'), > ('goodmorning', 'world'); > WARNING: found column '' > WARNING: found column '' > WARNING: found column '' > WARNING: found column '' > INSERT 0 2 > > It doesn't seem unreasonable to me that this data wouldn't be > duplicated, but there's no mention of how I would go about retriving > these column names for my individual rows, and most foreign data > wrappers I can find are write-only. > > There are numerous writable FDWs, including postgres_fdw in contrib, and a whole lot more listed at <https://wiki.postgresql.org/wiki/Fdw> That should supply you with plenty of example code. cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: