EventFlow Editor Typecheck Options Tab

Use this tab to enable or disable categories of typecheck warnings from appearing as decoration markers on the EventFlow Editor canvas for this module, or as warning text in the Properties view. You can set any typecheck warning category as Warning or Ignore; by default, all categories are set as Warning. See Typecheck Warnings for an overview of where the warnings appear.

This tab affects only the current module. You can also enable and disable warnings for an entire project or for the Studio workspace as a whole:

  • To set project-wide typecheck warnings, click the Project settings link in the upper right corner of the Typecheck Options tab to open the StreamBase>Project Builder preference page for the current module's containing project.

  • To set workspace-wide typecheck warnings, click the Workspace settings link in the Typecheck Options tab to open the StreamBase Studio>Typechecking page in the Window>Preferences dialog.

On the Typecheck Options tab and in the two preferences pages referenced above, typecheck warning settings have the following meanings:

Typecheck warning category Description
Ambiguous field references with implicit defaults Warns when a schema has a field with a default value, where that field could be interpreted as another field or variable with the same name.
Container connection endpoint missing Warns when you have specified a container connection, but the container or a stream in the container at one end of the connection is not visible in the current module search path.
Constant expression is not static Warns when you define a constant with an expression that produces different results when the module that contains the constant definition is loaded.
Multiple dynamic variables with the same name Warns on detection of more than one dynamic variable with the same name defined in different modules in an application.
A field or variable name is hidden by another Warns when you have named a function alias, dynamic variable, or named schema with the same name as built-in expression language function or as another alias, variable, or named schema elsewhere in the module search path.
An explicitly specified action is hidden by a field mapping In a Query operator Properties view, Operation tab, Additional Expressions grid, warnings are issued when you specify an action (set or ignore) that contradicts the fields read from the associated Query Table. For example, if you add a Set row for the non-existing field foo with any expression, you receive the warning "Field foo set but does not exist in table schema, so it will be dropped". This warning can also appear when you attempt to set a value for the table's primary key field.
An error port or stream is left unconnected An Input Stream, Error Input Stream, or an error port on any component was defined, but left without a downstream connection.
A Query Table will be accessed using a potentially slow plan A proposed Query operation on its associated Query Table will require a full table scan or other time-consuming operation.
The application contains an unused import A module imports schemas and/or constants from another module or interface, but then does not use any of them.
Concurrency is used in a potentially incorrect manner For this Aggregate operator, there is a Group By setting and (in the Concurrency tab) Multiplicity is set greater than one, and the Dispatch Style setting is either Round Robin or Broadcast. The results may not be what you intend.

The Round Robin dispatch style with a Group-By may create multiple groups with the same Group-By key in separate parallel regions. The Broadcast dispatch style with a Group-By creates identical groups in each parallel region.

Instead, consider using the Numeric Dispatch Style based on the Group-By key.

A conditional expression always evaluates to null This operator contains an expression that does not return a result, which is not likely to be what you intended. Check all expressions defined for this operator.
Values output by this operator are not guaranteed to be monotonic. Timestamp or numeric field values emitted by this operator that you might expect to increase in a regular fashion, or decrease regularly, may not do so. This information becomes important if such a field is used downstream as an index field, or as the synchronized timestamp feature for two or more feed simulations, or in a downstream Merge operator, or in general, in other downstream operators that expect monotonically increasing or decreasing values.
Access to a deprecated feature This warning appears under certain conditions, including:
  • An expression in an Aggregate operator uses the deprecated stream qualifier last.fieldname. Use input.fieldname instead.

Missing type information Flags any cases of fields and values with unspecified or unclear data type declarations.
Using default package Flags cases of using a Java class, EventFlow module, or EventFlow interface without a Group ID or Artifact ID.
Java classpath contains non-portable entries The classpath of the JVM running StreamBase Server contains full local pathnames that are not likely to work if the current application is deployed on another machine.
Overriding submodule's transaction isolation level Normally, the transaction isolation setting is set once for a parent module and any submodules. This warning occurs if you have set a different isolation setting for a submodule than for its parent.