Note

Please note that currently you need to use 'en_US.utf8' to
actually get the euro character. The $ character has no issue.
This is caused by the boost locale library defaulting to US-ASCII
instead of UTF8-8. This might be improved in a future release.

Entity types:
Measures can now have entity typed values. New measure expression
AS_ENTITY converts a primitive typed value
to an entity value using the entity’s refmode.
Filter comparisons can either work directly
on entity values or on their associated refmodes.

Labeled levels and intersections:
Consider a possible asymmetric affinity metric where
affinity[past,predict] is intended
to model how likely a consumer is to purchase
sku predict after purchasing
past.
A model containing the this metric may be defined as follows:

Note here that the the metric’s intersection
contains labels past and predict
which allows us to disambiguate the two occurrences
of levels from the product dimension.

Parameterized query support:
Measure service queries may now contain parameters
which can be filled in with values from a relation
in the workspace.

Example 12.

Parameterization can be used, for example,
to enable scrolling without installing new logic as
position through the dataset changes.

Support for transforms in REMOVE messages:
This feature allows developers to selectively remove positions that
map up to a single member of a level.

Example 13.

Transforms in REMOVE messages can for
instance be used to remove positions from predicate
Sales that have a value > 10 or filter
based on access control specifications.

Basic structured error reporting:
Error information is now reported via Problem
messages in the Response message.
For temporary backwards compatibility, the exception field will
still be populated with the string ERROR
if there was a fatal error. Problems can be report warnings
as well as errors and may provide position or stack information.

Named expression metrics:
It is now possible to give a measure expression a name by
defining a new metric.

Aggregating recalcs with projections:
In previous releases projecting a dimension was disallowed when aggregating a metric
defined by measure rule language recalc.
This restriction has now been relaxed. The projection is now allowed,
as long as the variable corresponding
to that dimension is only used as an argument to metrics in the recalc formula
(and not predicates or comparisons).

Corrected Issues

The issues listed below have been corrected
since the 4.1.2 release.

Resolved an issue that could lead to an
'Unexpected missing predicate' error when adding new logic.

Resolved an issue that could cause
lb-server to crash
under certain circumstances.

Installation and Upgrade information

Installation Instructions

Installing LogicBlox 4.1.3 is as simple as following
the steps outlined below:

NOTE: this script will set all the necessary
environment variables. You might want to add this command to your
.bashrc.

Deprecated Features

Parameter terms
Parameter terms are subsumed by parameter expressions,
and will eventually be removed.

Exception field in Response:
The exception field in the Response
message has been deprecated. If there is an error processing a request
it will now contain the string "ERROR" and the nature of the error will be
recorded as a Problem message in the problem field.