MS SQL Error updating database: Operand type clash: varbinary is incompatible with float

Environment

None

Activity

Show:
Bruno Bossola
6 days ago

The issue here is due to the system trying to insert a NULL value into a field WITHOUT specifying the JDBC type. While most of databases deal with it internally, some *cough* professional databases like SQL Server and Oracle leave this to the user. This specific issue is manifested when trying to insert a NULL in a field declared of type FLOAT.

Bruno Bossola
6 days ago
Edited

When node properties are saved in the “normal” tables, their metadata are collected. The item of interest here is the JDBC TYPE of such property, which is later used during the SQL operation.

For example:


The type is then used when the data is inserted using the NodePropertyValue class.

Bruno Bossola
6 days ago
Edited

Status after testing all database (with an automatic test):

  • Postgres: all good

  • SQLServer: cannot insert null in double or float

  • Oracle: cannot insert any null

  • MySQL: all good

  • MariaDB: assuming all good, will see what Travis says :)

So we need to provide a fix for SQLServer and Oracle

Done

Assignee

Unassigned

Reporter

Adina Ababei

Labels

None

Regression

None

Bug Priority

Category 2

Delivery Team

Team 5

Release Train

Iver

Sprint

None

Affects versions