MCPcopy Create free account
hub / github.com/awawa-dev/HyperHDR / record

Method record

sources/db/SQLite.cpp:258–299  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

256}
257
258SqlRecord SqlQuery::record()
259{
260 SqlRecord rec;
261 int numberOfColumns = sqlite3_data_count(_prepared);
262
263 for (int i = 0; i < numberOfColumns; i++)
264 {
265 int type = sqlite3_column_type(_prepared, i);
266 QVariant value;
267
268 if (type == SQLITE_BLOB)
269 {
270 auto size = sqlite3_column_bytes(_prepared, i);
271 QByteArray arr(size, 0);
272 auto data = sqlite3_column_blob(_prepared, i);
273 memcpy(arr.data(), data, size);
274 value = QVariant(arr);
275 }
276 else if (type == SQLITE_FLOAT)
277 {
278 value = QVariant(sqlite3_column_double(_prepared, i));
279 }
280 else if (type == SQLITE_INTEGER)
281 {
282 value = QVariant(sqlite3_column_int(_prepared, i));
283 }
284 else if (type == SQLITE3_TEXT)
285 {
286 auto size = sqlite3_column_bytes(_prepared, i);
287 QByteArray arr(size, 0);
288 auto data = sqlite3_column_blob(_prepared, i);
289 memcpy(arr.data(), data, size);
290 value = QVariant(QString::fromUtf8(arr));
291 }
292
293 auto columnName = sqlite3_column_name(_prepared, i);
294 std::pair<QString, QVariant> column(QString::fromUtf8(columnName), value);
295 rec._result.push_back(column);
296 }
297
298 return rec;
299}
300
301bool SqlQuery::next()
302{

Callers 3

getRecordMethod · 0.80
getRecordsMethod · 0.80
getBackupMethod · 0.80

Calls 1

dataMethod · 0.80

Tested by

no test coverage detected