Bug 1889091 - Part 4: Remove extra stack pointer move. r=jandem
[gecko.git] / storage / mozIStorageFunction.idl
blobf4cd8de42e6a782e57c4c196bbe9901c8b53d22b
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include "nsISupports.idl"
8 #include "mozIStorageValueArray.idl"
10 interface mozIStorageConnection;
11 interface nsIArray;
12 interface nsIVariant;
14 /**
15 * mozIStorageFunction is to be implemented by storage consumers that
16 * wish to receive callbacks during the request execution.
18 * SQL can apply functions to values from tables. Examples of
19 * such functions are MIN(a1,a2) or SQRT(num). Many functions are
20 * implemented in SQL engine.
22 * This interface allows consumers to implement their own,
23 * problem-specific functions.
24 * These functions can be called from triggers, too.
27 [scriptable, function, uuid(9ff02465-21cb-49f3-b975-7d5b38ceec73)]
28 interface mozIStorageFunction : nsISupports {
29 /**
30 * onFunctionCall is called when execution of a custom
31 * function should occur.
33 * @param aNumArguments The number of arguments
34 * @param aFunctionArguments The arguments passed in to the function
36 * @returns any value as Variant type.
39 nsIVariant onFunctionCall(in mozIStorageValueArray aFunctionArguments);