db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Raynsford <list+org.apache.db.derby-u...@io7m.com>
Subject Constants for CHAR() FOR BIT DATA?
Date Sat, 28 Sep 2019 09:11:25 GMT

I'm working with a table that looks like this:

create table core.users (
  user_id                    char (16) for bit data not null,
  user_password_hash_algo    varchar (64) not null,
  user_password_hash         varchar (64) not null,
  user_email                 varchar (128) not null,
  user_display_name          varchar (128) not null,
  user_locked                boolean not null,

  constraint user_id_key primary key (user_id),
  constraint user_id_nonzero check (user_id !=
  cast('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0' as char(16) for bit data)),
  constraint user_display_name_unique unique (user_display_name))

The user_id_nonzero check isn't accepted, however ("Cannot convert types
'CHAR' to 'CHAR () FOR BIT DATA'.").

What I'm actually trying to do: The application I'm working with
identifies users with java.util.UUID values. The application itself
applies a special meaning to the null UUID (all zeroes), and I want to
make sure that all-zero UUIDs never make it into the database. Is there
a valid way to specify the above constraint?

Mark Raynsford | http://www.io7m.com

View raw message