The R Project SVN R-packages

Rev

Rev 3435 | Rev 3456 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3435 Rev 3446
Line 4... Line 4...
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
/* # of sql buffers */
-
 
10
#define NBUFS 4
-
 
11
 
-
 
12
#ifdef __SQLITE_WORKSPACE__
-
 
13
SEXP SDF_RowNamesSymbol;
-
 
14
SEXP SDF_DimSymbol;
-
 
15
SEXP SDF_DimNamesSymbol;
-
 
16
#else 
-
 
17
extern SEXP SDF_RowNamesSymbol;
-
 
18
extern SEXP SDF_DimSymbol;
-
 
19
extern SEXP SDF_DimNamesSymbol;
-
 
20
 
-
 
21
extern sqlite3 *g_workspace;
-
 
22
extern char *g_sql_buf[NBUFS];
-
 
23
extern int g_sql_buf_sz[NBUFS];
-
 
24
#endif
-
 
25
 
9
#define WORKSPACE_COLUMNS 6
26
#define WORKSPACE_COLUMNS 6
10
#define MAX_ATTACHED 30     /* 31 including workspace.db */
27
#define MAX_ATTACHED 30     /* 31 including workspace.db */
11
 
28
 
12
/* utilities for checking characteristics of arg */
29
/* utilities for checking characteristics of arg */
13
int _is_r_sym(char *sym);
30
int _is_r_sym(char *sym);
Line 70... Line 87...
70
#define _sqlite_begin  _sqlite_error(_sqlite_exec("begin")) 
87
#define _sqlite_begin  _sqlite_error(_sqlite_exec("begin")) 
71
#define _sqlite_commit _sqlite_error(_sqlite_exec("commit"))
88
#define _sqlite_commit _sqlite_error(_sqlite_exec("commit"))
72
#endif
89
#endif
73
 
90
 
74
#ifndef SET_ROWNAMES
91
#ifndef SET_ROWNAMES
75
#define SET_ROWNAMES(x,n) setAttrib(x, R_RowNamesSymbol, n)
92
#define SET_ROWNAMES(x,n) setAttrib(x, SDF_RowNamesSymbol, n)
76
#endif
93
#endif
77
 
94
 
78
/* override R's, which does a GetRowNames which is different I believe */
95
/* override R's, which does a GetRowNames which is different I believe */
79
#undef GET_ROWNAMES
96
#undef GET_ROWNAMES
80
#define GET_ROWNAMES(x) getAttrib(x, R_RowNamesSymbol)
97
#define GET_ROWNAMES(x) getAttrib(x, R_RowNamesSymbol)
Line 84... Line 101...
84
 
101
 
85
/* SDF object accessors shortcuts */
102
/* SDF object accessors shortcuts */
86
#define SDF_INAME(sdf) CHAR(STRING_ELT(_getListElement(sdf, "iname"),0))
103
#define SDF_INAME(sdf) CHAR(STRING_ELT(_getListElement(sdf, "iname"),0))
87
#define SVEC_VARNAME(sdf) CHAR(STRING_ELT(_getListElement(sdf, "varname"),0))
104
#define SVEC_VARNAME(sdf) CHAR(STRING_ELT(_getListElement(sdf, "varname"),0))
88
 
105
 
89
/* # of sql buffers */
-
 
90
#define NBUFS 4
-
 
91
 
-
 
92
/* possible var types when stored in sqlite as integer */
106
/* possible var types when stored in sqlite as integer */
93
#define VAR_INTEGER 0
107
#define VAR_INTEGER 0
94
#define VAR_FACTOR  1
108
#define VAR_FACTOR  1
95
#define VAR_ORDERED 2
109
#define VAR_ORDERED 2
96
 
110
 
Line 100... Line 114...
100
 
114
 
101
/* R SXP type constants */
115
/* R SXP type constants */
102
#define FACTORSXP 11
116
#define FACTORSXP 11
103
#define ORDEREDSXP 12
117
#define ORDEREDSXP 12
104
 
118
 
105
#ifndef __SQLITE_WORKSPACE__
-
 
106
extern sqlite3 *g_workspace;
-
 
107
extern char *g_sql_buf[NBUFS];
-
 
108
extern int g_sql_buf_sz[NBUFS];
-
 
109
#endif
-
 
110
 
119
 
111
 
120
 
112
/* top level functions */
121
/* top level functions */
113
/* sqlite_workspace.c */
122
/* sqlite_workspace.c */
114
SEXP sdf_init_workspace();
123
SEXP sdf_init_workspace();