Changeset: 646998a6c64f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=646998a6c64f
Modified Files:
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql_statement.c
sql/include/sql_catalog.h
sql/include/sql_relation.h
sql/rel.txt
sql/server/rel_distribute.c
sql/server/rel_dump.c
sql/server/rel_optimizer.c
sql/server/rel_propagate.c
sql/server/rel_psm.c
sql/server/rel_rel.c
sql/server/rel_rel.h
sql/server/rel_schema.c
sql/server/rel_sequence.c
sql/server/rel_trans.c
sql/server/rel_updates.c
sql/storage/sql_catalog.c
Branch: default
Log Message:
SQL layer cleanup:
- Use C enum for ddl statements list
- Removed unused preprocessor macros and sql_histype enum.
- MAXOPS should be 21.
diffs (truncated from 1207 to 300 lines):
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -5284,7 +5284,7 @@ rel2bin_partition_limits(backend *be, sq
r = subrel_bin(be, rel->r, refs);
assert(rel->exps);
- assert(rel->flag == DDL_ALTER_TABLE_ADD_RANGE_PARTITION || rel->flag ==
DDL_ALTER_TABLE_ADD_LIST_PARTITION);
+ assert(rel->flag == ddl_alter_table_add_range_partition || rel->flag ==
ddl_alter_table_add_list_partition);
if(rel->exps) {
for(n = rel->exps->h; n; n = n->next) {
@@ -5437,7 +5437,7 @@ rel2bin_catalog_table(backend *be, sql_r
append(l, sname);
assert(tname);
append(l, tname);
- if (rel->flag != DDL_DROP_TABLE && rel->flag != DDL_DROP_VIEW &&
rel->flag != DDL_DROP_CONSTRAINT) {
+ if (rel->flag != ddl_drop_table && rel->flag != ddl_drop_view &&
rel->flag != ddl_drop_constraint) {
if (en) {
table = exp_bin(be, en->data, NULL, NULL, NULL, NULL,
NULL, NULL);
if (!table)
@@ -5487,37 +5487,84 @@ rel2bin_ddl(backend *be, sql_rel *rel, l
mvc *sql = be->mvc;
stmt *s = NULL;
- if (rel->flag == DDL_OUTPUT) {
- s = rel2bin_output(be, rel, refs);
- sql->type = Q_TABLE;
- } else if (rel->flag <= DDL_LIST) {
- s = rel2bin_list(be, rel, refs);
- } else if (rel->flag == DDL_PSM) {
- s = rel2bin_psm(be, rel);
- } else if (rel->flag == DDL_EXCEPTION) {
- s = rel2bin_exception(be, rel, refs);
- sql->type = Q_UPDATE;
- } else if (rel->flag <= DDL_ALTER_SEQ) {
- s = rel2bin_seq(be, rel, refs);
- sql->type = Q_SCHEMA;
- } else if (rel->flag <= DDL_DROP_SEQ) {
- s = rel2bin_catalog2(be, rel, refs);
- sql->type = Q_SCHEMA;
- } else if (rel->flag <= DDL_ALTER_TABLE_ADD_LIST_PARTITION) {
- s = rel2bin_partition_limits(be, rel, refs);
- sql->type = Q_SCHEMA;
- } else if (rel->flag <= DDL_TRANS) {
- s = rel2bin_trans(be, rel, refs);
- sql->type = Q_TRANS;
- } else if (rel->flag <= DDL_DROP_SCHEMA) {
- s = rel2bin_catalog(be, rel, refs);
- sql->type = Q_SCHEMA;
- } else if (rel->flag <= DDL_ALTER_TABLE) {
- s = rel2bin_catalog_table(be, rel, refs);
- sql->type = Q_SCHEMA;
- } else if (rel->flag <= DDL_RENAME_COLUMN) {
- s = rel2bin_catalog2(be, rel, refs);
- sql->type = Q_SCHEMA;
+ switch (rel->flag) {
+ case ddl_output:
+ s = rel2bin_output(be, rel, refs);
+ sql->type = Q_TABLE;
+ break;
+ case ddl_list:
+ s = rel2bin_list(be, rel, refs);
+ break;
+ case ddl_psm:
+ s = rel2bin_psm(be, rel);
+ break;
+ case ddl_exception:
+ s = rel2bin_exception(be, rel, refs);
+ sql->type = Q_UPDATE;
+ break;
+ case ddl_create_seq:
+ case ddl_alter_seq:
+ s = rel2bin_seq(be, rel, refs);
+ sql->type = Q_SCHEMA;
+ break;
+ case ddl_alter_table_add_range_partition:
+ case ddl_alter_table_add_list_partition:
+ s = rel2bin_partition_limits(be, rel, refs);
+ sql->type = Q_SCHEMA;
+ break;
+ case ddl_release:
+ case ddl_commit:
+ case ddl_rollback:
+ case ddl_trans:
+ s = rel2bin_trans(be, rel, refs);
+ sql->type = Q_TRANS;
+ break;
+ case ddl_create_schema:
+ case ddl_drop_schema:
+ s = rel2bin_catalog(be, rel, refs);
+ sql->type = Q_SCHEMA;
+ break;
+ case ddl_create_table:
+ case ddl_drop_table:
+ case ddl_create_view:
+ case ddl_drop_view:
+ case ddl_drop_constraint:
+ case ddl_alter_table:
+ s = rel2bin_catalog_table(be, rel, refs);
+ sql->type = Q_SCHEMA;
+ break;
+ case ddl_drop_seq:
+ case ddl_create_type:
+ case ddl_drop_type:
+ case ddl_drop_index:
+ case ddl_create_function:
+ case ddl_drop_function:
+ case ddl_create_trigger:
+ case ddl_drop_trigger:
+ case ddl_grant_roles:
+ case ddl_revoke_roles:
+ case ddl_grant:
+ case ddl_revoke:
+ case ddl_grant_func:
+ case ddl_revoke_func:
+ case ddl_create_user:
+ case ddl_drop_user:
+ case ddl_alter_user:
+ case ddl_rename_user:
+ case ddl_create_role:
+ case ddl_drop_role:
+ case ddl_alter_table_add_table:
+ case ddl_alter_table_del_table:
+ case ddl_alter_table_set_access:
+ case ddl_comment_on:
+ case ddl_rename_schema:
+ case ddl_rename_table:
+ case ddl_rename_column:
+ s = rel2bin_catalog2(be, rel, refs);
+ sql->type = Q_SCHEMA;
+ break;
+ default:
+ assert(0);
}
return s;
}
@@ -5860,17 +5907,17 @@ rel_deps(mvc *sql, sql_rel *r, list *ref
return -1;
break;
case op_ddl:
- if (r->flag == DDL_OUTPUT) {
+ if (r->flag == ddl_output) {
if (r->l)
return rel_deps(sql, r->l, refs, l);
- } else if (r->flag <= DDL_LIST || r->flag == DDL_EXCEPTION) {
+ } else if (r->flag == ddl_list || r->flag == ddl_exception) {
if (r->l)
return rel_deps(sql, r->l, refs, l);
if (r->r)
return rel_deps(sql, r->r, refs, l);
- } else if (r->flag == DDL_PSM) {
+ } else if (r->flag == ddl_psm) {
break;
- } else if (r->flag <= DDL_ALTER_SEQ) {
+ } else if (r->flag == ddl_create_seq || r->flag ==
ddl_alter_seq) {
if (r->l)
return rel_deps(sql, r->l, refs, l);
}
diff --git a/sql/backends/monet5/sql_statement.c
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -2332,16 +2332,16 @@ stmt_trans(backend *be, int type, stmt *
return NULL;
switch(type){
- case DDL_RELEASE:
+ case ddl_release:
q = newStmt(mb, sqlRef, transaction_releaseRef);
break;
- case DDL_COMMIT:
+ case ddl_commit:
q = newStmt(mb, sqlRef, transaction_commitRef);
break;
- case DDL_ROLLBACK:
+ case ddl_rollback:
q = newStmt(mb, sqlRef, transaction_rollbackRef);
break;
- case DDL_TRANS:
+ case ddl_trans:
q = newStmt(mb, sqlRef, transaction_beginRef);
break;
default:
@@ -2380,45 +2380,45 @@ stmt_catalog(backend *be, int type, stmt
/* cast them into properly named operations */
switch(type){
- case DDL_CREATE_SEQ: q = newStmt(mb, sqlcatalogRef, create_seqRef);
break;
- case DDL_ALTER_SEQ: q = newStmt(mb, sqlcatalogRef, alter_seqRef);
break;
- case DDL_DROP_SEQ: q = newStmt(mb, sqlcatalogRef, drop_seqRef);
break;
- case DDL_CREATE_SCHEMA: q = newStmt(mb, sqlcatalogRef,
create_schemaRef); break;
- case DDL_DROP_SCHEMA: q = newStmt(mb, sqlcatalogRef, drop_schemaRef);
break;
- case DDL_CREATE_TABLE: q = newStmt(mb, sqlcatalogRef,
create_tableRef); break;
- case DDL_CREATE_VIEW: q = newStmt(mb, sqlcatalogRef, create_viewRef);
break;
- case DDL_DROP_TABLE: q = newStmt(mb, sqlcatalogRef, drop_tableRef);
break;
- case DDL_DROP_VIEW: q = newStmt(mb, sqlcatalogRef, drop_viewRef);
break;
- case DDL_DROP_CONSTRAINT: q = newStmt(mb, sqlcatalogRef,
drop_constraintRef); break;
- case DDL_ALTER_TABLE: q = newStmt(mb, sqlcatalogRef, alter_tableRef);
break;
- case DDL_CREATE_TYPE: q = newStmt(mb, sqlcatalogRef, create_typeRef);
break;
- case DDL_DROP_TYPE: q = newStmt(mb, sqlcatalogRef, drop_typeRef);
break;
- case DDL_GRANT_ROLES: q = newStmt(mb, sqlcatalogRef, grant_rolesRef);
break;
- case DDL_REVOKE_ROLES: q = newStmt(mb, sqlcatalogRef,
revoke_rolesRef); break;
- case DDL_GRANT: q = newStmt(mb, sqlcatalogRef, grantRef); break;
- case DDL_REVOKE: q = newStmt(mb, sqlcatalogRef, revokeRef);
break;
- case DDL_GRANT_FUNC: q = newStmt(mb, sqlcatalogRef,
grant_functionRef); break;
- case DDL_REVOKE_FUNC: q = newStmt(mb, sqlcatalogRef,
revoke_functionRef); break;
- case DDL_CREATE_USER: q = newStmt(mb, sqlcatalogRef, create_userRef);
break;
- case DDL_DROP_USER: q = newStmt(mb, sqlcatalogRef,
drop_userRef); break;
- case DDL_ALTER_USER: q = newStmt(mb, sqlcatalogRef, alter_userRef);
break;
- case DDL_RENAME_USER: q = newStmt(mb, sqlcatalogRef, rename_userRef);
break;
- case DDL_CREATE_ROLE: q = newStmt(mb, sqlcatalogRef, create_roleRef);
break;
- case DDL_DROP_ROLE: q = newStmt(mb, sqlcatalogRef,
drop_roleRef); break;
- case DDL_DROP_INDEX: q = newStmt(mb, sqlcatalogRef, drop_indexRef);
break;
- case DDL_DROP_FUNCTION: q = newStmt(mb, sqlcatalogRef,
drop_functionRef); break;
- case DDL_CREATE_FUNCTION: q = newStmt(mb, sqlcatalogRef,
create_functionRef); break;
- case DDL_CREATE_TRIGGER: q = newStmt(mb, sqlcatalogRef,
create_triggerRef); break;
- case DDL_DROP_TRIGGER: q = newStmt(mb, sqlcatalogRef,
drop_triggerRef); break;
- case DDL_ALTER_TABLE_ADD_TABLE: q = newStmt(mb, sqlcatalogRef,
alter_add_tableRef); break;
- case DDL_ALTER_TABLE_DEL_TABLE: q = newStmt(mb, sqlcatalogRef,
alter_del_tableRef); break;
- case DDL_ALTER_TABLE_SET_ACCESS:q = newStmt(mb, sqlcatalogRef,
alter_set_tableRef); break;
- case DDL_ALTER_TABLE_ADD_RANGE_PARTITION: q = newStmt(mb,
sqlcatalogRef, alter_add_range_partitionRef); break;
- case DDL_ALTER_TABLE_ADD_LIST_PARTITION: q = newStmt(mb,
sqlcatalogRef, alter_add_value_partitionRef); break;
- case DDL_COMMENT_ON: q = newStmt(mb, sqlcatalogRef, comment_onRef);
break;
- case DDL_RENAME_SCHEMA: q = newStmt(mb, sqlcatalogRef,
rename_schemaRef); break;
- case DDL_RENAME_TABLE: q = newStmt(mb, sqlcatalogRef, rename_tableRef);
break;
- case DDL_RENAME_COLUMN: q = newStmt(mb, sqlcatalogRef,
rename_columnRef); break;
+ case ddl_create_seq: q = newStmt(mb, sqlcatalogRef, create_seqRef);
break;
+ case ddl_alter_seq: q = newStmt(mb, sqlcatalogRef, alter_seqRef);
break;
+ case ddl_drop_seq: q = newStmt(mb, sqlcatalogRef, drop_seqRef);
break;
+ case ddl_create_schema: q = newStmt(mb, sqlcatalogRef,
create_schemaRef); break;
+ case ddl_drop_schema: q = newStmt(mb, sqlcatalogRef, drop_schemaRef);
break;
+ case ddl_create_table: q = newStmt(mb, sqlcatalogRef,
create_tableRef); break;
+ case ddl_create_view: q = newStmt(mb, sqlcatalogRef, create_viewRef);
break;
+ case ddl_drop_table: q = newStmt(mb, sqlcatalogRef, drop_tableRef);
break;
+ case ddl_drop_view: q = newStmt(mb, sqlcatalogRef, drop_viewRef);
break;
+ case ddl_drop_constraint: q = newStmt(mb, sqlcatalogRef,
drop_constraintRef); break;
+ case ddl_alter_table: q = newStmt(mb, sqlcatalogRef, alter_tableRef);
break;
+ case ddl_create_type: q = newStmt(mb, sqlcatalogRef, create_typeRef);
break;
+ case ddl_drop_type: q = newStmt(mb, sqlcatalogRef, drop_typeRef);
break;
+ case ddl_grant_roles: q = newStmt(mb, sqlcatalogRef, grant_rolesRef);
break;
+ case ddl_revoke_roles: q = newStmt(mb, sqlcatalogRef,
revoke_rolesRef); break;
+ case ddl_grant: q = newStmt(mb, sqlcatalogRef, grantRef); break;
+ case ddl_revoke: q = newStmt(mb, sqlcatalogRef, revokeRef);
break;
+ case ddl_grant_func: q = newStmt(mb, sqlcatalogRef,
grant_functionRef); break;
+ case ddl_revoke_func: q = newStmt(mb, sqlcatalogRef,
revoke_functionRef); break;
+ case ddl_create_user: q = newStmt(mb, sqlcatalogRef, create_userRef);
break;
+ case ddl_drop_user: q = newStmt(mb, sqlcatalogRef,
drop_userRef); break;
+ case ddl_alter_user: q = newStmt(mb, sqlcatalogRef, alter_userRef);
break;
+ case ddl_rename_user: q = newStmt(mb, sqlcatalogRef, rename_userRef);
break;
+ case ddl_create_role: q = newStmt(mb, sqlcatalogRef, create_roleRef);
break;
+ case ddl_drop_role: q = newStmt(mb, sqlcatalogRef,
drop_roleRef); break;
+ case ddl_drop_index: q = newStmt(mb, sqlcatalogRef, drop_indexRef);
break;
+ case ddl_drop_function: q = newStmt(mb, sqlcatalogRef,
drop_functionRef); break;
+ case ddl_create_function: q = newStmt(mb, sqlcatalogRef,
create_functionRef); break;
+ case ddl_create_trigger: q = newStmt(mb, sqlcatalogRef,
create_triggerRef); break;
+ case ddl_drop_trigger: q = newStmt(mb, sqlcatalogRef,
drop_triggerRef); break;
+ case ddl_alter_table_add_table: q = newStmt(mb, sqlcatalogRef,
alter_add_tableRef); break;
+ case ddl_alter_table_del_table: q = newStmt(mb, sqlcatalogRef,
alter_del_tableRef); break;
+ case ddl_alter_table_set_access:q = newStmt(mb, sqlcatalogRef,
alter_set_tableRef); break;
+ case ddl_alter_table_add_range_partition: q = newStmt(mb,
sqlcatalogRef, alter_add_range_partitionRef); break;
+ case ddl_alter_table_add_list_partition: q = newStmt(mb,
sqlcatalogRef, alter_add_value_partitionRef); break;
+ case ddl_comment_on: q = newStmt(mb, sqlcatalogRef, comment_onRef);
break;
+ case ddl_rename_schema: q = newStmt(mb, sqlcatalogRef,
rename_schemaRef); break;
+ case ddl_rename_table: q = newStmt(mb, sqlcatalogRef, rename_tableRef);
break;
+ case ddl_rename_column: q = newStmt(mb, sqlcatalogRef,
rename_columnRef); break;
default:
showException(GDKout, SQL, "sql", "catalog operation
unknown\n");
}
diff --git a/sql/include/sql_catalog.h b/sql/include/sql_catalog.h
--- a/sql/include/sql_catalog.h
+++ b/sql/include/sql_catalog.h
@@ -62,9 +62,6 @@
#define DEPENDENCY_CHECK_ERROR 3
#define DEPENDENCY_CHECK_OK 0
-#define NO_TRIGGER 0
-#define IS_TRIGGER 1
-
#define ROLE_PUBLIC 1
#define ROLE_SYSADMIN 2
#define USER_MONETDB 3
@@ -189,8 +186,7 @@ typedef enum commit_action_t {
CA_COMMIT, /* commit rows, only for persistent tables */
CA_DELETE, /* delete rows */
CA_PRESERVE, /* preserve rows */
- CA_DROP, /* drop table */
- CA_ABORT /* abort changes, internal only */
+ CA_DROP /* drop table */
} ca_t;
typedef int sqlid;
@@ -487,13 +483,6 @@ typedef struct sql_sequence {
sql_schema *s;
} sql_sequence;
-/* histogram types */
-typedef enum sql_histype {
- X_EXACT,
- X_EQUI_WIDTH,
- X_EQUI_HEIGHT
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list