声明作用域变量信息
1.变量属性java.lang.reflect.Modifier
2.变量名
3.变量类型
3.初始值
org.apache.calcite.linq4j.tree.Expressions#declare(int, org.apache.calcite.linq4j.tree.ParameterExpression, org.apache.calcite.linq4j.tree.Expression);
org.apache.calcite.linq4j.tree.Expressions#declare(int, java.lang.String, org.apache.calcite.linq4j.tree.Expression);
其中1,2,3点使用
org.apache.calcite.linq4j.tree.Expressions#parameter(java.lang.reflect.Type, java.lang.String);
org.apache.calcite.linq4j.tree.Expressions#parameter(java.lang.reflect.Type);
org.apache.calcite.linq4j.tree.Expressions#parameter(int, java.lang.reflect.Type, java.lang.String);
构造
即parameter带有以下信息
1.变量属性java.lang.reflect.Modifier
2.变量名
3.变量类型
Expressions#parameter常见于定义函数的参数
org.apache.calcite.linq4j.tree.Expressions#variable(java.lang.reflect.Type, java.lang.String)
该函数与paramete函数一致,名字不同表示语义稍有不同