Sprache

SQLiteDatabase.SetCustomAggregateFunction(String, IBinaryOperator) Methode

Definition

Registrieren Sie eine benutzerdefinierte Aggregatfunktion, die aus SQL-Ausdrücken aufgerufen werden kann.

[Android.Runtime.Register("setCustomAggregateFunction", "(Ljava/lang/String;Ljava/util/function/BinaryOperator;)V", "GetSetCustomAggregateFunction_Ljava_lang_String_Ljava_util_function_BinaryOperator_Handler", ApiSince=30)]
public virtual void SetCustomAggregateFunction(string functionName, Java.Util.Functions.IBinaryOperator aggregateFunction);
[<Android.Runtime.Register("setCustomAggregateFunction", "(Ljava/lang/String;Ljava/util/function/BinaryOperator;)V", "GetSetCustomAggregateFunction_Ljava_lang_String_Ljava_util_function_BinaryOperator_Handler", ApiSince=30)>]
abstract member SetCustomAggregateFunction : string * Java.Util.Functions.IBinaryOperator -> unit
override this.SetCustomAggregateFunction : string * Java.Util.Functions.IBinaryOperator -> unit

Parameter

functionName
String

Name ohne Groß-/Kleinschreibung, um diese Funktion zu registrieren, beschränkt auf 255 UTF-8 Bytes länge.

aggregateFunction
IBinaryOperator

Funktionale Schnittstelle, die aufgerufen wird, wenn der Funktionsname von einer SQL-Anweisung verwendet wird. Die Argumentwerte aus der SQL-Anweisung werden an die funktionale Schnittstelle übergeben, und die Rückgabewerte der funktionalen Schnittstelle werden wieder in die SQL-Anweisung zurückgegeben.

Attribute

Hinweise

Registrieren Sie eine benutzerdefinierte Aggregatfunktion, die aus SQL-Ausdrücken aufgerufen werden kann.

Beispielsweise könnte das Registrieren einer benutzerdefinierten Aggregationsfunktion namens LONGEST in einer Abfrage wie SELECT LONGEST(name) FROM employees.

Die Implementierung dieser Methode folgt dem in der Beschreibung beschriebenen java.util.stream.Stream#reduce(BinaryOperator)Reduktionsfluss, und die benutzerdefinierte Aggregationsfunktion wird erwartet, dass sie eine assoziative Akkumulationsfunktion ist, wie sie von dieser Klasse definiert wird.

Wenn Sie versuchen, mehrere Funktionen mit demselben Funktionsnamen zu registrieren, ersetzt SQLite alle zuvor definierten Funktionen durch die neueste Definition, unabhängig davon, welchen Funktionstyp sie sind. SQLite unterstützt die Registrierung von Funktionen nicht.

Java Dokumentation für android.database.sqlite.SQLiteDatabase.setCustomAggregateFunction(java.lang.String, java.util.function.BinaryOperator<java.lang.String>).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: