databend icon indicating copy to clipboard operation
databend copied to clipboard

feature: Settings clause

Open sundy-li opened this issue 1 year ago • 3 comments

Summary

syntax

SETTINGS ( parameter = value [ , parameter = value ] )  Statement

SETTINGS clause works only in Statement of:

SELECT
INSERT 
MergeINTO
COPY
UPDATE
DELETE
CREATE TABLE 
EXPLAIN

examples:

settings (max_thread = 3,  enable_loser_tree_merge_sort = 1) select  1 + 1 
settings (max_thread = 3,  enable_loser_tree_merge_sort = 1)  copy into ....

We already had set_var_hints now, but the syntax is not friendly. Settings could also be parsed into HintItem.

Any advice? cc @zhang2014 @andylokandy

Refer to https://docs.yellowbrick.com/6.8.1/ybd_sqlref/setting_clause.html

sundy-li avatar Sep 04 '24 08:09 sundy-li

Why not use set_var to do it?

BohuTANG avatar Sep 04 '24 08:09 BohuTANG

LGTM

zhang2014 avatar Sep 04 '24 09:09 zhang2014

Maybe add a new type in SetType is better than HintItem?

pub enum SetType {
    #[default]
    SettingsSession,
    SettingsGlobal,
    Variable,
    SettingsQuery,
}

And if user use query level settings and hints , the hints will be invalid.

That's easy to delete the code about hints.

TCeason avatar Oct 16 '24 03:10 TCeason