関数SparseSVMTrainerの関数マッピング定義user_SparseSVMTrainerには、入れ子になったパラメータが含まれます。
Var1(old_var1), var2(old_var2||'_'|| var3), old_var1(var3)
CREATE FUNCTION MAPPING user_SparseSVMTrainer FOR SparseSVMTrainer SERVER coprocessor Using ANY IN TABLE, inputtable IN TABLE, ModelTable, IDColumn, AttributeColumn, LabelColumn ('species') , Valuecolumn(var2 || '_' || var1) , MaxStep (var1) , Seed ('0'), var1(old_var1), var2(old_var2||'_'|| var3), old_var1(var3), var3(10) ;
このSELECT文は、var3とold_var2の値を指定します。
SELECT * FROM user_SparseSVMTrainer ( ON svm_iris_input_train as InputTable PARTITION BY 1 USING ModelTable ('svm_iris_model') LabelColumn ('species') MaxStep (10) Seed ('1') var3 (2) old_var2('sample') IDColumn('id') AttributeColumn('attribute') ) as dt1;
クエリーは次のように書き換えられます。var2は、old_var2とvar3の連結式に基づいてsample_2に解決されます。マッピング定義では、old_var1の代わりにvar1が使用されます。old_var1がvar3の代わりに使用され、クエリーでは2として指定されます。ValueColumnに定義された連結式はsample_2_2に解決されます。
SELECT * FROM user_SparseSVMTrainer ( ON svm_iris_input_train as InputTable PARTITION BY 1 USING ModelTable ('svm_iris_model') LabelColumn ('species') Valuecolumn('sample_2_2') MaxStep (10) Seed ('1') IDColumn('id') AttributeColumn('attribute') ) as dt1;
このSELECT文は、var1とvar2の値を指定します。
SELECT * FROM user_SparseSVMTrainer ( ON svm_iris_input_train as InputTable PARTITION BY 1 USING ModelTable ('svm_iris_model') LabelColumn ('species') IDColumn('id') AttributeColumn('attribute') Seed ('1') var1 (2) var2('sample') ) as dt1;
クエリーは次のように書き換えられます。関数マッピングは、ValueColumnをvar1var2の連結として定義します。MaxStepはvar1の代わりに使用されます。
SELECT * FROM user_SparseSVMTrainer ( ON svm_iris_input_train as InputTable PARTITION BY 1 USING ModelTable ('svm_iris_model') IDColumn('id') AttributeColumn('attribute') LabelColumn ('species') Valuecolumn('sample_2') MaxStep (2) Seed ('1') ) as dt1;
このSELECT文は、old_var1とvar2の値を指定します。
SELECT * FROM user_SparseSVMTrainer ( ON svm_iris_input_train as InputTable PARTITION BY 1 USING ModelTable ('svm_iris_model') LabelColumn ('species') IDColumn('id') AttributeColumn('attribute') Seed ('1') old_var1 (2) var2('sample') ) as dt1;
クエリーは次のように書き換えられます。関数マッピング定義に従って、var1は値2を使用してold_var1の代わりに使用されます。ValueColumn連結式はsample_2に解決されます。MaxStepは、値2でvar1の代わりに使用されます。
SELECT * FROM user_SparseSVMTrainer ( ON svm_iris_input_train as InputTable PARTITION BY 1 USING ModelTable ('svm_iris_model') LabelColumn ('species') IDColumn('id') AttributeColumn('attribute') Valuecolumn('sample_2') MaxStep (2) Seed ('1') ) as dt1;