The R Project SVN R-packages

Rev

Rev 3255 | Rev 3307 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3255 Rev 3281
1
#include "R.h"
1
#include "R.h"
2
#include "Rdefines.h"
2
#include "Rdefines.h"
3
#include "Rinternals.h"
3
#include "Rinternals.h"
4
#include "sqlite3.h"
4
#include "sqlite3.h"
5
 
5
 
6
#ifndef __SQLITE_DATAFRAME__
6
#ifndef __SQLITE_DATAFRAME__
7
#define __SQLITE_DATAFRAME__
7
#define __SQLITE_DATAFRAME__
8
 
8
 
9
#include "sqlite3.h"
-
 
10
 
-
 
11
#define WORKSPACE_COLUMNS 3
9
#define WORKSPACE_COLUMNS 3
12
 
10
 
13
int _is_r_sym(char *sym);
11
int _is_r_sym(char *sym);
14
int _file_exists(char *filename);
12
int _file_exists(char *filename);
15
int _empty_callback(void *data, int ncols, char **row, char **cols);
13
int _empty_callback(void *data, int ncols, char **row, char **cols);
16
char *_r2iname(char *internal_name, char *filename);
14
char *_r2iname(char *internal_name, char *filename);
17
char *_fixname(char *rname);
15
char *_fixname(char *rname);
18
char *_get_full_pathname2(char *relpath);
16
char *_get_full_pathname2(char *relpath);
19
int _sqlite_error(int res);
17
int _sqlite_error(int res);
20
SEXP _getListElement(SEXP list, char *varname);
18
SEXP _getListElement(SEXP list, char *varname);
21
int _expand_buf(int i, int size);
19
int _expand_buf(int i, int size);
22
const char *_get_column_type(const char *class, int type);
20
const char *_get_column_type(const char *class, int type);
23
int _add_sdf1(char *filename, char *internal_name);
21
int _add_sdf1(char *filename, char *internal_name);
24
SEXP _create_sdf_sexp(char *iname);
22
SEXP _create_sdf_sexp(const char *iname);
25
int _get_factor_levels1(const char *iname, const char *varname, SEXP var);
23
int _get_factor_levels1(const char *iname, const char *varname, SEXP var);
26
SEXP _shrink_vector(SEXP vec, int len);
24
SEXP _shrink_vector(SEXP vec, int len);
-
 
25
int _get_row_count2(const char *table);
-
 
26
SEXP _get_rownames(const char *sdf_iname) ;
-
 
27
 
-
 
28
SEXP sdf_get_variable(SEXP sdf, SEXP name);
27
 
29
 
28
#define _sqlite_exec(sql) sqlite3_exec(g_workspace, sql, _empty_callback, NULL, NULL)
30
#define _sqlite_exec(sql) sqlite3_exec(g_workspace, sql, _empty_callback, NULL, NULL)
-
 
31
#ifndef SET_ROWNAMES
-
 
32
#define SET_ROWNAMES(x,n) setAttrib(x, R_RowNamesSymbol, n)
-
 
33
#endif
29
 
34
 
30
/* R object accessors shortcuts */
35
/* R object accessors shortcuts */
31
#define CHAR_ELT(str, i) CHAR(STRING_ELT(str,i))
36
#define CHAR_ELT(str, i) CHAR(STRING_ELT(str,i))
32
 
37
 
33
/* SDF object accessors shortcuts */
38
/* SDF object accessors shortcuts */
34
#define SDF_INAME(sdf) CHAR(STRING_ELT(_getListElement(sdf, "iname"),0))
39
#define SDF_INAME(sdf) CHAR(STRING_ELT(_getListElement(sdf, "iname"),0))
35
#define SVEC_VARNAME(sdf) CHAR(STRING_ELT(_getListElement(sdf, "varname"),0))
40
#define SVEC_VARNAME(sdf) CHAR(STRING_ELT(_getListElement(sdf, "varname"),0))
36
 
41
 
37
/* # of sql buffers */
42
/* # of sql buffers */
38
#define NBUFS 4
43
#define NBUFS 4
39
 
44
 
40
/* possible var types when stored in sqlite as integer */
45
/* possible var types when stored in sqlite as integer */
41
#define VAR_INTEGER 0
46
#define VAR_INTEGER 0
42
#define VAR_FACTOR  1
47
#define VAR_FACTOR  1
43
#define VAR_ORDERED 2
48
#define VAR_ORDERED 2
44
 
49
 
45
 
50
 
46
#ifndef __SQLITE_WORKSPACE__
51
#ifndef __SQLITE_WORKSPACE__
47
extern sqlite3 *g_workspace;
52
extern sqlite3 *g_workspace;
48
extern char *g_sql_buf[NBUFS];
53
extern char *g_sql_buf[NBUFS];
49
extern int g_sql_buf_sz[NBUFS];
54
extern int g_sql_buf_sz[NBUFS];
50
#endif
55
#endif
51
 
56
 
52
#endif
57
#endif