Tenant Configuration values varchar to text - support bigger values f… (#2938)
* Tenant Configuration values varchar to text - support bigger values for configs access_control_context varchar to text - support bigger values for configs * Add size constraint in App for Tenant 'conf.value' and rollout/target_filter_query 'access_control_context * add explicitly not null constraint for clarity
This commit is contained in:
@@ -34,6 +34,11 @@ public interface Rollout extends NamedEntity {
|
||||
*/
|
||||
int APPROVAL_REMARK_MAX_SIZE = 255;
|
||||
|
||||
/**
|
||||
* Maximum length of access control context.
|
||||
*/
|
||||
int ACCESS_CONTROL_CONTEXT_MAX_SIZE = 32768;
|
||||
|
||||
/**
|
||||
* @return <code>true</code> if the rollout is deleted and only kept for
|
||||
* history purposes.
|
||||
|
||||
@@ -46,6 +46,11 @@ public interface TargetFilterQuery extends TenantAwareBaseEntity {
|
||||
*/
|
||||
int QUERY_MAX_SIZE = 1024;
|
||||
|
||||
/**
|
||||
* Maximum length of access control context.
|
||||
*/
|
||||
int ACCESS_CONTROL_CONTEXT_MAX_SIZE = 32768;
|
||||
|
||||
/**
|
||||
* Allowed values for auto-assign action type
|
||||
*/
|
||||
|
||||
@@ -22,7 +22,7 @@ public interface TenantConfiguration extends TenantAwareBaseEntity {
|
||||
/**
|
||||
* Maximum length of tenant configuration value.
|
||||
*/
|
||||
int VALUE_MAX_SIZE = 512;
|
||||
int VALUE_MAX_SIZE = 32768;
|
||||
|
||||
/**
|
||||
* @return key of the entry
|
||||
|
||||
@@ -111,7 +111,7 @@ CREATE TABLE sp_tenant_configuration (
|
||||
optlock_revision BIGINT,
|
||||
tenant VARCHAR(40) NOT NULL,
|
||||
conf_key VARCHAR(128) NOT NULL,
|
||||
conf_value VARCHAR(512) NOT NULL,
|
||||
conf_value CLOB NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
CREATE UNIQUE INDEX uk_tenant_configuration ON sp_tenant_configuration (conf_key, tenant);
|
||||
@@ -244,7 +244,7 @@ CREATE TABLE sp_rollout (
|
||||
approval_decided_by VARCHAR(64),
|
||||
approval_remark VARCHAR(255),
|
||||
weight INTEGER NOT NULL,
|
||||
access_control_context VARCHAR(4096),
|
||||
access_control_context CLOB,
|
||||
is_dynamic BOOLEAN,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
@@ -305,7 +305,7 @@ CREATE TABLE sp_target_filter_query (
|
||||
auto_assign_weight INTEGER NOT NULL,
|
||||
auto_assign_initiated_by VARCHAR(64),
|
||||
confirmation_required BOOLEAN,
|
||||
access_control_context VARCHAR(4096),
|
||||
access_control_context CLOB,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
CREATE UNIQUE INDEX uk_target_filter_query ON sp_target_filter_query (name, tenant);
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE sp_tenant_configuration ALTER COLUMN conf_value CLOB NOT NULL;
|
||||
ALTER TABLE sp_target_filter_query ALTER COLUMN access_control_context CLOB;
|
||||
ALTER TABLE sp_rollout ALTER COLUMN access_control_context CLOB;
|
||||
@@ -111,7 +111,7 @@ CREATE TABLE sp_tenant_configuration (
|
||||
optlock_revision BIGINT,
|
||||
tenant VARCHAR(40) NOT NULL,
|
||||
conf_key VARCHAR(128) NOT NULL,
|
||||
conf_value VARCHAR(512) NOT NULL,
|
||||
conf_value TEXT NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
CREATE UNIQUE INDEX uk_tenant_configuration ON sp_tenant_configuration (conf_key, tenant);
|
||||
@@ -244,7 +244,7 @@ CREATE TABLE sp_rollout (
|
||||
approval_decided_by VARCHAR(64),
|
||||
approval_remark VARCHAR(255),
|
||||
weight INTEGER NOT NULL,
|
||||
access_control_context VARCHAR(4096),
|
||||
access_control_context TEXT,
|
||||
is_dynamic BOOLEAN,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
@@ -305,7 +305,7 @@ CREATE TABLE sp_target_filter_query (
|
||||
auto_assign_weight INTEGER NOT NULL,
|
||||
auto_assign_initiated_by VARCHAR(64),
|
||||
confirmation_required BOOLEAN,
|
||||
access_control_context VARCHAR(4096),
|
||||
access_control_context TEXT,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
CREATE UNIQUE INDEX uk_target_filter_query ON sp_target_filter_query (name, tenant);
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE sp_tenant_configuration MODIFY conf_value TEXT NOT NULL;
|
||||
ALTER TABLE sp_target_filter_query MODIFY access_control_context TEXT;
|
||||
ALTER TABLE sp_rollout MODIFY access_control_context TEXT;
|
||||
@@ -111,7 +111,7 @@ CREATE TABLE sp_tenant_configuration (
|
||||
optlock_revision BIGINT,
|
||||
tenant VARCHAR(40) NOT NULL,
|
||||
conf_key VARCHAR(128) NOT NULL,
|
||||
conf_value VARCHAR(512) NOT NULL,
|
||||
conf_value TEXT NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
CREATE UNIQUE INDEX uk_tenant_configuration ON sp_tenant_configuration (conf_key, tenant);
|
||||
@@ -244,7 +244,7 @@ CREATE TABLE sp_rollout (
|
||||
approval_decided_by VARCHAR(64),
|
||||
approval_remark VARCHAR(255),
|
||||
weight INTEGER NOT NULL,
|
||||
access_control_context VARCHAR(4096),
|
||||
access_control_context TEXT,
|
||||
is_dynamic BOOLEAN,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
@@ -305,7 +305,7 @@ CREATE TABLE sp_target_filter_query (
|
||||
auto_assign_weight INTEGER NOT NULL,
|
||||
auto_assign_initiated_by VARCHAR(64),
|
||||
confirmation_required BOOLEAN,
|
||||
access_control_context VARCHAR(4096),
|
||||
access_control_context TEXT,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
CREATE UNIQUE INDEX uk_target_filter_query ON sp_target_filter_query (name, tenant);
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
ALTER TABLE sp_tenant_configuration
|
||||
ALTER COLUMN conf_value TYPE TEXT,
|
||||
ALTER COLUMN conf_value SET NOT NULL;
|
||||
ALTER TABLE sp_target_filter_query ALTER COLUMN access_control_context TYPE TEXT;
|
||||
ALTER TABLE sp_rollout ALTER COLUMN access_control_context TYPE TEXT;
|
||||
@@ -22,6 +22,7 @@ import jakarta.persistence.Converter;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.Lob;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.NamedAttributeNode;
|
||||
import jakarta.persistence.NamedEntityGraph;
|
||||
@@ -147,6 +148,8 @@ public class JpaRollout extends AbstractJpaNamedEntity implements Rollout, Event
|
||||
|
||||
@Setter
|
||||
@Column(name = "access_control_context")
|
||||
@Lob
|
||||
@Size(max = Rollout.ACCESS_CONTROL_CONTEXT_MAX_SIZE)
|
||||
private String accessControlContext;
|
||||
|
||||
@Setter
|
||||
|
||||
@@ -16,6 +16,7 @@ import jakarta.persistence.Convert;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.Lob;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
@@ -73,6 +74,8 @@ public class JpaTargetFilterQuery extends AbstractJpaTenantAwareBaseEntity imple
|
||||
private boolean confirmationRequired;
|
||||
|
||||
@Column(name = "access_control_context")
|
||||
@Lob
|
||||
@Size(max = TargetFilterQuery.ACCESS_CONTROL_CONTEXT_MAX_SIZE)
|
||||
private String accessControlContext;
|
||||
|
||||
public JpaTargetFilterQuery(final String name, final String query, final DistributionSet autoAssignDistributionSet,
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
*/
|
||||
package org.eclipse.hawkbit.repository.jpa.model;
|
||||
|
||||
import jakarta.persistence.Basic;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Lob;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Size;
|
||||
@@ -42,8 +42,8 @@ public class JpaTenantConfiguration extends AbstractJpaTenantAwareBaseEntity imp
|
||||
@NotNull
|
||||
private String key;
|
||||
|
||||
@Column(name = "conf_value", length = TenantConfiguration.VALUE_MAX_SIZE, nullable = false)
|
||||
@Basic
|
||||
@Column(name = "conf_value", nullable = false)
|
||||
@Lob
|
||||
@Size(max = TenantConfiguration.VALUE_MAX_SIZE)
|
||||
@NotNull
|
||||
private String value;
|
||||
|
||||
Reference in New Issue
Block a user