Top
ServerSideExtension.proto
A number of rows collected in one message. The actual number will depend on the size of each row and is adjusted to optimize throughput.
Field
Type
Label
Description
rows
Row
repeated
A full description of the plugin, sent to the Qlik engine, listing all functions available and indicating whether script evaluation is allowed.
Field
Type
Label
Description
allowScript
bool
optional
When true, the Qlik engine allows scripts to be sent to the plugin.
functions
FunctionDefinition
repeated
The definitions of all available functions.
pluginIdentifier
string
optional
The ID or name of the plugin.
pluginVersion
string
optional
The version of the plugin.
A header sent at the start of both an EvaluateScript request and an ExecuteFunction request under the key "qlik-commonrequestheader-bin".
Field
Type
Label
Description
appId
string
optional
The ID of the app the request was executed in.
userId
string
optional
The ID of the user the request was executed by.
cardinality
int64
optional
The cardinality of the parameters.
The basic data type for the data stream. Can contain double, string, or both.
Field
Type
Label
Description
numData
double
optional
Numeric value as double.
strData
string
optional
String.
An empty message used when nothing is to be passed in a call.
Field
Type
Label
Description
Field definition for function and script calls.
Field
Type
Label
Description
dataType
DataType
optional
The data type of the field.
name
string
optional
The name of the field.
tags
string
repeated
The tags of the field.
The definition of a function, which informs the Qlik engine how to use it.
Field
Type
Label
Description
name
string
optional
The name of the function.
functionType
FunctionType
optional
The type of the function.
returnType
DataType
optional
The return type of the function.
params
Parameter
repeated
The parameters the function takes.
functionId
int32
optional
A unique ID number for the function, set by the plugin, to be used in calls from the Qlik engine to the plugin.
A header sent at the start of an ExecuteFunction request under the key "qlik-functionrequestheader-bin".
Field
Type
Label
Description
functionId
int32
optional
The ID of the function to be executed.
version
string
optional
A dummy variable as a workaround for an issue.
Parameter definition for functions and script calls.
Field
Type
Label
Description
dataType
DataType
optional
The data type of the parameter.
name
string
optional
The name of the parameter.
A row of duals.
Field
Type
Label
Description
duals
Dual
repeated
Row of duals.
A header sent at the start of an EvaluateScript request under the key "qlik-scriptrequestheader-bin".
Field
Type
Label
Description
script
string
optional
The script to be executed.
functionType
FunctionType
optional
The function type of the script evaluation: scalar, aggregation or tensor.
returnType
DataType
optional
The return type from the script evaluation: numeric, string or both.
params
Parameter
repeated
The parameters names and types passed to the script.
A header sent before returning data to Qlik, under the key "qlik-tabledescription-bin".
Field
Type
Label
Description
fields
FieldDescription
repeated
The fields of the table.
name
string
optional
The name of the table.
numberOfRows
int64
optional
Number of rows in table.
Data types of the parameters and return values.
Name
Number
Description
STRING
0
Contains only string.
NUMERIC
1
Contains only double.
DUAL
2
Contains both a string and a double.
Types of functions (determined by their return values).
Name
Number
Description
SCALAR
0
The return value is a scalar per row.
AGGREGATION
1
All rows are aggregated into a single scalar.
TENSOR
2
Multiple rows in, multiple rows out.
The communication service provided between the Qlik engine and the plugin.
Method Name
Request Type
Response Type
Description
GetCapabilities
Empty
Capabilities
A handshake call for the Qlik engine to retrieve the capability of the plugin.
ExecuteFunction
BundledRows
BundledRows
Requests a function to be executed as specified in the header.
EvaluateScript
BundledRows
BundledRows
Requests a script to be evaluated as specified in the header.
.proto Type
Notes
C++ Type
Java Type
Python Type
double
double
double
float
float
float
float
float
int32
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.
int32
int
int
int64
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.
int64
long
int/long
uint32
Uses variable-length encoding.
uint32
int
int/long
uint64
Uses variable-length encoding.
uint64
long
int/long
sint32
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.
int32
int
int
sint64
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.
int64
long
int/long
fixed32
Always four bytes. More efficient than uint32 if values are often greater than 2^28.
uint32
int
int
fixed64
Always eight bytes. More efficient than uint64 if values are often greater than 2^56.
uint64
long
int/long
sfixed32
Always four bytes.
int32
int
int
sfixed64
Always eight bytes.
int64
long
int/long
bool
bool
boolean
boolean
string
A string must always contain UTF-8 encoded or 7-bit ASCII text.
string
String
str/unicode
bytes
May contain any arbitrary sequence of bytes.
string
ByteString
str