A BUSBAR is part of GRAVITY’s processing infrastructure, acting as a data bus that links two operators in a process. Data streams travel along the buses, serving as the core unit of processing in the system.
A data stream is essentially an ordered list of records, each made up of columns—referred to as bits in GRAVITY. Each bit represents a single piece of information (such as text, a number, or a date), and the bus structure can be dynamically modified by processing operators.
A BUSBAR doesn’t just carry data between operators—it also defines the data structure at a given stage of processing. Depending on how the operators are configured, the bus can change both its width (number of bits) and the number of records.
Buses make it possible to build flexible, multi-stage data flows, where each operator performs a defined function and the data is passed along according to the process logic.
Example of data buses:
The fundamental characteristic of a bus is its structure, which includes:
- records (rows)
- bits (columns) that transport data in the data stream, each with a defined data type (e.g., integer, text)
- the bus is “flat” — data has no nesting. Transporting parent → child data (such as an order and its items) is only possible by duplicating the parent’s data in its bits for each child.
Operators that branch the bus (SPLITTER,
IF) cause duplication of data into two separate data streams. In such a case, the system always directs the data flow first through the upper bus that comes out of the operator.
CONFIGURING THE DATA BUS
Once two operators are connected, the bus is automatically configured based on the signal from the source operator.
Select a bus with a mouse click to see which bits it contains. Each bit has a name (used in operators), a description, and a type.
You can add your own descriptions to the columns.

A bit’s type matches the type of data carried by the bus, which is determined by the source operator.
The following bit types are available:
Text— text of any length,Integer— whole numbers (equivalent to int32),Long— whole numbers (equivalent to int64),Double— floating-point numbers,Boolean— true or false state,DateTime— date with time,Date— date,Time— time,Blob— binary data — in manual process execution in debugger mode, displayed as Text encoded in base64.
In general, bit types cannot be changed on the bus. However, there are cases where this is possible. The exceptions are connections to INPUT-type operators and operators that can modify the data bus, such as CALL SQL.
Since in these cases operators automatically recognize the data they load, you can adjust the data type if needed. To do this, click on the bus directly connected to the operator (such as an INPUT operator), and then change the data type of the selected bit.

When applying this change, the system tries to apply the new bit data type across the entire project. The type is changed on all buses and on every operator that uses the bit.
AUTOGENERATING COLUMNS
If the width of the bus (using the WIDTH BUSBAR operator) or its structure (for example, with the Create a busbar from result option in the
CALL SQL operator, or other changes), is modified, you may need to regenerate the columns on the bus. In this case, click the AUTOGENERATE COLUMNS button in the bus properties window.

This option regenerates the bus bits from the data stream of the source operator. The system then propagates the change to all subsequent operators and buses, which may cause issues with operators that are already defined (see the grayed-out field).