Exemple #1
0
ZRef<Result> sResultFromWalker(ZRef<Walker> iWalker)
	{
	map<string8,size_t> offsets;
	size_t baseOffset = 0;
	iWalker = iWalker->Prime(map<string8,size_t>(), offsets, baseOffset);

	vector<ZVal_Any> thePackedRows;
	vector<ZVal_Any> theRow(baseOffset);
	for (;;)
		{
		if (not iWalker->QReadInc(&theRow[0]))
			break;

		foreachi (ii, offsets)
			thePackedRows.push_back(theRow[ii->second]);
		}

	RelHead theRelHead;
	foreachi (ii, offsets)
		theRelHead.insert(ii->first);

	return new Result(theRelHead, &thePackedRows);
	}