#!/usr/bin/perl
# Adds xattr fields used by dmlite 
# Updates schema_version table
# i.e. the update from schema 3.1.0 to 3.2.0
#
use Common;
use strict;
use warnings; 

sub update_mysql($) {
	my ($dbh_cns) = @_;

  $dbh_cns->do ("ALTER TABLE Cns_file_replica  ADD COLUMN xattr TEXT");
  $dbh_cns->do ("ALTER TABLE Cns_file_metadata ADD COLUMN xattr TEXT");
  $dbh_cns->do ("ALTER TABLE Cns_userinfo      ADD COLUMN xattr TEXT");
  $dbh_cns->do ("ALTER TABLE Cns_groupinfo     ADD COLUMN xattr TEXT");

	$dbh_cns->do ("UPDATE schema_version SET major = 3, minor = 2, patch = 0");

	$dbh_cns->commit;
}

sub update_oracle($) {
  my ($dbh_cns) = @_;

  $dbh_cns->do ("ALTER TABLE Cns_file_replica  ADD xattr CLOB");
  $dbh_cns->do ("ALTER TABLE Cns_file_metadata ADD xattr CLOB");
  $dbh_cns->do ("ALTER TABLE Cns_userinfo      ADD xattr CLOB");
  $dbh_cns->do ("ALTER TABLE Cns_groupinfo     ADD xattr CLOB");

	$dbh_cns->do ("UPDATE schema_version SET major = 3, minor = 2, patch = 0");

	$dbh_cns->commit;
}

# Main method
my ($vendor, $connection) = Common::main();

if ($vendor eq "MySQL") {
  update_mysql($connection);
}
if ($vendor eq "Oracle") {
  update_oracle($connection);
}

$connection->disconnect();


