这篇教程C++ sqlite3_result_int64函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中sqlite3_result_int64函数的典型用法代码示例。如果您正苦于以下问题:C++ sqlite3_result_int64函数的具体用法?C++ sqlite3_result_int64怎么用?C++ sqlite3_result_int64使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了sqlite3_result_int64函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: set_sqlite3_func_resultstatic void set_sqlite3_func_result(sqlite3_context * ctx, VALUE result){ switch(TYPE(result)) { case T_NIL: sqlite3_result_null(ctx); break; case T_FIXNUM: sqlite3_result_int64(ctx, (sqlite3_int64)FIX2LONG(result)); break; case T_BIGNUM:#if SIZEOF_LONG < 8 if (RBIGNUM_LEN(result) * SIZEOF_BDIGITS <= 8) { sqlite3_result_int64(ctx, NUM2LL(result)); break; }#endif case T_FLOAT: sqlite3_result_double(ctx, NUM2DBL(result)); break; case T_STRING: sqlite3_result_text( ctx, (const char *)StringValuePtr(result), (int)RSTRING_LEN(result), SQLITE_TRANSIENT ); break; default: rb_raise(rb_eRuntimeError, "can't return %s", rb_class2name(CLASS_OF(result))); }}
开发者ID:kashif,项目名称:sqlite3-ruby,代码行数:32,
示例2: memstatColumn/*** Return values of columns for the row at which the memstat_cursor** is currently pointing.*/static int memstatColumn( sqlite3_vtab_cursor *cur, /* The cursor */ sqlite3_context *ctx, /* First argument to sqlite3_result_...() */ int iCol /* Which column to return */){ memstat_cursor *pCur = (memstat_cursor*)cur; int i; assert( pCur->iRowid>0 && pCur->iRowid<=MSV_NROW ); i = (int)pCur->iRowid - 1; if( (aMemstatColumn[i].mNull & (1<<iCol))!=0 ){ return SQLITE_OK; } switch( iCol ){ case MSV_COLUMN_NAME: { sqlite3_result_text(ctx, aMemstatColumn[i].zName, -1, SQLITE_STATIC); break; } case MSV_COLUMN_SCHEMA: { sqlite3_result_text(ctx, pCur->azDb[pCur->iDb], -1, 0); break; } case MSV_COLUMN_VALUE: { sqlite3_result_int64(ctx, pCur->aVal[0]); break; } case MSV_COLUMN_HIWTR: { sqlite3_result_int64(ctx, pCur->aVal[1]); break; } } return SQLITE_OK;}
开发者ID:cris-auts,项目名称:linux_c_study,代码行数:36,
示例3: vtxt_columnstatic intvtxt_column (sqlite3_vtab_cursor * pCursor, sqlite3_context * pContext, int column){/* fetching value for the Nth column */ int nCol = 1; int i; char buf[4096]; int type; const char *value; VirtualTextCursorPtr cursor = (VirtualTextCursorPtr) pCursor; gaiaTextReaderPtr text = cursor->pVtab->reader; if (column == 0) { /* the ROWNO column */ sqlite3_result_int (pContext, cursor->current_row); return SQLITE_OK; } if (text->current_line_ready == 0) return SQLITE_ERROR; for (i = 0; i < text->max_fields; i++) { if (nCol == column) { if (!gaiaTextReaderFetchField (text, i, &type, &value)) sqlite3_result_null (pContext); else { if (type == VRTTXT_INTEGER) { strcpy (buf, value); text_clean_integer (buf);#if defined(_WIN32) || defined(__MINGW32__)/* CAVEAT - M$ runtime has non-standard functions for 64 bits */ sqlite3_result_int64 (pContext, _atoi64 (buf));#else sqlite3_result_int64 (pContext, atoll (buf));#endif } else if (type == VRTTXT_DOUBLE) { strcpy (buf, value); text_clean_double (buf); sqlite3_result_double (pContext, atof (buf)); } else if (type == VRTTXT_TEXT) sqlite3_result_text (pContext, value, strlen (value), free); else sqlite3_result_null (pContext); } } nCol++; } return SQLITE_OK;}
开发者ID:kochizufan,项目名称:spatiasql.js,代码行数:56,
示例4: set_sqlite3_func_resultstatic void set_sqlite3_func_result(sqlite3_context * ctx, VALUE result){ switch(TYPE(result)) { case T_NIL: sqlite3_result_null(ctx); break; case T_FIXNUM: sqlite3_result_int64(ctx, (sqlite3_int64)FIX2LONG(result)); break; case T_BIGNUM: {#if SIZEOF_LONG < 8 sqlite3_int64 num64; if (bignum_to_int64(result, &num64)) { sqlite3_result_int64(ctx, num64); break; }#endif } case T_FLOAT: sqlite3_result_double(ctx, NUM2DBL(result)); break; case T_STRING: if(CLASS_OF(result) == cSqlite3Blob#ifdef HAVE_RUBY_ENCODING_H || rb_enc_get_index(result) == rb_ascii8bit_encindex()#endif ) { sqlite3_result_blob( ctx, (const void *)StringValuePtr(result), (int)RSTRING_LEN(result), SQLITE_TRANSIENT ); } else { sqlite3_result_text( ctx, (const char *)StringValuePtr(result), (int)RSTRING_LEN(result), SQLITE_TRANSIENT ); } break; default: rb_raise(rb_eRuntimeError, "can't return %s", rb_class2name(CLASS_OF(result))); }}
开发者ID:jimflood,项目名称:sqlite3-ruby,代码行数:48,
示例5: sqlite_callback_returnstatic int sqlite_callback_return(Value v, sqlite3_context *ctx){ const RefNode *r_type = fs->Value_type(v); if (r_type == fs->cls_int) { int err = FALSE; int64_t i64 = fs->Value_int64(v, &err); if (err) { fs->throw_errorf(mod_sqlite, "SQLiteError", "'INTEGER' out of range (-2^63 - 2^63-1)"); return FALSE; } sqlite3_result_int64(ctx, i64); } else if (r_type == fs->cls_bool) { int i32 = Value_bool(v); sqlite3_result_int(ctx, i32); } else if (r_type == fs->cls_float) { double dval = Value_float2(v); sqlite3_result_double(ctx, dval); } else if (r_type == fs->cls_str) { RefStr *s = Value_vp(v); sqlite3_result_text(ctx, s->c, s->size, SQLITE_TRANSIENT); } else if (r_type == fs->cls_bytes) { RefStr *s = Value_vp(v); sqlite3_result_blob(ctx, s->c, s->size, SQLITE_TRANSIENT); } else if (r_type == fs->cls_null) { sqlite3_result_null(ctx); } else { fs->throw_errorf(fs->mod_lang, "TypeError", "Bool, Int, Float, Str, Bytes or Null required but %n", r_type); return FALSE; } return TRUE;}
开发者ID:x768,项目名称:fox-lang,代码行数:31,
示例6: absFunc/*** Implementation of the abs() function*/static void absFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ assert( argc==1 ); switch( sqlite3_value_type(argv[0]) ){ case SQLITE_INTEGER: { i64 iVal = sqlite3_value_int64(argv[0]); if( iVal<0 ){ if( (iVal<<1)==0 ){ sqlite3_result_error(context, "integer overflow", -1); return; } iVal = -iVal; } sqlite3_result_int64(context, iVal); break; } case SQLITE_NULL: { sqlite3_result_null(context); break; } default: { double rVal = sqlite3_value_double(argv[0]); if( rVal<0 ) rVal = -rVal; sqlite3_result_double(context, rVal); break; } }}
开发者ID:f059074251,项目名称:interested,代码行数:30,
示例7: sqlite_checksum_int8static void sqlite_checksum_int8( sqlite3_context * ctx, int argc, sqlite3_value ** argv){ assert(argc==1); const unsigned char * txt; size_t len; switch (sqlite3_value_type(argv[0])) { case SQLITE_NULL: txt = NULL; len = 0; break; case SQLITE_TEXT: txt = sqlite3_value_text(argv[0]); len = sqlite3_value_bytes(argv[0]); break; // hmmm... should I do something else? case SQLITE_INTEGER: case SQLITE_FLOAT: case SQLITE_BLOB: default: sqlite3_result_error(ctx, "expecting TEXT or NULL", -1); return; } sqlite3_result_int64(ctx, checksum_int8(txt, len));}
开发者ID:adzhou,项目名称:integration,代码行数:27,
示例8: readint_function/*** An SQL function invoked as follows:**** sqlite_readint32(BLOB) -- Decode 32-bit integer from start of blob*/static void readint_function( sqlite3_context *pCtx, int nArg, sqlite3_value **apArg){ const u8 *zBlob; int nBlob; int iOff = 0; u32 iRet = 0; if( nArg!=1 && nArg!=2 ){ sqlite3_result_error( pCtx, "wrong number of arguments to function sqlite_readint32()", -1 ); return; } if( nArg==2 ){ iOff = sqlite3_value_int(apArg[1]); } zBlob = sqlite3_value_blob(apArg[0]); nBlob = sqlite3_value_bytes(apArg[0]); if( nBlob>=(iOff+4) ){ iRet = get4byte(&zBlob[iOff]); } sqlite3_result_int64(pCtx, (sqlite3_int64)iRet);}
开发者ID:cznic,项目名称:cc,代码行数:34,
示例9: _column/* * Returns value for the column at position iCol (starting from 0). * Reads column data from ref-values table, filtered by ObjectID and sorted by PropertyID * For the sake of better performance, fetches required columns on demand, sequentially. * */static int _column(sqlite3_vtab_cursor *pCursor, sqlite3_context *pContext, int iCol){ int result = SQLITE_OK; struct flexi_VTabCursor *cur = (void *) pCursor; if (iCol == -1) { sqlite3_result_int64(pContext, cur->lObjectID); goto EXIT; } struct flexi_ClassDef_t *vtab = (void *) cur->base.pVtab; // First, check if column has been already loaded while (cur->iReadCol < iCol) { int colResult = sqlite3_step(cur->pPropertyIterator); if (colResult == SQLITE_DONE) break; if (colResult != SQLITE_ROW) { result = colResult; goto ONERROR; } sqlite3_int64 lPropID = sqlite3_column_int64(cur->pPropertyIterator, 1); if (lPropID < vtab->pProps[cur->iReadCol + 1].iPropID) continue; cur->iReadCol++; if (lPropID == vtab->pProps[cur->iReadCol].iPropID) { sqlite3_int64 lPropIdx = sqlite3_column_int64(cur->pPropertyIterator, 2); /* * No need in any special verification as we expect columns are sorted by property IDs, so * we just assume that once column index is OK, we can process this property data */ cur->pCols[cur->iReadCol] = sqlite3_value_dup(sqlite3_column_value(cur->pPropertyIterator, 4)); } } if (cur->pCols[iCol] == NULL || sqlite3_value_type(cur->pCols[iCol]) == SQLITE_NULL) { sqlite3_result_value(pContext, vtab->pProps[iCol].defaultValue); } else { sqlite3_result_value(pContext, cur->pCols[iCol]); } result = SQLITE_OK; goto EXIT; ONERROR: EXIT: // Map column number to property ID return result;}
开发者ID:slanska,项目名称:flexilite,代码行数:65,
示例10: xColumnint xColumn(sqlite3_vtab_cursor *cur, sqlite3_context *ctx, int col) { BaseCursor *pCur = (BaseCursor *)cur; const auto *pVtab = (VirtualTable *)cur->pVtab; if (col >= static_cast<int>(pVtab->content->columns.size())) { // Requested column index greater than column set size. return SQLITE_ERROR; } const auto &column_name = pVtab->content->columns[col].first; const auto &type = pVtab->content->columns[col].second; if (pCur->row >= pCur->data.size()) { // Request row index greater than row set size. return SQLITE_ERROR; } // Attempt to cast each xFilter-populated row/column to the SQLite type. const auto &value = pCur->data[pCur->row][column_name]; if (pCur->data[pCur->row].count(column_name) == 0) { // Missing content. VLOG(1) << "Error " << column_name << " is empty"; sqlite3_result_null(ctx); } else if (type == TEXT_TYPE) { sqlite3_result_text(ctx, value.c_str(), value.size(), SQLITE_STATIC); } else if (type == INTEGER_TYPE) { long afinite; if (!safeStrtol(value, 10, afinite) || afinite < INT_MIN || afinite > INT_MAX) { VLOG(1) << "Error casting " << column_name << " (" << value << ") to INTEGER"; sqlite3_result_null(ctx); } else { sqlite3_result_int(ctx, (int)afinite); } } else if (type == BIGINT_TYPE || type == UNSIGNED_BIGINT_TYPE) { long long afinite; if (!safeStrtoll(value, 10, afinite)) { VLOG(1) << "Error casting " << column_name << " (" << value << ") to BIGINT"; sqlite3_result_null(ctx); } else { sqlite3_result_int64(ctx, afinite); } } else if (type == DOUBLE_TYPE) { char *end = nullptr; double afinite = strtod(value.c_str(), &end); if (end == nullptr || end == value.c_str() || *end != '/0') { afinite = 0; VLOG(1) << "Error casting " << column_name << " (" << value << ") to DOUBLE"; sqlite3_result_null(ctx); } else { sqlite3_result_double(ctx, afinite); } } else { LOG(ERROR) << "Error unknown column type " << column_name; } return SQLITE_OK;}
开发者ID:200GAUTAM,项目名称:osquery,代码行数:59,
示例11: last_insert_rowid/*** Implementation of the last_insert_rowid() SQL function. The return** value is the same as the sqlite3_last_insert_rowid() API function.*/static void last_insert_rowid( sqlite3_context *context, int arg, sqlite3_value **argv){ sqlite3 *db = sqlite3_user_data(context); sqlite3_result_int64(context, sqlite3_last_insert_rowid(db));}
开发者ID:f059074251,项目名称:interested,代码行数:12,
示例12: intarrayColumn/*** Retrieve a column of data.*/static int intarrayColumn(sqlite3_vtab_cursor *cur, sqlite3_context *ctx, int i){ intarray_cursor *pCur = (intarray_cursor*)cur; intarray_vtab *pVtab = (intarray_vtab*)cur->pVtab; if( pCur->i>=0 && pCur->i<pVtab->pContent->n ){ sqlite3_result_int64(ctx, pVtab->pContent->a[pCur->i]); } return SQLITE_OK;}
开发者ID:1018824313,项目名称:sqlite,代码行数:11,
示例13: statColumnstatic int statColumn( sqlite3_vtab_cursor *pCursor, sqlite3_context *ctx, int i){ StatCursor *pCsr = (StatCursor *)pCursor; switch( i ){ case 0: /* name */ sqlite3_result_text(ctx, pCsr->zName, -1, SQLITE_TRANSIENT); break; case 1: /* path */ sqlite3_result_text(ctx, pCsr->zPath, -1, SQLITE_TRANSIENT); break; case 2: /* pageno */ sqlite3_result_int64(ctx, pCsr->iPageno); break; case 3: /* pagetype */ sqlite3_result_text(ctx, pCsr->zPagetype, -1, SQLITE_STATIC); break; case 4: /* ncell */ sqlite3_result_int(ctx, pCsr->nCell); break; case 5: /* payload */ sqlite3_result_int(ctx, pCsr->nPayload); break; case 6: /* unused */ sqlite3_result_int(ctx, pCsr->nUnused); break; case 7: /* mx_payload */ sqlite3_result_int(ctx, pCsr->nMxPayload); break; case 8: /* pgoffset */ sqlite3_result_int64(ctx, pCsr->iOffset); break; case 9: /* pgsize */ sqlite3_result_int(ctx, pCsr->szPage); break; default: { /* schema */ sqlite3 *db = sqlite3_context_db_handle(ctx); int iDb = pCsr->iDb; sqlite3_result_text(ctx, db->aDb[iDb].zName, -1, SQLITE_STATIC); break; } } return SQLITE_OK;}
开发者ID:1018824313,项目名称:sqlite,代码行数:46,
示例14: intarrayColumn/*** Retrieve a column of data.*/static int intarrayColumn(sqlite3_vtab_cursor *cur, sqlite3_context *ctx, int column) { intarray_cursor *pCur = (intarray_cursor*)cur; intarray_vtab *table = (intarray_vtab*)cur->pVtab; sqlite3_intarray *arr = table->intarray; if (pCur->i >= 0 && pCur->i < arr->n) { sqlite3_result_int64(ctx, arr->a[pCur->i]); } return SQLITE_OK;}
开发者ID:SpatialInteractive,项目名称:sqlite4java-custom,代码行数:12,
示例15: last_insert_rowid/*** Implementation of the last_insert_rowid() SQL function. The return** value is the same as the sqlite3_last_insert_rowid() API function.*/static void last_insert_rowid( sqlite3_context *context, int NotUsed, sqlite3_value **NotUsed2){ sqlite3 *db = sqlite3_context_db_handle(context); UNUSED_PARAMETER2(NotUsed, NotUsed2); sqlite3_result_int64(context, sqlite3_last_insert_rowid(db));}
开发者ID:kaomte,项目名称:sqlcipher,代码行数:13,
示例16: OGR2SQLITE_ogr_geocode_set_resultstaticvoid OGR2SQLITE_ogr_geocode_set_result(sqlite3_context* pContext, OGRLayerH hLayer, const char* pszField){ if( hLayer == NULL ) sqlite3_result_null (pContext); else { OGRLayer* poLayer = (OGRLayer*)hLayer; OGRFeatureDefn* poFDefn = poLayer->GetLayerDefn(); OGRFeature* poFeature = poLayer->GetNextFeature(); int nIdx = -1; if( poFeature == NULL ) sqlite3_result_null (pContext); else if( strcmp(pszField, "geometry") == 0 && poFeature->GetGeometryRef() != NULL ) { GByte* pabyGeomBLOB = NULL; int nGeomBLOBLen = 0; if( OGRSQLiteLayer::ExportSpatiaLiteGeometry( poFeature->GetGeometryRef(), 4326, wkbNDR, FALSE, FALSE, FALSE, &pabyGeomBLOB, &nGeomBLOBLen ) != CE_None ) { sqlite3_result_null (pContext); } else { sqlite3_result_blob (pContext, pabyGeomBLOB, nGeomBLOBLen, CPLFree); } } else if( (nIdx = poFDefn->GetFieldIndex(pszField)) >= 0 && poFeature->IsFieldSet(nIdx) ) { OGRFieldType eType = poFDefn->GetFieldDefn(nIdx)->GetType(); if( eType == OFTInteger ) sqlite3_result_int(pContext, poFeature->GetFieldAsInteger(nIdx)); else if( eType == OFTInteger64 ) sqlite3_result_int64(pContext, poFeature->GetFieldAsInteger64(nIdx)); else if( eType == OFTReal ) sqlite3_result_double(pContext, poFeature->GetFieldAsDouble(nIdx)); else sqlite3_result_text(pContext, poFeature->GetFieldAsString(nIdx), -1, SQLITE_TRANSIENT); } else sqlite3_result_null (pContext); delete poFeature; OGRGeocodeFreeResult(hLayer); }}
开发者ID:rashadkm,项目名称:lib_gdal,代码行数:56,
示例17: sqlite3_result_int64int LinkerColumnsWithNameVirtualTable::Column(void *cursor, sqlite3_context *ctx, int i){ struct lfcurs * pCur = (struct lfcurs *)cursor; if( pCur->i>=0 && pCur->i < rows) if (i < columns-1) sqlite3_result_int64(ctx, data[pCur->i*(columns-1) + i]); else sqlite3_result_text(ctx, (char *)names[pCur->i]->c_str(), names[pCur->i]->size(), SQLITE_STATIC); return SQLITE_OK;}
开发者ID:doniexun,项目名称:OrangeC,代码行数:10,
示例18: TiVoRandomSeedFuncvoidTiVoRandomSeedFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ int64_t r, seed; if( argc != 1 || sqlite3_value_type(argv[0]) != SQLITE_INTEGER ) return; seed = sqlite3_value_int64(argv[0]); seedRandomness(sizeof(r), &r, seed); sqlite3_result_int64(context, r);}
开发者ID:1100101,项目名称:minidlna,代码行数:11,
示例19: myfloorFunc/*** largest integer value not greater than argument*/void myfloorFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ double rVal=0.0; switch( sqlite3_value_type(argv[0]) ){ case SQLITE_INTEGER: { i64 iVal = sqlite3_value_int64(argv[0]); sqlite3_result_int64(context, iVal); break; } case SQLITE_NULL: { sqlite3_result_null(context); break; } default: { rVal = sqlite3_value_double(argv[0]); sqlite3_result_int64(context, (i64) floor(rVal)); break; } }}
开发者ID:duncantl,项目名称:RSQLiteUDF,代码行数:23,
示例20: randomFunc/*** Implementation of random(). Return a random integer. */static void randomFunc( sqlite3_context *context, int argc, sqlite3_value **argv){ sqlite_int64 r; sqlite3Randomness(sizeof(r), &r); if( (r<<1)==0 ) r = 0; /* Prevent 0x8000.... as the result so that we */ /* can always do abs() of the result */ sqlite3_result_int64(context, r);}
开发者ID:f059074251,项目名称:interested,代码行数:14,
示例21: sumFinalizestatic void sumFinalize(sqlite3_context *context){ SumCtx *p; p = sqlite3_aggregate_context(context, 0); if( p && p->cnt>0 ){ if( p->approx ){ sqlite3_result_double(context, p->sum); }else{ sqlite3_result_int64(context, (i64)p->sum); } }}
开发者ID:BackupTheBerlios,项目名称:sqlitepp-svn,代码行数:11,
示例22: randomFunc/*** Implementation of random(). Return a random integer. */static void randomFunc( sqlite3_context *context, int NotUsed, sqlite3_value **NotUsed2){ sqlite_int64 r; UNUSED_PARAMETER2(NotUsed, NotUsed2); sqlite3_randomness(sizeof(r), &r); if( (r<<1)==0 ) r = 0; /* Prevent 0x8000.... as the result so that we */ /* can always do abs() of the result */ sqlite3_result_int64(context, r);}
开发者ID:KnowNo,项目名称:test-code-backup,代码行数:15,
示例23: ik_sqlite3_result_int64ikptrik_sqlite3_result_int64 (ikptr s_context, ikptr s_retval, ikpcb * pcb){#ifdef HAVE_SQLITE3_RESULT_INT64 sqlite3_context * context = IK_SQLITE_CONTEXT(s_context); sqlite3_int64 retval = ik_integer_to_sint64(s_retval); sqlite3_result_int64(context, retval); return IK_VOID_OBJECT;#else feature_failure(__func__);#endif}
开发者ID:marcomaggi,项目名称:vicare-sqlite,代码行数:12,
示例24: callCastedDoubleFuncstatic void callCastedDoubleFunc(sqlite3_context* context, int argc, sqlite3_value** argv, DoubleDoubleFunction f) { double rVal = 0.0; assert(argc == 1); switch (sqlite3_value_type(argv[0])) { case SQLITE_INTEGER: { int64_t iVal = sqlite3_value_int64(argv[0]); sqlite3_result_int64(context, iVal); break; } case SQLITE_NULL: sqlite3_result_null(context); break; default: rVal = sqlite3_value_double(argv[0]); sqlite3_result_int64(context, (int64_t)f(rVal)); break; }}
开发者ID:FritzX6,项目名称:osquery,代码行数:21,
示例25: last_insert_rowid/*** Implementation of the last_insert_rowid() SQL function. The return** value is the same as the sqlite3_last_insert_rowid() API function.*/static void last_insert_rowid( sqlite3_context *context, int NotUsed, sqlite3_value **NotUsed2){ sqlite3 *db = sqlite3_context_db_handle(context); UNUSED_PARAMETER2(NotUsed, NotUsed2); /* IMP: R-51513-12026 The last_insert_rowid() SQL function is a ** wrapper around the sqlite3_last_insert_rowid() C/C++ interface ** function. */ sqlite3_result_int64(context, sqlite3_last_insert_rowid(db));}
开发者ID:blingstorm,项目名称:sqlcipher,代码行数:16,
示例26: vdbf_columnstatic intvdbf_column (sqlite3_vtab_cursor * pCursor, sqlite3_context * pContext, int column){/* fetching value for the Nth column */ int nCol = 1; gaiaDbfFieldPtr pFld; VirtualDbfCursorPtr cursor = (VirtualDbfCursorPtr) pCursor; if (column == 0) { /* the PRIMARY KEY column */ sqlite3_result_int (pContext, cursor->current_row); return SQLITE_OK; } pFld = cursor->pVtab->dbf->Dbf->First; while (pFld) { /* column values */ if (nCol == column) { if (!(pFld->Value)) sqlite3_result_null (pContext); else { switch (pFld->Value->Type) { case GAIA_INT_VALUE: sqlite3_result_int64 (pContext, pFld->Value->IntValue); break; case GAIA_DOUBLE_VALUE: sqlite3_result_double (pContext, pFld->Value->DblValue); break; case GAIA_TEXT_VALUE: sqlite3_result_text (pContext, pFld->Value->TxtValue, strlen (pFld->Value->TxtValue), SQLITE_STATIC); break; default: sqlite3_result_null (pContext); break; } } break; } nCol++; pFld = pFld->Next; } return SQLITE_OK;}
开发者ID:gfbipnet,项目名称:amigoclient,代码行数:52,
示例27: sumFinalizestatic void sumFinalize(sqlite3_context *context){ SumCtx *p; p = sqlite3_aggregate_context(context, 0); if( p && p->cnt>0 ){ if( p->overflow ){ sqlite3_result_error(context,"integer overflow",-1); }else if( p->approx ){ sqlite3_result_double(context, p->rSum); }else{ sqlite3_result_int64(context, p->iSum); } }}
开发者ID:blingstorm,项目名称:sqlcipher,代码行数:13,
示例28: ObjToSqliteContextValuevoid ObjToSqliteContextValue(Tcl_Obj *objP, sqlite3_context *sqlctxP){ unsigned char *data; int len; if (objP->typePtr) { /* * Note there is no return code checking here. Once the typePtr * is checked, the corresponding Tcl_Get* function should * always succeed. */ if (objP->typePtr == gTclStringTypeP) { /* * Do nothing, fall thru below to handle as default type. * This check is here just so the most common case of text * columns does not needlessly go through other type checks. */ } else if (objP->typePtr == gTclIntTypeP) { int ival; Tcl_GetIntFromObj(NULL, objP, &ival); sqlite3_result_int(sqlctxP, ival); return; } else if (objP->typePtr == gTclWideIntTypeP) { Tcl_WideInt i64val; Tcl_GetWideIntFromObj(NULL, objP, &i64val); sqlite3_result_int64(sqlctxP, i64val); return; } else if (objP->typePtr == gTclDoubleTypeP) { double dval; Tcl_GetDoubleFromObj(NULL, objP, &dval); sqlite3_result_double(sqlctxP, dval); return; } else if (objP->typePtr == gTclBooleanTypeP || objP->typePtr == gTclBooleanStringTypeP) { int bval; Tcl_GetBooleanFromObj(NULL, objP, &bval); sqlite3_result_int(sqlctxP, bval); return; } else if (objP->typePtr == gTclByteArrayTypeP) { /* TBD */ data = Tcl_GetByteArrayFromObj(objP, &len); sqlite3_result_blob(sqlctxP, data, len, SQLITE_TRANSIENT); return; } } /* Handle everything else as text by default */ data = (unsigned char *)Tcl_GetStringFromObj(objP, &len); sqlite3_result_text(sqlctxP, data, len, SQLITE_TRANSIENT);}
开发者ID:digsrc,项目名称:windowstoolset,代码行数:50,
示例29: fts3auxColumnMethod/*** xColumn - Return a column value.*/static int fts3auxColumnMethod( sqlite3_vtab_cursor *pCursor, /* Cursor to retrieve value from */ sqlite3_context *pContext, /* Context for sqlite3_result_xxx() calls */ int iCol /* Index of column to read value from */){ Fts3auxCursor *p = (Fts3auxCursor *)pCursor; assert( p->isEof==0 ); if( iCol==0 ){ /* Column "term" */ sqlite3_result_text(pContext, p->csr.zTerm, p->csr.nTerm, SQLITE_TRANSIENT); }else if( iCol==1 ){ /* Column "col" */ if( p->iCol ){ sqlite3_result_int(pContext, p->iCol-1); }else{ sqlite3_result_text(pContext, "*", -1, SQLITE_STATIC); } }else if( iCol==2 ){ /* Column "documents" */ sqlite3_result_int64(pContext, p->aStat[p->iCol].nDoc); }else{ /* Column "occurrences" */ sqlite3_result_int64(pContext, p->aStat[p->iCol].nOcc); } return SQLITE_OK;}
开发者ID:AlexL871,项目名称:rt-thread-stm32f4discovery,代码行数:27,
示例30: my_ceilextern void my_ceil(sqlite3_context * context, int argc, sqlite3_value ** argv) { double val; int typ; typ = sqlite3_value_type(argv[0]); if (typ == SQLITE_NULL) { sqlite3_result_null(context); } else { if ((typ == SQLITE_INTEGER) || (typ == SQLITE_FLOAT)) { val = sqlite3_value_double(argv[0]); sqlite3_result_int64(context, (long)ceil(val)); } else { //Wrong input sqlite3_result_int(context, 0); } } }
开发者ID:sfaroult,项目名称:sqlite_libs,代码行数:20,
注:本文中的sqlite3_result_int64函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ sqlite3_result_text函数代码示例 C++ sqlite3_result_int函数代码示例 |