The R Project SVN R-packages

Rev

Rev 3284 | Rev 3324 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3284 Rev 3307
Line 185... Line 185...
185
    }
185
    }
186
 
186
 
187
    return ret;
187
    return ret;
188
}
188
}
189
 
189
 
190
SEXP _get_rownames(const char *sdf_iname) {
190
SEXP _get_rownames2(const char *sdf_iname) {
191
    sqlite3_stmt *stmt;
191
    sqlite3_stmt *stmt;
192
    sprintf(g_sql_buf[0], "select [row name] from [%s].sdf_data", sdf_iname);
192
    sprintf(g_sql_buf[2], "select [row name] from [%s].sdf_data", sdf_iname);
193
    int res = sqlite3_prepare(g_workspace, g_sql_buf[0], -1, &stmt, 0);
193
    int res = sqlite3_prepare(g_workspace, g_sql_buf[2], -1, &stmt, 0);
194
 
194
 
195
    sqlite3_finalize(stmt);
195
    sqlite3_finalize(stmt);
196
    if (_sqlite_error(res)) return R_NilValue; 
196
    if (_sqlite_error(res)) return R_NilValue; 
197
 
197
 
198
    SEXP ret, value;
198
    SEXP ret, value;
Line 232... Line 232...
232
    /* set class */
232
    /* set class */
233
    PROTECT(class = NEW_CHARACTER(2)); nprotected++;
233
    PROTECT(class = NEW_CHARACTER(2)); nprotected++;
234
    SET_STRING_ELT(class, 0, mkChar("sqlite.data.frame"));
234
    SET_STRING_ELT(class, 0, mkChar("sqlite.data.frame"));
235
    SET_STRING_ELT(class, 1, mkChar("data.frame"));
235
    SET_STRING_ELT(class, 1, mkChar("data.frame"));
236
    SET_CLASS(ret, class);
236
    SET_CLASS(ret, class);
237
    SET_ROWNAMES(ret, _get_rownames(iname));
237
    SET_ROWNAMES(ret, _get_rownames2(iname));
238
    
238
    
239
    UNPROTECT(nprotected);
239
    UNPROTECT(nprotected);
240
    return ret;
240
    return ret;
241
}
241
}
242
 
242
 
243
static void __attach_levels2(char *table, SEXP var, int len) {
243
static void __attach_levels2(char *table, SEXP var, int len) {
-
 
244
    /* arg table is assumed to be surrounded by [] already */
244
    SEXP levels;
245
    SEXP levels;
245
    int idx = 0, res;
246
    int idx = 0, res;
246
    sqlite3_stmt *stmt;
247
    sqlite3_stmt *stmt;
247
 
248
 
248
    PROTECT(levels = NEW_CHARACTER(len));
249
    PROTECT(levels = NEW_CHARACTER(len));