# Functions and Operators

You are viewing an old version of this page. View the current version.

Version 67

# Available Functions

Odysseus provides a wide range of functions to be used in a Map, Select, or Join operator.

## Mathematical Functions

### Cos(X)

Returns the trigonometric cosine of an angle

### ACos(X)

Returns the arc cosine of a value

### Cosh(X)

Returns the hyperbolic cosine of a double value

### Sin(X)

Returns the trigonometric sine of an angle

### ASin(X)

Returns the arc sine of a value

### Sinh(X)

Returns the hyperbolic sine of a double value

### Tan(X)

Returns the trigonometric tangent of an angle

### ATan(X)

Returns the arc tangent of a value

### ATan2(Y,X)

Returns the angle theta from the conversion of rectangular coordinates (x, y) to polar coordinates (r, theta)

### Tanh(X)

Returns the hyperbolic tangent of a double value

### Abs(X)

Returns the absolute value of a value

### Sqrt(X)

Returns the square root of a value

### Ceil(X)

Returns the smallest value that is greater than or equal to the argument and is equal to a mathematical integer.

### Floor(X)

Returns the largest value that is less than or equal to the argument and is equal to a mathematical integer.

### Round(X)

Returns the closest number to the argument, with ties rounding up

### Log(X)

Returns the natural logarithm (base e) of a double value

### Exp(X)

Returns Euler's number e raised to the power of a double value

### PI()

Returns the double value that is closer than any other to pi.

### E()

Returns the double value that is closer than any other to e

Converts an angle measured in degrees to an equivalent angle measured in radians.

### ToDegrees(X)

Converts an angle measured in radians to an equivalent angle measured in degrees.

## String Functions

### Concat(String, String)

Returns a new string that is a concatenating the arguments.

### SubString(String, Begin, End)

Returns a new string that is a substring of the value with given begin and end index

### Length(String)

Returns the length of a string.

### Upper(String)

Returns the string converted to uppercase.

### Lower(String)

Returns the string converted to lowercase.

## Date Functions

### Year(Date)

Extracts the year part of the date

### Month(Date)

Extracts the month part of the date

### Week(Date)

Returns the week number of the date

### Day(Date)

Extracts the day part of the date

### Hour(Date)

Returns the hour of the date

### Minute(Date)

Returns the minute of the date

### Second(Date)

Returns the second of the date

### CurDate()

Return the current system time specific date

### Now()

Returns the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC

### NanoTime()

Returns the current value of the time source, in nanoseconds.

## Datatype Functions

### DoubleToShort(X)

Converts the given double value to a short value

### DoubleToByte(X)

Converts the given double value to a byte value

### DoubleToInteger(X)

Converts the given double value to a integer value

### DoubleToFloat(X)

Converts the given double value to a float value

### DoubleToLong(X)

Converts the given double value to a long value

### ToShort(X)

Converts the given value to a short value. This function converts any value to a short value, thus it is more time consuming than the DoubleToShort function for double values.

### ToByte(X)

Converts the given value to a byte value. This function converts any value to a byte value, thus it is more time consuming than the DoubleToByte function for double values.

### ToInteger(X)

Converts the given value to a integer value. This function converts any value to a integer value, thus it is more time consuming than the DoubleToInteger function for double values.

### ToFloat(X)

Converts the given value to a float value. This function converts any value to a float value, thus it is more time consuming than the DoubleToFloat function for double values.

### ToLong(X)

Converts the given value to a long value. This function converts any value to a long value, thus it is more time consuming than the DoubleToLong function for double values.

## Encryption Functions

### MD5(String)

Calculates an MD5 checksum for the string.

### SHA1(String)

Calculates an SHA-1 checksum for the string.

### SHA256(String)

Calculates an SHA-265 checksum for the string.

## Miscellaneous Functions

### UUID()

Returns a Universal Unique Identifier (UUID).

### Eval(String)

Evaluates arbitrary expressions.

### Sleep(Integer)

Causes the currently executing operator to sleep for the specified number of milliseconds.

# Optional Functions

The following MEP functions are not part of the Odysseus Core and may be restricted.

## Matrix Functions (Matrix Feature)

