Changeset: 86e62d4bfe87 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=86e62d4bfe87
Modified Files:
sql/backends/monet5/UDF/capi/capi.c
sql/backends/monet5/UDF/capi/capi.h
sql/backends/monet5/UDF/capi/capi.mal
sql/backends/monet5/UDF/capi/cheader.h
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_statement.c
sql/include/sql_catalog.h
sql/server/rel_psm.c
sql/server/sql_parser.y
Branch: jitudf
Log Message:
Formatting.
diffs (truncated from 1538 to 300 lines):
diff --git a/sql/backends/monet5/UDF/capi/capi.c
b/sql/backends/monet5/UDF/capi/capi.c
--- a/sql/backends/monet5/UDF/capi/capi.c
+++ b/sql/backends/monet5/UDF/capi/capi.c
@@ -24,67 +24,73 @@
struct _allocated_region;
typedef struct _allocated_region {
- struct _allocated_region* next;
+ struct _allocated_region *next;
} allocated_region;
-
-static __thread allocated_region* allocated_regions;
+static __thread allocated_region *allocated_regions;
static __thread jmp_buf jump_buffer;
-static str
-CUDFeval(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci, bit grouped);
+static str CUDFeval(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci,
+ bit grouped);
-str CUDFevalStd(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) {
+str CUDFevalStd(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+{
return CUDFeval(cntxt, mb, stk, pci, 0);
}
-str CUDFevalAggr(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) {
+str CUDFevalAggr(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+{
return CUDFeval(cntxt, mb, stk, pci, 1);
}
-str CUDFprelude(void *ret) {
- (void) ret;
+str CUDFprelude(void *ret)
+{
+ (void)ret;
return MAL_SUCCEED;
}
-typedef char* (*jitted_function)(void** inputs, void** outputs,
malloc_function_ptr malloc);
+typedef char *(*jitted_function)(void **inputs, void **outputs,
+
malloc_function_ptr malloc);
-static bool
-WriteDataToFile(FILE* f, const void* data, size_t data_size) {
+static bool WriteDataToFile(FILE *f, const void *data, size_t data_size)
+{
fwrite(data, data_size, 1, f);
return (!ferror(f));
}
-static bool
-WriteTextToFile(FILE* f, const char* data) {
+static bool WriteTextToFile(FILE *f, const char *data)
+{
return WriteDataToFile(f, data, strlen(data));
}
-static void handler(int sig, siginfo_t *si, void *unused) {
- (void) sig;
- (void) si;
- (void) unused;
+static void handler(int sig, siginfo_t *si, void *unused)
+{
+ (void)sig;
+ (void)si;
+ (void)unused;
// we caught a segfault or bus error
longjmp(jump_buffer, 1);
}
struct _mprotected_region;
typedef struct _mprotected_region {
- void* addr;
+ void *addr;
size_t len;
- struct _mprotected_region* next;
+ struct _mprotected_region *next;
} mprotected_region;
-static char*
-mprotect_region(void* addr, size_t len, int flags, mprotected_region**
regions) {
- mprotected_region* region;
+static char *mprotect_region(void *addr, size_t len, int flags,
+ mprotected_region
**regions)
+{
+ mprotected_region *region;
int pagesize;
- void* page_begin;
- if (len == 0) return NULL;
+ void *page_begin;
+ if (len == 0)
+ return NULL;
// check if the region is page-aligned
-
+
pagesize = getpagesize();
- page_begin = (void*)((size_t)addr - (size_t)addr % pagesize);
+ page_begin = (void *)((size_t)addr - (size_t)addr % pagesize);
if (page_begin != addr) {
// data is not page-aligned
len += ((size_t)addr - (size_t)page_begin);
@@ -108,60 +114,60 @@ mprotect_region(void* addr, size_t len,
return NULL;
}
-static char*
-clear_mprotect(void* addr, size_t len) {
+static char *clear_mprotect(void *addr, size_t len)
+{
if (mprotect(addr, len, PROT_READ | PROT_WRITE) < 0) {
return strerror(errno);
}
return NULL;
}
-#define ATTEMPT_TO_WRITE_TO_FILE(f, data) \
- if (!WriteTextToFile(f, data)) { \
- errno = 0; \
- msg = createException(MAL, "cudf.eval", "Write error."); \
- goto wrapup; \
+#define ATTEMPT_TO_WRITE_TO_FILE(f, data)
\
+ if (!WriteTextToFile(f, data)) {
\
+ errno = 0;
\
+ msg = createException(MAL, "cudf.eval", "Write error.");
\
+ goto wrapup;
\
}
-
-#define ATTEMPT_TO_WRITE_DATA_TO_FILE(f, data, size) \
- if (!WriteDataToFile(f, data, size)) { \
- errno = 0; \
- msg = createException(MAL, "cudf.eval", "Write error."); \
- goto wrapup; \
+#define ATTEMPT_TO_WRITE_DATA_TO_FILE(f, data, size)
\
+ if (!WriteDataToFile(f, data, size)) {
\
+ errno = 0;
\
+ msg = createException(MAL, "cudf.eval", "Write error.");
\
+ goto wrapup;
\
}
-
-static void* jump_GDK_malloc(size_t size) {
- void* ptr = GDKmalloc(size);
+static void *jump_GDK_malloc(size_t size)
+{
+ void *ptr = GDKmalloc(size);
if (!ptr) {
longjmp(jump_buffer, 2);
}
return ptr;
}
-static void* wrapped_GDK_malloc(size_t size) {
- allocated_region* region;
- void* ptr = jump_GDK_malloc(size + sizeof(allocated_region));
- region = (allocated_region*)ptr;
+static void *wrapped_GDK_malloc(size_t size)
+{
+ allocated_region *region;
+ void *ptr = jump_GDK_malloc(size + sizeof(allocated_region));
+ region = (allocated_region *)ptr;
region->next = allocated_regions;
allocated_regions = region;
-
+
return ptr + sizeof(allocated_region);
}
-#define GENERATE_BASE_HEADERS(type, tpename) \
-static int tpename##_is_null(type value); \
-static void tpename##_initialize(struct cudf_data_struct_##tpename* self,
size_t count) { \
- self->count = count; \
- self->data = jump_GDK_malloc(count * sizeof(self->null_value)); \
-}
+#define GENERATE_BASE_HEADERS(type, tpename)
\
+ static int tpename##_is_null(type value);
\
+ static void tpename##_initialize(struct cudf_data_struct_##tpename
*self, \
+ size_t
count) \
+ {
\
+ self->count = count;
\
+ self->data = jump_GDK_malloc(count * sizeof(self->null_value));
\
+ }
-#define GENERATE_BASE_FUNCTIONS(tpe, tpename) \
-GENERATE_BASE_HEADERS(tpe, tpename); \
-static int tpename##_is_null(tpe value) { \
- return value == tpename##_nil; \
-}
+#define GENERATE_BASE_FUNCTIONS(tpe, tpename)
\
+ GENERATE_BASE_HEADERS(tpe, tpename);
\
+ static int tpename##_is_null(tpe value) { return value ==
tpename##_nil; }
GENERATE_BASE_FUNCTIONS(bte, bte);
GENERATE_BASE_FUNCTIONS(sht, sht);
@@ -170,82 +176,95 @@ GENERATE_BASE_FUNCTIONS(lng, lng);
GENERATE_BASE_FUNCTIONS(flt, flt);
GENERATE_BASE_FUNCTIONS(dbl, dbl);
-GENERATE_BASE_HEADERS(char*, str);
+GENERATE_BASE_HEADERS(char *, str);
GENERATE_BASE_HEADERS(cudf_data_date, date);
GENERATE_BASE_HEADERS(cudf_data_time, time);
GENERATE_BASE_HEADERS(cudf_data_timestamp, timestamp);
-#define GENERATE_BAT_INPUT_BASE(b, tpe) \
- struct cudf_data_struct_##tpe* bat_data = GDKmalloc(sizeof(struct
cudf_data_struct_##tpe)); \
- if (!bat_data) { \
- msg = createException(MAL, "cudf.eval", MAL_MALLOC_FAIL); \
- goto wrapup; \
- } \
- inputs[index] = bat_data; \
- bat_data->is_null = tpe##_is_null;\
- bat_data->initialize = (void (*)(void*, size_t)) tpe##_initialize;
-
-#define GENERATE_BAT_INPUT(b, tpe) { \
- char* mprotect_retval; \
- GENERATE_BAT_INPUT_BASE(b, tpe); \
- bat_data->count = BATcount(b); \
- bat_data->data = (tpe*) Tloc(b, 0); \
- bat_data->null_value = tpe##_nil; \
- mprotect_retval = mprotect_region(bat_data->data, bat_data->count *
sizeof(bat_data->null_value), PROT_READ, ®ions); \
- if (mprotect_retval) { \
- msg = createException(MAL, "cudf.eval", "Failed to mprotect
region: %s", mprotect_retval); \
- goto wrapup; \
- } \
-}
+#define GENERATE_BAT_INPUT_BASE(b, tpe)
\
+ struct cudf_data_struct_##tpe *bat_data =
\
+ GDKmalloc(sizeof(struct cudf_data_struct_##tpe));
\
+ if (!bat_data) {
\
+ msg = createException(MAL, "cudf.eval", MAL_MALLOC_FAIL);
\
+ goto wrapup;
\
+ }
\
+ inputs[index] = bat_data;
\
+ bat_data->is_null = tpe##_is_null;
\
+ bat_data->initialize = (void (*)(void *, size_t))tpe##_initialize;
-
-#define GENERATE_BAT_OUTPUT_BASE(tpe) \
- struct cudf_data_struct_##tpe* bat_data = GDKmalloc(sizeof(struct
cudf_data_struct_##tpe)); \
- if (!bat_data) { \
- msg = createException(MAL, "cudf.eval", MAL_MALLOC_FAIL); \
- goto wrapup; \
- } \
- outputs[index] = bat_data; \
- bat_data->is_null = tpe##_is_null; \
- bat_data->initialize = (void (*)(void*, size_t)) tpe##_initialize;
+#define GENERATE_BAT_INPUT(b, tpe)
\
+ {
\
+ char *mprotect_retval;
\
+ GENERATE_BAT_INPUT_BASE(b, tpe);
\
+ bat_data->count = BATcount(b);
\
+ bat_data->data = (tpe *)Tloc(b, 0);
\
+ bat_data->null_value = tpe##_nil;
\
+ mprotect_retval = mprotect_region(
\
+ bat_data->data, bat_data->count *
sizeof(bat_data->null_value), \
+ PROT_READ, ®ions);
\
+ if (mprotect_retval) {
\
+ msg = createException(MAL, "cudf.eval",
\
+ "Failed to
mprotect region: %s", \
+
mprotect_retval); \
+ goto wrapup;
\
+ }
\
+ }
-#define GENERATE_BAT_OUTPUT(tpe) { \
- GENERATE_BAT_OUTPUT_BASE(tpe); \
- bat_data->count = 0; \
- bat_data->data = NULL; \
- bat_data->null_value = (tpe) tpe##_nil;\
-}
+#define GENERATE_BAT_OUTPUT_BASE(tpe)
\
+ struct cudf_data_struct_##tpe *bat_data =
\
+ GDKmalloc(sizeof(struct cudf_data_struct_##tpe));
\
+ if (!bat_data) {
\
+ msg = createException(MAL, "cudf.eval", MAL_MALLOC_FAIL);
\
+ goto wrapup;
\
+ }
\
+ outputs[index] = bat_data;
\
+ bat_data->is_null = tpe##_is_null;
\
+ bat_data->initialize = (void (*)(void *, size_t))tpe##_initialize;
-#define GENERATE_SCALAR_INPUT(tpe) \
- inputs[index] = GDKmalloc(sizeof(tpe)); \
- if (!inputs[index]) { \
- goto wrapup; \
- } \
- *((tpe*)inputs[index]) = *((tpe*)getArgReference(stk, pci, i));
+#define GENERATE_BAT_OUTPUT(tpe)
\
+ {
\
+ GENERATE_BAT_OUTPUT_BASE(tpe);
\
+ bat_data->count = 0;
\
+ bat_data->data = NULL;
\
+ bat_data->null_value = (tpe)tpe##_nil;
\
+ }
+
+#define GENERATE_SCALAR_INPUT(tpe)
\
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list