resource "aws_rds_cluster_parameter_group" "research_collection_mysql8_cluster_parameter_group" {
  name        = "${var.environment}-research-collections-mysql8-cluster-parameter-group"
  family      = "aurora-mysql8.0"
  description = "${var.environment}-research-collections-mysql8-cluster-parameter-group"

  parameter {
    apply_method = "immediate"
    name         = "character_set_client"
    value        = "utf8"
  }
  parameter {
    apply_method = "immediate"
    name         = "character_set_connection"
    value        = "utf8"
  }
  parameter {
    apply_method = "immediate"
    name         = "character_set_database"
    value        = "utf8"
  }
  parameter {
    apply_method = "immediate"
    name         = "character_set_filesystem"
    value        = "utf8"
  }
  parameter {
    apply_method = "immediate"
    name         = "character_set_results"
    value        = "utf8"
  }
  parameter {
    apply_method = "immediate"
    name         = "character_set_server"
    value        = "utf8"
  }
  parameter {
    apply_method = "immediate"
    name         = "collation_connection"
    value        = "utf8_general_ci"
  }
  parameter {
    apply_method = "immediate"
    name         = "collation_server"
    value        = "utf8_general_ci"
  }

  parameter {
    apply_method = "pending-reboot"
    name         = "binlog_format"
    value        = "ROW" # default value is OFF
  }

  parameter {
    apply_method = "immediate"
    name         = "binlog_row_metadata"
    value        = "FULL"
  }
  parameter {
    apply_method = "immediate"
    name         = "binlog_row_image"
    value        = "FULL"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "replica_type_conversions"
    value        = "ALL_NON_LOSSY"
  }

  parameter {
    apply_method = "pending-reboot"
    name         = "table_open_cache_instances"
    value        = "16" # default value is 8
  }

  parameter {
    apply_method = "pending-reboot"
    name         = "table_open_cache_instances"
    value        = "16" # default value is 8
  }
}

resource "aws_rds_cluster_parameter_group" "prs_toolkit_mysql8_cluster_parameter_group" {
  name        = "${var.environment}-${var.service_name}-mysql8-cluster-parameter-group"
  family      = "aurora-mysql8.0"
  description = "${var.environment}-${var.service_name}-mysql8-cluster-parameter-group"

  parameter {
    apply_method = "pending-reboot"
    name         = "binlog_format"
    value        = "ROW" # default value is OFF
  }

  parameter {
    apply_method = "immediate"
    name         = "binlog_row_metadata"
    value        = "FULL"
  }
  parameter {
    apply_method = "immediate"
    name         = "binlog_row_image"
    value        = "FULL"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "replica_type_conversions"
    value        = "ALL_NON_LOSSY"
  }

  parameter {
    apply_method = "pending-reboot"
    name         = "table_open_cache_instances"
    value        = "16" # default value is 8
  }

  parameter {
    apply_method = "pending-reboot"
    name         = "table_open_cache_instances"
    value        = "16" # default value is 8
  }
}