The matrix feature provides arbitrary functions to work with matrices in a data stream. Further this feature provides algebraic operator (+, *, -, ^) to perform matrix addition, subtraction, multiplication, and exponentiation.

Example
```SELECT [1.0,2.0,3.0;4.0,5.0,6.0]+[1.0,2.0,3.0;4.0,5.0,6.0] FROM stream
SELECT [1.0,2.0,3.0;4.0,5.0,6.0]-[1.0,2.0,3.0;4.0,5.0,6.0] FROM stream
SELECT [1.0,2.0,3.0;4.0,5.0,6.0]*[1.0,2.0,3.0;4.0,5.0,6.0] FROM stream
SELECT [1.0,2.0,3.0;4.0,5.0,6.0]^3 FROM stream```

### Tr(Matrix)

Computes the trace of the matrix

### Det(Matrix)

Computes the determinant of the given matrix

### Inv(Matrix)

Computes the inverse of the given matrix

### Trans(Matrix)

Computes the transpose of the given matrix

### Identity(dimension)

Creates a dimension x dimension identity matrix

## Interval Functions (Interval Feature)

The interval feature provides arbitrary functions to work with intervals in a data stream. Further this feature provides algebraic operator (+, *, -, /, ^) to perform interval addition, subtraction, multiplication, division, and exponentiation.

### Union(Interval, Interval)

Computes the union of the two intervals

### Difference(Interval, Interval)

Computes the difference of the two intervals

### Intersection(Interval, Interval)

Computes the intersection of the two intervals

## Text Functions (Text Feature)

### Soundex(String)

Computes the Soundex value of the string.

### ColognePhonetic(String)

Computes the Cologne Phonetic value of the string.

### Metaphone(String)

Computes the Metaphone value of the string.

### Levenstein(String, String)

Computes the Levenstein Distance of two strings.

## Probabilistic Functions (Probabilistic Feature)

The probabilistic feature provides arbitrary functions to work with discrete and continuous probabilistic values in a data stream. Further this feature provides algebraic operator (+, *, -, /, ^) to perform probabilistic addition, subtraction, multiplication, division, and exponentiation.

### SQRT(Probabilistic Value)

Computes the probabilistic square root of the given probabilistic value.

### ToProbabilisticDouble(Matrix)

Constructs a discrete probabilistic value using the first column of the given matrix for the values and the second column of the matrix for the probabilities for each value.

### DoubleToShort(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic short value

### DoubleToByte(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic byte value

### DoubleToInteger(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic integer value

### DoubleToFloat(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic float value

### DoubleToLong(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic long value

### Int(Distribution, Lower Limit, Upper Limit)

Estimates the multivariate normal distribution probability with lower and upper integration limit.

### as2DVector(Object, Object)

Converts the two object into a 2D vector.

### as3DVector(Object, Object, Object)

Similar to the as2DVector function, this function creates a 3D vector with the given objects.

### Similarity(Distribution, Distribution)

Calculates the Bhattacharyya distance between two distributions.

### Distance(Distribution, Value)

Calculates the Mahalanobis distance between the distribution and the value. The value can be a scalar value or a vector.

## Spatial Functions (Spatial Feature)

The spatial functions are based upon the JTS Topology Suite (http://www.vividsolutions.com/jts/JTSHome.htm).

Notice, that JTS only considers x and y coordinate and ignores the z coordinate (although z can be definied)!

### AsCartesianCoordinates(SpatialPolarCoordinate[])

Transform the list of spatial polar coordinates into a list of Cartesian coordinates

### GetCentroid(Geometry)

Returns the centroid of the given geometry

### SpatialBuffer(Geometry, Double)

Creates a buffer of the given size around the given geometry

### SpatialContains(Geometry, Geometry)

Checks whether the first geometry contains the second geometry.

### SpatialConvexHull(Geometry)

Computes the smallest convex spatial p`olygon` that contains all the points in the `geometry`

### ToCartesianCoordinate(SpatialPolarCoordinate)

Transforms the given spatial polar coordinate into a spatial Cartesian coordinate.

### ToPolarCoordinate(SpatialCoordinate)

Transforms the given spatial Cartesian coordinate into a polar coordinate

Most function descriptions on this page are copied from the openjdk documentation.

• No labels