Changeset: 8ef11b32cb8e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/8ef11b32cb8e Modified Files: sql/ChangeLog sql/server/rel_psm.c sql/server/sql_parser.y sql/server/sql_scan.c sql/test/mergetables/Tests/mergequery.test sql/test/mergetables/Tests/part-elim.test sql/test/remote/Tests/partition_elim.test Branch: default Log Message:
Removed the obsolete ANALYZE statement syntax options: SAMPLE nn and MINMAX. Both options have been ignored since release Jan2022. Now they are no longer accepted in the ANALYZE statement. diffs (172 lines): diff --git a/sql/ChangeLog b/sql/ChangeLog --- a/sql/ChangeLog +++ b/sql/ChangeLog @@ -2,6 +2,9 @@ # This file is updated with Maddlog * Thu May 2 2024 Martin van Dinther <martin.van.dint...@monetdbsolutions.com> +- Removed the obsolete ANALYZE statement syntax options: SAMPLE nn and + MINMAX. Both options have been ignored since release Jan2022. Now they + are no longer accepted in the ANALYZE statement. - The ANALYZE statement can now be used in procedures, functions and triggers. * Wed Apr 10 2024 Lucas Pereira <lucas.pere...@monetdbsolutions.com> diff --git a/sql/server/rel_psm.c b/sql/server/rel_psm.c --- a/sql/server/rel_psm.c +++ b/sql/server/rel_psm.c @@ -650,26 +650,22 @@ psm_analyze(sql_query *query, dlist *qna if (columns) list_append(tl, exp_subtype(tname_exp)); } + if (!(f = sql_bind_func_(sql, "sys", "analyze", tl, F_PROC, true, false))) + return sql_error(sql, ERR_NOTFOUND, SQLSTATE(42000) "Analyze procedure missing"); + if (!execute_priv(sql, f->func)) + return sql_error(sql, 02, SQLSTATE(42000) "No privilege to call analyze procedure"); if (!columns) { - if (!(f = sql_bind_func_(sql, "sys", "analyze", tl, F_PROC, true, false))) - return sql_error(sql, ERR_NOTFOUND, SQLSTATE(42000) "Analyze procedure missing"); - if (!execute_priv(sql, f->func)) - return sql_error(sql, 02, SQLSTATE(42000) "No privilege to call analyze procedure"); list_append(analyze_calls, exp_op(sql->sa, exps, f)); } else { if (!sname || !tname) return sql_error(sql, ERR_NOTFOUND, SQLSTATE(42000) "Analyze schema or table name missing"); - if (!(f = sql_bind_func_(sql, "sys", "analyze", tl, F_PROC, true, false))) - return sql_error(sql, ERR_NOTFOUND, SQLSTATE(42000) "Analyze procedure missing"); - if (!execute_priv(sql, f->func)) - return sql_error(sql, 02, SQLSTATE(42000) "No privilege to call analyze procedure"); for(dnode *n = columns->h; n; n = n->next) { const char *cname = n->data.sval; list *nexps = list_dup(exps, NULL); sql_exp *cname_exp = exp_atom_str(sql->sa, cname, &tpe); list_append(nexps, cname_exp); - /* call analyze( opt_minmax, opt_sample_size, sname, tname, cname) */ + /* call analyze(sname, tname, cname) */ list_append(analyze_calls, exp_op(sql->sa, nexps, f)); } } diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y --- a/sql/server/sql_parser.y +++ b/sql/server/sql_parser.y @@ -579,7 +579,6 @@ int yydebug=1; opt_index_type opt_match opt_match_type - opt_minmax opt_on_commit opt_outer opt_ref_action @@ -720,7 +719,7 @@ SQLCODE SQLERROR UNDER WHENEVER %token CHECK CONSTRAINT CREATE COMMENT NULLS FIRST LAST %token TYPE PROCEDURE FUNCTION sqlLOADER AGGREGATE RETURNS EXTERNAL sqlNAME DECLARE %token CALL LANGUAGE -%token ANALYZE MINMAX SQL_EXPLAIN SQL_PLAN SQL_TRACE PREP PREPARE EXEC EXECUTE DEALLOCATE +%token ANALYZE SQL_EXPLAIN SQL_PLAN SQL_TRACE PREP PREPARE EXEC EXECUTE DEALLOCATE %token DEFAULT DISTINCT DROP TRUNCATE %token FOREIGN %token RENAME ENCRYPTED UNENCRYPTED PASSWORD GRANT REVOKE ROLE ADMIN INTO @@ -963,12 +962,10 @@ declare: /* schema definition language */ analyze_statement: - ANALYZE qname opt_column_list opt_sample opt_minmax + ANALYZE qname opt_column_list { dlist *l = L(); append_list(l, $2); append_list(l, $3); - append_symbol(l, $4); - append_int(l, $5); $$ = _symbol_create_list( SQL_ANALYZE, l); } ; @@ -986,11 +983,6 @@ sql: | comment_on_statement ; -opt_minmax: - /* empty */ { $$ = 0; } - | MINMAX { $$ = 1; } - ; - declare_statement: declare variable_list { $$ = _symbol_create_list( SQL_DECLARE, $2); } | declare table_def { $$ = $2; if ($$) $$->token = SQL_DECLARE_TABLE; } @@ -5988,7 +5980,6 @@ non_reserved_word: | MAX_MEMORY { $$ = sa_strdup(SA, "max_memory"); } | MAXVALUE { $$ = sa_strdup(SA, "maxvalue"); } | MAX_WORKERS { $$ = sa_strdup(SA, "max_workers"); } -| MINMAX { $$ = sa_strdup(SA, "minmax"); } | MINVALUE { $$ = sa_strdup(SA, "minvalue"); } | sqlNAME { $$ = sa_strdup(SA, "name"); } | NATIVE { $$ = sa_strdup(SA, "native"); } diff --git a/sql/server/sql_scan.c b/sql/server/sql_scan.c --- a/sql/server/sql_scan.c +++ b/sql/server/sql_scan.c @@ -413,7 +413,6 @@ scanner_init_keywords(void) failed += keywords_insert("LANGUAGE", LANGUAGE); failed += keywords_insert("ANALYZE", ANALYZE); - failed += keywords_insert("MINMAX", MINMAX); failed += keywords_insert("EXPLAIN", SQL_EXPLAIN); failed += keywords_insert("PLAN", SQL_PLAN); failed += keywords_insert("TRACE", SQL_TRACE); diff --git a/sql/test/mergetables/Tests/mergequery.test b/sql/test/mergetables/Tests/mergequery.test --- a/sql/test/mergetables/Tests/mergequery.test +++ b/sql/test/mergetables/Tests/mergequery.test @@ -67,10 +67,10 @@ statement ok alter table part2 set read only statement ok -analyze sys.part1 (x,y,z) minmax +analyze sys.part1 (x,y,z) statement ok -analyze sys.part2 (x,y,z) minmax +analyze sys.part2 (x,y,z) query RRR rowsort SELECT * FROM complete where x>=0.0 AND x <=1.0 diff --git a/sql/test/mergetables/Tests/part-elim.test b/sql/test/mergetables/Tests/part-elim.test --- a/sql/test/mergetables/Tests/part-elim.test +++ b/sql/test/mergetables/Tests/part-elim.test @@ -44,10 +44,10 @@ statement ok alter table mt2 set read only statement ok -analyze sys.mt1 (id,posX) minmax +analyze sys.mt1 (id,posX) statement ok -analyze sys.mt2 (id,posX) minmax +analyze sys.mt2 (id,posX) query T nosort plan select * from test where id between 1 and 10000 diff --git a/sql/test/remote/Tests/partition_elim.test b/sql/test/remote/Tests/partition_elim.test --- a/sql/test/remote/Tests/partition_elim.test +++ b/sql/test/remote/Tests/partition_elim.test @@ -94,19 +94,19 @@ select y from test4 where y between 0 an ---- query R rowsort -analyze sys.test1 minmax +analyze sys.test1 ---- query R rowsort -analyze sys.test2 minmax +analyze sys.test2 ---- query R rowsort -analyze sys.test3 minmax +analyze sys.test3 ---- query R rowsort -analyze sys.test4 minmax +analyze sys.test4 ---- query T python .explain.function_histogram _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org