Lines Matching refs:pCur
109 memstat_cursor *pCur; in memstatOpen() local
110 pCur = sqlite3_malloc( sizeof(*pCur) ); in memstatOpen()
111 if( pCur==0 ) return SQLITE_NOMEM; in memstatOpen()
112 memset(pCur, 0, sizeof(*pCur)); in memstatOpen()
113 pCur->db = ((memstat_vtab*)p)->db; in memstatOpen()
114 *ppCursor = &pCur->base; in memstatOpen()
121 static void memstatClearSchema(memstat_cursor *pCur){ in memstatClearSchema() argument
123 if( pCur->azDb==0 ) return; in memstatClearSchema()
124 for(i=0; i<pCur->nDb; i++){ in memstatClearSchema()
125 sqlite3_free(pCur->azDb[i]); in memstatClearSchema()
127 sqlite3_free(pCur->azDb); in memstatClearSchema()
128 pCur->azDb = 0; in memstatClearSchema()
129 pCur->nDb = 0; in memstatClearSchema()
135 static int memstatFindSchemas(memstat_cursor *pCur){ in memstatFindSchemas() argument
138 if( pCur->nDb ) return SQLITE_OK; in memstatFindSchemas()
139 rc = sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, &pStmt, 0); in memstatFindSchemas()
146 az = sqlite3_realloc64(pCur->azDb, sizeof(char*)*(pCur->nDb+1)); in memstatFindSchemas()
148 memstatClearSchema(pCur); in memstatFindSchemas()
151 pCur->azDb = az; in memstatFindSchemas()
154 memstatClearSchema(pCur); in memstatFindSchemas()
157 pCur->azDb[pCur->nDb] = z; in memstatFindSchemas()
158 pCur->nDb++; in memstatFindSchemas()
169 memstat_cursor *pCur = (memstat_cursor*)cur; in memstatClose() local
170 memstatClearSchema(pCur); in memstatClose()
233 memstat_cursor *pCur = (memstat_cursor*)cur; in memstatNext() local
235 assert( pCur->iRowid<=MSV_NROW ); in memstatNext()
237 i = (int)pCur->iRowid - 1; in memstatNext()
238 if( i<0 || (aMemstatColumn[i].mNull & 2)!=0 || (++pCur->iDb)>=pCur->nDb ){ in memstatNext()
239 pCur->iRowid++; in memstatNext()
240 if( pCur->iRowid>MSV_NROW ) return SQLITE_OK; /* End of the table */ in memstatNext()
241 pCur->iDb = 0; in memstatNext()
244 pCur->aVal[0] = 0; in memstatNext()
245 pCur->aVal[1] = 0; in memstatNext()
250 &pCur->aVal[0], &pCur->aVal[1],0); in memstatNext()
254 pCur->aVal[0] = xCur; in memstatNext()
255 pCur->aVal[1] = xHiwtr; in memstatNext()
261 sqlite3_db_status(pCur->db, aMemstatColumn[i].eOp, &xCur, &xHiwtr, 0); in memstatNext()
262 pCur->aVal[0] = xCur; in memstatNext()
263 pCur->aVal[1] = xHiwtr; in memstatNext()
268 rc = sqlite3_file_control(pCur->db, pCur->azDb[pCur->iDb], in memstatNext()
269 aMemstatColumn[i].eOp, (void*)&pCur->aVal[0]); in memstatNext()
289 memstat_cursor *pCur = (memstat_cursor*)cur; in memstatColumn() local
291 assert( pCur->iRowid>0 && pCur->iRowid<=MSV_NROW ); in memstatColumn()
292 i = (int)pCur->iRowid - 1; in memstatColumn()
302 sqlite3_result_text(ctx, pCur->azDb[pCur->iDb], -1, 0); in memstatColumn()
306 sqlite3_result_int64(ctx, pCur->aVal[0]); in memstatColumn()
310 sqlite3_result_int64(ctx, pCur->aVal[1]); in memstatColumn()
322 memstat_cursor *pCur = (memstat_cursor*)cur; in memstatRowid() local
323 *pRowid = pCur->iRowid*1000 + pCur->iDb; in memstatRowid()
332 memstat_cursor *pCur = (memstat_cursor*)cur; in memstatEof() local
333 return pCur->iRowid>MSV_NROW; in memstatEof()
347 memstat_cursor *pCur = (memstat_cursor *)pVtabCursor; in memstatFilter() local
348 int rc = memstatFindSchemas(pCur); in memstatFilter()
350 pCur->iRowid = 0; in memstatFilter()
351 pCur->iDb = 0; in memstatFilter()