001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.nodes.flink.TFlinkTableProperty;
004
005/**
006 * AST node for a StarRocks Resource Group classifier.
007 *
008 * A classifier defines conditions for routing queries to resource groups.
009 *
010 * Syntax:
011 * (user='username', role='rolename', query_type in ('select', 'insert'),
012 *  source_ip='CIDR', db='database', plan_cpu_cost_range='[low, high)',
013 *  plan_mem_cost_range='[low, high)')
014 *
015 * Example:
016 * (user='alice', query_type in ('select'))
017 * (role='analyst', db='analytics_db')
018 */
019public class TResourceGroupClassifier extends TParseTreeNode {
020    // Classifier properties as key-value pairs
021    private TParseTreeNode properties;
022
023    // Getters and setters
024    @SuppressWarnings("unchecked")
025    public TPTNodeList<TFlinkTableProperty> getProperties() {
026        return (TPTNodeList<TFlinkTableProperty>) properties;
027    }
028
029    public void setProperties(TParseTreeNode properties) {
030        this.properties = properties;
031    }
032
033    public void init(Object arg1) {
034        this.properties = (TParseTreeNode) arg1;
035    }
036}