Changeset: 940d4cf7c413 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=940d4cf7c413
Modified Files:
sql/backends/monet5/sql_cat.c
sql/server/rel_sequence.c
sql/storage/sql_storage.h
sql/storage/store.c
Branch: Apr2019
Log Message:
Fix typing issues.
cycle and bedropped are of type bit and are passed as int from the parser.
diffs (125 lines):
diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c
--- a/sql/backends/monet5/sql_cat.c
+++ b/sql/backends/monet5/sql_cat.c
@@ -636,7 +636,7 @@ create_seq(mvc *sql, char *sname, char *
} else if (!mvc_schema_privs(sql, s)) {
throw(SQL,"sql.create_seq", SQLSTATE(42000) "CREATE SEQUENCE:
insufficient privileges for '%s' in schema '%s'", stack_get_string(sql,
"current_user"), s->base.name);
} else if (is_lng_nil(seq->start) || is_lng_nil(seq->minvalue) ||
is_lng_nil(seq->maxvalue) ||
- is_lng_nil(seq->increment) ||
is_lng_nil(seq->cacheinc) || is_lng_nil(seq->cycle)) {
+ is_lng_nil(seq->increment) ||
is_lng_nil(seq->cacheinc) || is_bit_nil(seq->cycle)) {
throw(SQL,"sql.create_seq", SQLSTATE(42000) "CREATE SEQUENCE:
sequence properties must be non-NULL");
}
sql_trans_create_sequence(sql->session->tr, s, seq->base.name,
seq->start, seq->minvalue, seq->maxvalue, seq->increment, seq->cacheinc,
seq->cycle, seq->bedropped);
diff --git a/sql/server/rel_sequence.c b/sql/server/rel_sequence.c
--- a/sql/server/rel_sequence.c
+++ b/sql/server/rel_sequence.c
@@ -81,8 +81,8 @@ rel_create_seq(
lng min,
lng max,
lng cache,
- int cycle,
- int bedropped)
+ bit cycle,
+ bit bedropped)
{
sql_rel *res = NULL;
sql_sequence *seq = NULL;
@@ -110,8 +110,8 @@ rel_create_seq(
if (is_lng_nil(max)) max = 0;
if (is_lng_nil(cache)) cache = 1;
- seq = create_sql_sequence(sql->sa, s, name, start, min, max, inc,
cache, (bit) cycle);
- seq->bedropped = (bit) bedropped;
+ seq = create_sql_sequence(sql->sa, s, name, start, min, max, inc,
cache, cycle);
+ seq->bedropped = bedropped;
res = rel_seq(sql->sa, DDL_CREATE_SEQ, s->base.name, seq, NULL, NULL);
/* for multi statements we keep the sequence around */
if (res && stack_has_frame(sql, "MUL") != 0) {
@@ -136,12 +136,13 @@ list_create_seq(
sql_schema *ss,
dlist *qname,
dlist *options,
- int bedropped)
+ bit bedropped)
{
dnode *n;
sql_subtype* t = NULL;
lng start = lng_nil, inc = lng_nil, min = lng_nil, max = lng_nil, cache
= lng_nil;
- int used = 0, cycle = 0;
+ unsigned int used = 0;
+ bit cycle = 0;
/* check if no option is given twice */
for (n = options->h; n; n = n->next) {
@@ -190,9 +191,7 @@ list_create_seq(
if ((used&(1<<SEQ_CYCLE)))
return sql_error(sql, 02, SQLSTATE(3F000)
"CREATE SEQUENCE: CYCLE or NO CYCLE should be passed as most once");
used |= (1<<SEQ_CYCLE);
- if (is_lng_nil(s->data.l_val))
- return sql_error(sql, 02, SQLSTATE(42000)
"CREATE SEQUENCE: CYCLE must be non-NULL");
- cycle = s->data.i_val;
+ cycle = s->data.i_val != 0;
break;
case SQL_CACHE:
if ((used&(1<<SEQ_CACHE)))
@@ -220,7 +219,7 @@ rel_alter_seq(
lng min,
lng max,
lng cache,
- int cycle)
+ bit cycle)
{
char* name = qname_table(qname);
char *sname = qname_schema(qname);
@@ -283,7 +282,8 @@ list_alter_seq(
sql_subtype* t = NULL;
lng inc = lng_nil, min = lng_nil, max = lng_nil, cache = lng_nil;
dlist *start = NULL;
- int used = 0, cycle = 0;
+ unsigned int used = 0;
+ bit cycle = 0;
/* check if no option is given twice */
for (n = options->h; n; n = n->next) {
@@ -332,7 +332,7 @@ list_alter_seq(
if ((used&(1<<SEQ_CYCLE)))
return sql_error(sql, 02, SQLSTATE(3F000)
"ALTER SEQUENCE: CYCLE or NO CYCLE should be passed as most once");
used |= (1<<SEQ_CYCLE);
- cycle = s->data.i_val;
+ cycle = s->data.i_val != 0;
break;
case SQL_CACHE:
if ((used&(1<<SEQ_CACHE)))
@@ -364,7 +364,7 @@ rel_sequences(mvc *sql, symbol *s)
/* sql_schema* s */ cur_schema(sql),
/* dlist* qname */ l->h->data.lval,
/* dlist* options */ l->h->next->data.lval,
-/* int bedropped */ l->h->next->next->data.i_val);
+/* bit bedropped */ (bit) (l->h->next->next->data.i_val != 0));
}
break;
case SQL_ALTER_SEQ:
diff --git a/sql/storage/sql_storage.h b/sql/storage/sql_storage.h
--- a/sql/storage/sql_storage.h
+++ b/sql/storage/sql_storage.h
@@ -422,7 +422,7 @@ extern int sql_trans_drop_trigger(sql_tr
extern sql_sequence *create_sql_sequence(sql_allocator *sa, sql_schema *s,
const char *name, lng start, lng min, lng max, lng inc, lng cacheinc, bit
cycle);
extern sql_sequence * sql_trans_create_sequence(sql_trans *tr, sql_schema *s,
const char *name, lng start, lng min, lng max, lng inc, lng cacheinc, bit
cycle, bit bedropped);
extern void sql_trans_drop_sequence(sql_trans *tr, sql_schema *s, sql_sequence
*seq, int drop_action);
-extern sql_sequence *sql_trans_alter_sequence(sql_trans *tr, sql_sequence
*seq, lng min, lng max, lng inc, lng cache, lng cycle);
+extern sql_sequence *sql_trans_alter_sequence(sql_trans *tr, sql_sequence
*seq, lng min, lng max, lng inc, lng cache, bit cycle);
extern lng sql_trans_sequence_restart(sql_trans *tr, sql_sequence *seq, lng
start);
extern sql_session * sql_session_create(backend_stack stk, int autocommit);
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -6304,7 +6304,7 @@ sql_trans_drop_sequence(sql_trans *tr, s
}
sql_sequence *
-sql_trans_alter_sequence(sql_trans *tr, sql_sequence *seq, lng min, lng max,
lng inc, lng cache, lng cycle)
+sql_trans_alter_sequence(sql_trans *tr, sql_sequence *seq, lng min, lng max,
lng inc, lng cache, bit cycle)
{
sql_schema *syss = find_sql_schema(tr, "sys");
sql_table *seqs = find_sql_table(syss, "sequences");
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list