MCPcopy Create free account
hub / github.com/apache/madlib / svec_recv

Function svec_recv

methods/svec/src/pg_gp/sparse_vector.c:91–109  ·  view source on GitHub ↗

* svec_recv - converts external binary format to text */

Source from the content-addressed store, hash-verified

89 * svec_recv - converts external binary format to text
90 */
91Datum svec_recv(PG_FUNCTION_ARGS)
92{
93 StringInfo buf = (StringInfo) PG_GETARG_POINTER(0);
94 SvecType *svec;
95
96 SparseData sdata=makeEmptySparseData();;
97 sdata->type_of_data = pq_getmsgint(buf, sizeof(int));
98 sdata->unique_value_count = pq_getmsgint(buf, sizeof(int));
99 sdata->total_value_count = pq_getmsgint(buf, sizeof(int));
100 sdata->vals->len = pq_getmsgint(buf, sizeof(int));
101 sdata->index->len = pq_getmsgint(buf, sizeof(int));
102 sdata->vals->data = (char *)pq_getmsgbytes(buf,sdata->vals->len);
103 sdata->index->data = (char *)pq_getmsgbytes(buf,sdata->index->len);
104 svec = svec_from_sparsedata(sdata,true); //Note this copies the data
105// freeSparseDataAndData(sdata);
106 pfree(sdata);
107
108 PG_RETURN_SVECTYPE_P(svec);
109}
110
111PG_FUNCTION_INFO_V1( svec_return_array );
112/**

Callers

nothing calls this directly

Calls 2

makeEmptySparseDataFunction · 0.85
svec_from_sparsedataFunction · 0.85

Tested by

no test coverage detected