Parametry można zdefiniować w kilku miejscach na projekcie.
- na operatorze INPUT SQL na zakładce Parameters
- na operatorze IF
- dodając operator INPUT DATA , który staje się parametrem złożonym o nazwie podanej w polu Parameter name tego operatora
- na operatorze OUTPUT PARAMETER, który przekształca bity magistrali na parametry
- @file w zależności od konfiguracji zakładki Input file properties
- na globalnej liście parametrów, klikając w pierwszy pusty wiersz
Niezależnie od miejsca zdefiniowania parametru listę globalną wszystkich parametrów możesz zobaczyć klikając w ikonę na elemencie ToolBox.
Lista parametrów jest podzielona na grupy obiektów, w których dany parametr został zdefiniowany.
Każdy parametr jest określonego typu, co determinuje jego sposób wykorzystania w operatorach systemu, ma swoją nazwę i opis, oraz może mieć zdefiniowaną domyślną wartość jak i być oznaczony jako wymagany.
Możliwe typy parametrów to:
- String → dowolny ciąg znaków
- Integer → wartość liczbowa dziesiętna
- Double → wartość liczbowa zmiennoprzecinkowa
- DateTime → data z czasem (w przypadku podania samej daty czas będzie miał wartość 00:00:00)
- Boolean → przyjmuje wartość true lub false
- Blob → wartość binarna
- ArrayString → tablica ciągów znaków w formacie: [’pozycja 1’, ‘pozycja 2’]
- ArrayInteger → tablica wartości dziesiętnych w formacie [2,3,4,5]
- ArrayDouble → tablica wartości zmiennoprzecinkowych w formacie [1.1, 1.2, 2.1]
Przykład użycia parametru w projekcie
Wiele operatorów systemu GRAVITY pozwala na użycie parametrów w trakcie przetwarzania procesu. Zapoznając się z definicją operatorów zapoznasz się również z sposobem wykorzystania parametrów na poszczególnych operatorach. Poniżej przedstawiono tylko dwa przykłady w celu zapoznania się z ogólną koncepcją.
Przykład wywołania Triggera z parametrami
- w wywołaniu triggera jako REST API
- w wywołaniu notyfikacji bazy danych (PostgreSQL)
funkcja pg_notify
jako drugi parametr powinna zawierać obiekt JSON zgodny z konstrukcją parametrów w procesie jaki zostanie wywołany
{ “id”: 23 }