|
|
@@ -1,6 +1,37 @@
|
|
|
local db = SQLite3(":memory:");
|
|
|
print(db);
|
|
|
|
|
|
+class MultiplyDecimal3 {
|
|
|
+ first = null;
|
|
|
+ second = null;
|
|
|
+ thirdy = null;
|
|
|
+ constructor(){
|
|
|
+ first = Decimal(0);
|
|
|
+ second = Decimal(0);
|
|
|
+ thirdy = Decimal(0);
|
|
|
+ }
|
|
|
+ function reset(){
|
|
|
+ first.set(0);
|
|
|
+ second.set(0);
|
|
|
+ thirdy.set(0);
|
|
|
+ }
|
|
|
+ function doIt(){
|
|
|
+ return (first * second * thirdy).tostring();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+local function multiply3_MultiplyDecimal3(ctx,a,b,c){
|
|
|
+ //print(ctx.user_data());
|
|
|
+ //local m3 = Multiply3();
|
|
|
+ local m3 = ctx.user_data();
|
|
|
+ m3.reset();
|
|
|
+ m3.first.set(a);
|
|
|
+ m3.second.set(b);
|
|
|
+ m3.thirdy.set(c);
|
|
|
+ ctx.result_text(m3.doIt());
|
|
|
+ //ctx.result_double(a*b*c);
|
|
|
+}
|
|
|
+
|
|
|
class Multiply3 {
|
|
|
first = null;
|
|
|
second = null;
|
|
|
@@ -16,17 +47,26 @@ class Multiply3 {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-db.create_function("multiply3",3,function(ctx,a,b,c){
|
|
|
- //print(ctx.user_data());
|
|
|
- //local m3 = Multiply3();
|
|
|
- local m3 = ctx.user_data();
|
|
|
- m3.reset();
|
|
|
- m3.first = a;
|
|
|
- m3.second = b;
|
|
|
- m3.thirdy = c;
|
|
|
- ctx.result_double(m3.doIt());
|
|
|
- //ctx.result_double(a*b*c);
|
|
|
- }, Multiply3());
|
|
|
+local function multiply3_Multiply3(ctx,a,b,c){
|
|
|
+ //print(ctx.user_data());
|
|
|
+ //local m3 = Multiply3();
|
|
|
+ local m3 = ctx.user_data();
|
|
|
+ m3.reset();
|
|
|
+ m3.first = a;
|
|
|
+ m3.second = b;
|
|
|
+ m3.thirdy = c;
|
|
|
+ ctx.result_double(m3.doIt());
|
|
|
+ //ctx.result_double(a*b*c);
|
|
|
+}
|
|
|
+
|
|
|
+local function multiply3(ctx,a,b,c){
|
|
|
+ //print(ctx.user_data());
|
|
|
+ //ctx.result_double(a*b*c);
|
|
|
+}
|
|
|
+
|
|
|
+//db.create_function("multiply3",3, multiply3_MultiplyDecimal3, MultiplyDecimal3());
|
|
|
+//db.create_function("multiply3",3, multiply3_Multiply3, Multiply3());
|
|
|
+db.create_function("multiply3",3, multiply3);
|
|
|
|
|
|
local sql = "select 1.2*2.5*3.6;";
|
|
|
local sql_squilu = "select multiply3(1.2,2.5,3.6);";
|