1717
1818#include "postgres.h"
1919
20+ #include "nodes/value.h"
21+ #include "postgres.h"
22+
2023#include "access/heapam.h"
2124#include "access/table.h"
2225#include "access/tableam.h"
@@ -337,7 +340,7 @@ form_strings_vector(List *relnames)
337340
338341foreach (lc ,relnames )
339342{
340- char * relname = ( lfirst_node ( String , lc ))-> sval ;
343+ char * relname = strVal ( lfirst ( lc ));
341344
342345rels [i ++ ]= CStringGetTextDatum (relname );
343346}
@@ -360,9 +363,9 @@ deform_strings_vector(Datum datum)
360363& values ,NULL ,& nelems );
361364for (i = 0 ;i < nelems ;++ i )
362365{
363- String * s = makeNode ( String ) ;
366+ Value * s ;
364367
365- s -> sval = pstrdup (TextDatumGetCString (values [i ]));
368+ s = makeString ( pstrdup (TextDatumGetCString (values [i ]) ));
366369relnames = lappend (relnames ,s );
367370}
368371
@@ -449,7 +452,7 @@ load_fss(uint64 fs, int fss, OkNNrdata *data, List **relnames)
449452elog (ERROR ,"unexpected number of features for hash (" \
450453UINT64_FORMAT ", %d):\
451454expected %d features, obtained %d" ,
452- fs ,fss ,ncols ,DatumGetInt32 (values [2 ]));
455+ fs ,fss ,data -> cols ,DatumGetInt32 (values [2 ]));
453456}
454457else
455458success = false;
@@ -584,7 +587,7 @@ update_fss(uint64 fs, int fss, OkNNrdata *data, List *relnames)
584587 */
585588elog (ERROR ,"AQO data piece (" UINT64_FORMAT " %d) concurrently"
586589" updated by a stranger backend." ,
587- fhash , fsshash );
590+ fs , fss );
588591result = false;
589592}
590593}