Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
michael@0 | 1 | /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
michael@0 | 2 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 3 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 4 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 5 | |
michael@0 | 6 | #include "nsISupports.idl" |
michael@0 | 7 | |
michael@0 | 8 | interface mozIStorageConnection; |
michael@0 | 9 | interface mozIStorageValueArray; |
michael@0 | 10 | interface nsIArray; |
michael@0 | 11 | interface nsIVariant; |
michael@0 | 12 | |
michael@0 | 13 | /** |
michael@0 | 14 | * mozIStorageAggregateFunction represents aggregate SQL function. |
michael@0 | 15 | * Common examples of aggregate functions are SUM() and COUNT(). |
michael@0 | 16 | * |
michael@0 | 17 | * An aggregate function calculates one result for a given set of data, where |
michael@0 | 18 | * a set of data is a group of tuples. There can be one group |
michael@0 | 19 | * per request or many of them, if GROUP BY clause is used or not. |
michael@0 | 20 | */ |
michael@0 | 21 | [scriptable, uuid(763217b7-3123-11da-918d-000347412e16)] |
michael@0 | 22 | interface mozIStorageAggregateFunction : nsISupports { |
michael@0 | 23 | /** |
michael@0 | 24 | * onStep is called when next value should be passed to |
michael@0 | 25 | * a custom function. |
michael@0 | 26 | * |
michael@0 | 27 | * @param aFunctionArguments The arguments passed in to the function |
michael@0 | 28 | */ |
michael@0 | 29 | void onStep(in mozIStorageValueArray aFunctionArguments); |
michael@0 | 30 | |
michael@0 | 31 | /** |
michael@0 | 32 | * Called when all tuples in a group have been processed and the engine |
michael@0 | 33 | * needs the aggregate function's value. |
michael@0 | 34 | * |
michael@0 | 35 | * @returns aggregate result as Variant. |
michael@0 | 36 | */ |
michael@0 | 37 | nsIVariant onFinal(); |
michael@0 | 38 | }; |