Changeset: dfe215052f70 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dfe215052f70
Modified Files:
sql/src/common/sql_stack.c
sql/src/include/sql_stack.h
Branch: default
Log Message:
missing files
diffs (67 lines):
diff -r e43c907a644b -r dfe215052f70 sql/src/common/sql_stack.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/src/common/sql_stack.c Thu Dec 02 10:44:28 2010 +0100
@@ -0,0 +1,33 @@
+
+#include "sql_config.h"
+#include <sql_stack.h>
+
+sql_stack *
+sql_stack_new(sql_allocator *sa, int size)
+{
+ sql_stack *s = SA_NEW(sa, sql_stack);
+
+ s -> sa = sa;
+ s -> size = size;
+ s -> top = 0;
+ s -> values = SA_NEW_ARRAY(sa, void*, size);
+ s -> values[s->top++] = NULL;
+ return s;
+}
+
+void
+sql_stack_push(sql_stack *s, void *v)
+{
+ if (s->top >= s->size) {
+ size_t osz = s->size;
+ s->size *= 2;
+ s->values = SA_RENEW_ARRAY(s->sa, void*, s->values, s->size,
osz);
+ }
+ s->values[s->top++] = v;
+}
+
+void *
+sql_stack_pop(sql_stack *s)
+{
+ return s->values[--s->top];
+}
diff -r e43c907a644b -r dfe215052f70 sql/src/include/sql_stack.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/src/include/sql_stack.h Thu Dec 02 10:44:28 2010 +0100
@@ -0,0 +1,26 @@
+#ifndef SQL_STACK_H
+#define SQL_STACK_H
+
+/* sql_stack implementation
+ * used by mvc structure for variable stack
+ * trigger stack
+ * Multi statement stack (intermediate results)
+ * ....
+ * stmt generation
+ * stmt dependency (close to stmt generation)
+ */
+
+#include <sql_mem.h>
+
+typedef struct sql_stack {
+ sql_allocator *sa;
+ int size;
+ int top;
+ void **values;
+} sql_stack;
+
+extern sql_stack *sql_stack_new(sql_allocator *sa, int size);
+extern void sql_stack_push(sql_stack *s, void *v);
+extern void *sql_stack_pop(sql_stack *s);
+
+#endif /* SQL_STACK_H */
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list