You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by rm...@apache.org on 2015/12/02 01:38:39 UTC

[07/10] incubator-trafodion git commit: TRAFODION-1636 & TRAFODION-1642

TRAFODION-1636 & TRAFODION-1642

TRAFODION-1636: wms and dcs directories contain NOTICE and LICENSE FILES
TRAFODION-1642: Release 1.3.0 copyrights and license files are incorrect

Fixed up copyrights

Removed Apache copyrights (should only have one copyright in file)
  core/sql/common/swscanf.cpp
  core/sql/common/sqsprintf.cpp
  core/sql/parser/ulexer.h

Removed copyright - deemed to be our code and can safely remove
  core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/T4DatabaseMetaData.java
  core/sql/regress/newregr/card/runregr_card.ksh
  dcs/src/main/java/org/trafodion/dcs/util/ByteBufferUtils.java
  dcs/src/main/java/org/trafodion/dcs/util/SqlUtils.java

Replaced Hewlett Packard copyright with Apache copyright
  core/sql/regress/seabase/EXPECTED021
  core/sql/regress/udr/EXPECTED100.SB
  docs/client_install/source/Trafodion_Client_Installation_Guide.xml
  docs/client_install/source/xml-profile.xml
  docs/command_interface/source/Trafodion_Command_Interface_Guide.xml
  docs/command_interface/source/xml-profile.xml
  docs/odb_manual/Trafodion_odb_User_Guide.xml
  docs/sql_reference/source/Trafodion_SQL_Reference_Manual.xml
  docs/sql_reference/source/xml-profile.xml
  wms/build.xml

Removed code/files that are not being used that contain invalid copyrights
  core/sqf/export/lib/Vili/Functions.pm
  core/sqf/export/lib/Vili/Helper.pm
  core/sqf/export/lib/Vili/NoDriftTimer.pm
  core/sql/common/from_GB2312.c
  core/sql/regress/newregr/mvs/BIG/expectedmv215_RU
  core/sql/regress/newregr/mvs/EXPECTEDMV500
  core/sql/regress/newregr/mvs/EXPECTEDMV500A
  core/sql/regress/newregr/mvs/EXPECTEDMV500A_LINUX
  core/sql/regress/newregr/mvs/TPCD/DBGEN_HELP.TXT
  dcs/src/main/resources/dcs-webapps/master/css/stylesheet.css

Removed filters for Hewlett Packard, Tandem, Compaq, and Microsoft.  None of
test software should returns these values
  core/sql/regress/tools/regress-filter
  core/sql/regress-tools/regress-filter-linux

Removed LICENSE and NOTICE files from child directories
  dcs/LICENSE.txt
  dcs/NOTICE.txt
  wms/LICENSE.txt
  wms/NOTICE.txt
  install/README.rst

Reworded comment so Copright would not show up on search
  core/sql/update/CopyrightCheck.py


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/7a085965
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/7a085965
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/7a085965

Branch: refs/heads/release1.3
Commit: 7a085965c36363a3a44f5e85d8cfc5a46280f45f
Parents: 1ea3e83
Author: Roberta Marton <ro...@esgyn.com>
Authored: Mon Nov 23 22:59:00 2015 +0000
Committer: Roberta Marton <ro...@esgyn.com>
Committed: Mon Nov 23 22:59:00 2015 +0000

----------------------------------------------------------------------
 .../trafodion/jdbc/t4/T4DatabaseMetaData.java   |    3 -
 core/sqf/export/lib/Vili/Functions.pm           |  725 ---
 core/sqf/export/lib/Vili/Helper.pm              |  674 --
 core/sqf/export/lib/Vili/NoDriftTimer.pm        |   98 -
 core/sql/common/from_GB2312.c                   |  134 +-
 core/sql/common/swscanf.cpp                     |   55 +-
 core/sql/common/swsprintf.cpp                   |   63 +-
 core/sql/parser/ulexer.h                        |   39 +-
 core/sql/regress/newregr/card/runregr_card.ksh  |    7 -
 .../regress/newregr/mvs/BIG/expectedmv215_RU    |  480 --
 core/sql/regress/newregr/mvs/EXPECTEDMV500      | 4708 --------------
 core/sql/regress/newregr/mvs/EXPECTEDMV500A     | 5179 ----------------
 .../regress/newregr/mvs/EXPECTEDMV500A.LINUX    | 5789 ------------------
 .../sql/regress/newregr/mvs/TPCD/DBGEN_HELP.TXT |   83 -
 core/sql/regress/seabase/EXPECTED021            |   26 +-
 core/sql/regress/tools/regress-filter           |    5 -
 core/sql/regress/tools/regress-filter-linux     |    5 -
 core/sql/regress/udr/EXPECTED100.SB             |    4 +-
 core/updateCopyrightCheck.py                    |    7 +-
 dcs/LICENSE.txt                                 |  202 -
 dcs/NOTICE.txt                                  |    7 -
 .../org/trafodion/dcs/util/ByteBufferUtils.java |    2 -
 .../java/org/trafodion/dcs/util/SqlUtils.java   |    2 -
 .../dcs-webapps/master/css/stylesheet.css       |  191 -
 .../Trafodion_Client_Installation_Guide.xml     |    6 +-
 docs/client_install/source/xml-profile.xml      |    2 +-
 .../Trafodion_Command_Interface_Guide.xml       |   44 +-
 docs/command_interface/source/xml-profile.xml   |    2 +-
 docs/odb_manual/Trafodion_odb_User_Guide.xml    |    4 +-
 .../source/Trafodion_SQL_Reference_Manual.xml   |   10 +-
 docs/sql_reference/source/xml-profile.xml       |    2 +-
 install/Makefile                                |    2 -
 install/README.rst                              |   32 -
 wms/LICENSE.txt                                 |  202 -
 wms/NOTICE.txt                                  |   11 -
 wms/build.xml                                   |    2 +-
 36 files changed, 103 insertions(+), 18704 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7a085965/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/T4DatabaseMetaData.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/T4DatabaseMetaData.java b/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/T4DatabaseMetaData.java
index 9522e5d..108adb3 100644
--- a/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/T4DatabaseMetaData.java
+++ b/core/conn/jdbc_type4/src/org/trafodion/jdbc/t4/T4DatabaseMetaData.java
@@ -65,9 +65,6 @@ import java.util.logging.LogRecord;
  * Description: JDBC Type 4 Driver
  * </p>
  * <p>
- * Copyright: Copyright (c) 2004-2007
- * </p>
- * <p>
  * </p>
  */
 public class T4DatabaseMetaData extends HPT4Handle implements java.sql.DatabaseMetaData {

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7a085965/core/sqf/export/lib/Vili/Functions.pm
----------------------------------------------------------------------
diff --git a/core/sqf/export/lib/Vili/Functions.pm b/core/sqf/export/lib/Vili/Functions.pm
deleted file mode 100644
index df02227..0000000
--- a/core/sqf/export/lib/Vili/Functions.pm
+++ /dev/null
@@ -1,725 +0,0 @@
-# @@@ START COPYRIGHT @@@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# @@@ END COPYRIGHT @@@
-
-package Vili::Functions;
-
-=head1 NAME
-
-Vili::Functions - a module that encapsulates the functionsl to be used by Vili
-operations and workflows
-
-=head1 SYNOPSIS
-
-    use Vili::Functions;
-
-    my $wf = Vili::Functions->new(
-        opname => "my_op_name",
-        help_text => $my_help_text,
-        long_help_text => $my_long_help_text,
-        op_version => "1.0.0",
-    );
-
-    $wf->add_args(
-        arginfo => 'hostname=s',
-        default => "172.31.2.254",
-    );
-
-    $wf->getopts;
-
-    my $has_changed = $wf->create_context();
-
-    my $copy_name = $wf->get_backup_context();
-
-    my $enum_string = $wf->get_enum_text(Vili::Functions::INFO);
-
-    $wf->log(
-        severity => Vili::Functions::INFO,
-        message => "Operation my_op_name started.",
-    );
-
-    $wf->op_exit(
-        retcode => Vili::Functions::FAILURE,
-        output => $errormsg,
-    );
-
-    $wf->op_die(
-        output => $errormsg,
-    );
-
-=head1 DESCRIPTION
-
-A Perl class that represents a Vili operation or workflow.  It provides an
-object oriented interface to the various functions required by scripts.
-This class will ensure that all Vili operations and workflows use the
-same mechanism to check script arguments, log messages, etc.
-
-=head1 CLASS DATA
-
-=head2 CONSTANTS
-
-=over 4
-
-=item * C<Vili::Functions::OK> = 0
-
-=item * C<Vili::Functions::WARNING> = 1
-
-=item * C<Vili::Functions::CRITICAL> = 2
-
-=item * C<Vili::Functions::UNKNOWN> = 3
-
-=item * C<Vili::Functions::FAILURE> = 4
-
-=item * C<Vili::Functions::INFO> = 5
-
-=item * C<Vili::Functions::WARN> = 6
-
-=item * C<Vili::Functions::ERROR> = 7
-
-=back
-
-=head1 FUNCTIONS
-
-=over 4
-
-=item C<new()>
-
-Returns a new object of the Vili::Functions class. This function requires the
-name of the new operation or workflow, the help text for the new script, a long
-help text, or man page, for the new script and the version of the script.  All
-scripts will start with the following option string:
-
-'verbose', 'mode=s', 'frequency=i', 'token', 'publication', 'list', 'context=s',
-'help', 'long_help', 'version'
-
-=item C<add_args()>
-
-This function is called to add additional arguments to the new scripts option string.
-The function requires the option string information for the argument, such as:
-mode=s
-frequency=i
-
-This function also requires a default value for the additional argument.  If the
-argument is not provided on the command line then it will be set to the default value.
-
-=item C<getopts()>
-
-This function is called to process the new scripts command line arguments.
-It uses
-the scripts options string to determine the arguments required and whether they
-are missing or specified incorrectly.  If a problem has been found with the
-arguments
-that were passed in to the new script, this function will provide the problem
-with the
-input as well as provide the help text, like a usage line.  This function will
-automatically process the 'help', 'long_help' and 'version' options.
-
-=item C<create_context()>
-
-This function is called to create the context file for a workflow.  This function
-is not used by an operation.  This function will check to determine whether the
-context file already exists, and if it does, then the context file is copied to
-a backup context file so that it can be used to determine whether the state
-of the
-workflow has changed.  If the function finds that the context file does not exist
-the path to the context file is created, if required, and a flag is returned
-to indicate that there was no context file and therefore, there is a state change
-since this workflow is just starting up. This function will return 1 if the
-context file did not exist and there is a state change in the workflow.  Otherwise,
-the function will return 0.
-
-=item C<get_backup_context()>
-
-This function encapsulates the naming scheme and location of the backup context file.
-This function returns the name of the backup context file.
-
-=item C<get_enum_text()>
-
-This function translates the Perl class constants to a text representation.  The
-function returns a string version of the constant that was passed in to the function.
-
-=item C<log()>
-
-This function places messages in a log file that is used by all operations and
-workflows.  The function requires the severity of the message and the message
-text itself.  The function will prepend the timestamp, the caller and the
-severity to the message and then write it to the log file.
-
-=item C<op_exit()>
-
-This function is called to exit a script in an orderly manner.  The function requires
-the return code to be returned to the caller and any output to be printed to STDOUT.
-
-=item C<op_die()>
-
-This function is called to kill a script that has run into a critical error.  This
-function requires the message describing the error which will be printed to
-STDOUT
-for the user.  The function will also accept an option return code. If
-no return code is provided, the default return code will be UNKNOWN.
-
-=back
-
-=head1 COPYRIGHT
-
-(C) Copyright 2011-2014 Hewlett-Packard Development Company, L.P.
-
-=cut
-
-use strict;
-use warnings;
-use Params::Validate qw(:all);
-use Data::Dumper;   # Useful for debugging
-#use POSIX;
-use Getopt::Long;
-use File::Basename;
-use File::Copy;
-use File::Path qw( mkpath );
-use File::Temp qw( :POSIX );
-
-# use library to access Vili helper routines
-use Vili::Helper ':all';
-
-use constant
-{
-    OK                          => 0,
-    WARNING                     => 1,
-    CRITICAL                    => 2,
-    UNKNOWN                     => 3,
-    FAILURE			=> 4,
-    INFO                        => 5,
-    WARN                        => 6,
-    ERROR                       => 7
-};
-
-
-# Return values and log severity
-my %error_enum = (
-    0                   => "OK",
-    1         		=> "WARNING",
-    2        		=> "CRITICAL",
-    3 			=> "UNKNOWN",
-    4 			=> "FAILURE",
-    5		        => "INFO",
-    6                	=> "WARN",
-    7                	=> "ERROR",
-);
-
-my %DEFAULT = (
-	mode => "baseline",
-	context => "",
-	vili => "Command line",
-	frequency => 0,
-	token => 0,
-	publication => 0,
-	list => 0,
-	verbose => 0,
-	version => 0,
-	help => 0,
-	long_help => 0,
-	local => 0,
-);
-
-# Define some constants that are used by these functions
-my $LOGFILE = "$ENV{MY_SQROOT}/seapilot/logs/Vili.log";
-
-# Security requirement: all files created must show no permissions for "others"
-# so change default umask from 022 to 027
-umask 027;
-
-##############################################################################
-##############################################################################
-
-#
-#	This subroutine is called to create a new operation or workflow object
-#
-#	INPUT: 
-#	opname - the name of the new object
-#	help_text - the long usage information for this object
-#	long_help_text - the man page for this object
-#	op_version - the current version of this new object
-#	
-#	OUTPUT:
-#	a function object is returned to the caller
-#	
-sub new
-{
-    my $class = shift;
-
-    # lets get our SQROOT path, USER and the 
-    # node id now since we will need those soon
-    # and if there is a problem we can report it
-    # right away.
-
-    # get our instance name for use later.
-    # if we cannot find it then exit now
-    my $SQROOT = $ENV{'MY_SQROOT'};
-    die ("The environment variable MY_SQROOT is empty.\n") unless (defined($SQROOT) && length($SQROOT)>0);
-
-    # get our user name for use later.
-    # if we cannot find it then exit now
-    my $USER = $ENV{'USER'};
-    die ("The environment variable USER is empty.\n") unless (defined($USER) && length($USER)>0);
-
-    # call the helper function to get the node id 
-    # that we are running on
-    my $nodeid = GetNodeID();
-    die("An Error occurred when obtaining the node id.\n") if  ($nodeid < 0);
-
-    # define our starting option string, which will be used when we get our options
-    my @opt_array = ('verbose', 'mode=s', 'frequency=i', 'token', 'publication', 'list', 'context=s', 'vili=s', 'help', 'long_help', 'version', 'local');
-
-    # validate the arguments passed in to the constructor
-    my %args = validate( @_,
-	{
-		opname		=> {
-			type		=>	SCALAR,		# a scalar
-			regex		=> 	qr/^\w+$/	# that is all word chars
-		},
-		help_text		=> {
-			type		=>	SCALAR		# a scalar but can be mixed chars
-		},
-		long_help_text	=> {
-			type		=>	SCALAR		# a scalar but can be mixed chars
-		},
-		op_version		=> {
-			type		=>	SCALAR,		# a scalar but could be mixed chars
-		},
-	}
-    );
-		
-
-    my $self = {};
-
-    # take any values that have been passed in
-    # also set initial values on the other variables that 
-    # will be set later when getopts is called
-    $self->{opname}  = $args{"opname"};
-    $self->{help_text}  = $args{"help_text"};
-    $self->{long_help_text}  = $args{"long_help_text"};
-    $self->{op_version}  = $args{"op_version"};
-    $self->{logfile} = $LOGFILE;
-
-    # set the Default context value now that we have
-    # the user name and the nodeid
-    # along with the passed in workflow name
-    # NOTE: This will not be used by operations.
-    if (&is_cluster) {
-        $DEFAULT{context} = "/home/$USER/context/$nodeid/$self->{opname}/automatic";
-    } else {
-        $DEFAULT{context} = "$SQROOT/seapilot/var/checks/context/$nodeid/$self->{opname}/automatic";
-    }
-
-    # set the context file backup file name to be used
-    # when we copy the file in order to compare
-    # we use the POSIX (tmpnam) which is the FILE::temp mktemp call 
-    # in order to generate a valid temporary file name
-    $self->{context_back} = tmpnam();
-
-    # initialize the standard ops values
-    foreach my $key (sort keys %DEFAULT) {
-    	$self->{$key}  = $DEFAULT{$key};
-    }
-
-    # save the option array for the standard
-    # options that will be used for GetOptions
-    $self->{_opt_array} = [ @opt_array ];
-
-    # Bless ourselves as an instance of the class
-    bless($self, $class);
-
-    return ($self);
-}
-
-#
-#	This subroutine is called to add additional arguments/variables
-#	to the option string, and to $self.  This is used by operations
-#	and workflows to manage the additional arguments that the scripts require
-#
-#	INPUT: 
-#	arginfo - will be argument name and type in getopts format
-#      		such as "max=s" where max is the variable name and it is of type string
-#	default - this will hold the initial default value when this argument is created
-#	
-#	OUTPUT:
-#	no output - the provided argument info is added to the options string
-#	 	and the argument is defined with the default value 
-#	 	in $self for use by the operation or workflow
-#
-sub add_args {
-    my $self = shift;
-
-    my %args = validate( @_, {
-	arginfo => 1,
-	default => 0,
-    });
-
-    # now add the new argument info to our options array list 
-    # that we will use for getopts
-    push @{$self->{_opt_array}},$args{arginfo};
-
-    # now extract the variable name from the argumentinfo so 
-    # that we can use it to store the default value for now
-    # That means we take what appears before the '=' sign as
-    # the variable name
-    my $varname = $args{arginfo};
-    $varname =~ s/[=:].*$//;
-
-    # if for some reason this variable is already defined
-    # then we will not overwrite it
-    # otherwise we initialize this variable with the default value
-    if (!defined $self->{$varname}) {
-	$self->{$varname} = $args{default};
-    }
- 
-}
-
-#
-#	This subroutine is called to get the arguments that were
-#	passed in to the operation or workflow.
-#
-#	INPUT: 
-#	no input - the @ARGV is used
-#	
-#	OUTPUT:
-#	no output - the provided arguments, once verified to be good,
-#	are placed in $self for use by the operation or workflow
-#
-sub getopts {
-    my $self = shift;
-
-    # let's get the options that were passed in to the script
-    # this call will check the options defined in the _opt_array
-    # and will place the values in the variables in $self of the same name
-    my $result = GetOptions ($self, @{$self->{_opt_array}});
-    die($self->{help_text}) unless $result;
-
-    # if mode argument provided is not what is expected, then generate an error
-    # and display the usage
-    if ($self->{mode} ne "interval" && $self->{mode} ne "baseline") {
-	printf("Invalid mode specified: valid options are \"interval\" or \"baseline\"\n");	
-    	my $output = $self->{help_text} . "\n";
-    	die($output);
-    }
-
-    # if none of the output methods are selected, then set it to 'list'
-    # because 'list' is the default
-    if ($self->{token} == 0 && $self->{publication} == 0 && $self->{list} == 0) {
-    	$self->{list} = 1;
-    }
-
-    # The context filename specified may not exist since we are just starting out.
-    # However, the directory should so let's check to see that the directory actually exists
-    if ($self->{context} ne $DEFAULT{context}) {
-	my $contextdir = dirname($self->{context});
-	if (! -e $contextdir) {
-		printf("Invalid context file specified: directory $contextdir does not exist\n");	
-    		die($self->{help_text});
-  	}
-    }
-
-    # Now that we have validated the arguments that we know about 
-    # lets process the options that we can dispatch right away
-    # If help, then display the help text
-    if ($self->{help}) {
-	$self->op_exit (
-        	retcode => Vili::Functions::OK,
-        	output =>  $self->{help_text},
-        );
-    }
-
-    # If long help, then display the long help text
-    if ($self->{long_help}) {
-	$self->op_exit (
-        	retcode => Vili::Functions::OK,
-        	output =>  $self->{long_help_text},
-        );
-    }
-
-    # If version information is being requested, print it out
-    if ($self->{version}) {
-	$self->op_exit (
-        	retcode => Vili::Functions::OK,
-        	output =>  $self->{op_version},
-        );
-    }
-
-}
-
-#
-#	This subroutine is called to place messages in the log
-#	file.  This subroutine will prepend the timestamp and
-#	the caller to the message as well as place the provided
-#	severity in front of the message, as well.
-#
-#	INPUT: 
-#	severity - the constant value of the severity that is associated
-#		with this particular log entry
-#	message - the message that will be placed in the log file
-#	
-#	OUTPUT:
-#	The modified message will be placed in the log file
-#
-#	TO DO: Decide how to know Vili instance and then act on it
-#
-sub log {
-    my $self = shift;
-
-    my $caller = $0;
-
-    # validate the options that have been passed in.
-    my %args = validate( @_, 
-	{
-    		severity => {
-                        type            =>      SCALAR,         # a scalar
-                        callbacks       => {                    # that is one of our supported severity values
-                                'what is the severity' =>
-                                        sub {$_[0] eq INFO || $_[0] eq WARN || $_[0] eq ERROR},
-                        },
-        	},
-		message => {
-		        type            =>      SCALAR,         # a scalar
-        	},
-    });
-
-    # Let's create the log directory if it does not exist
-    my $log_dir = dirname($self->{logfile});
-    if (!-e $log_dir) {
-   	mkdir $log_dir || die("Vili Functions unable to create log directory.\n");
-    } 
-
-    # Open the log file
-    open(LOG, ">>$self->{logfile}") || die("Vili Functions unable to open the log file");
-
-    # Get the current time for log message
-    my $Mark = localtime();
-
-    # Now print it
-    printf(LOG "%s: %s: %s: %s: %s\n", $Mark, $self->{vili}, $caller, $error_enum{$args{severity}}, $args{message});
-
-    # Done. Now close it and exit
-    close(LOG);
-}
-
-#
-#	This subroutine is called to translate the constant
-#	values to defined text values for the constants.
-#
-#	INPUT: 
-#	constvalue - the constant value that should be translated
-#	
-#	OUTPUT:
-#	The text value of constant is returned to the caller
-#
-sub get_enum_text {
-    my $self = shift;
-
-    # validate the options that have been passed in.
-    my %args = validate( @_, 
-	{
-    		constvalue => {
-                        type            =>      SCALAR,         # a scalar
-                        callbacks       => {                    # that is one of our defined constant values
-                                'what is the constant' =>
-                                        sub {
-$_[0] eq OK || $_[0] eq WARNING || $_[0] eq CRITICAL || $_[0] eq UNKNOWN || $_[0] eq INFO || $_[0] eq WARN || $_[0] eq ERROR},
-                        },
-        	},
-    });
-
-    my $ret = $error_enum{$args{constvalue}};
-
-    return ($ret);
-
-}
-
-#
-#	This subroutine is called to create the context file
-#	and save a copy, as required
-#
-#	INPUT: 
-#	none
-#	
-#	OUTPUT:
-#	has_changed - a flag to indicate if the file needed
-#		to be created, which means that the
-#		state has changed
-#	The context file will be created/truncated
-#	 	and, if necessary, a backup of the older one
-#	 	will be saved for comparison
-#
-sub create_context {
-    my $self = shift;
-
-    my $has_changed = 0;
-    my $ret = "";
-
-    # first check to see if the context file exists and is not empty CR6253
-    if (!-s $self->{context}) {
-        # remove empty file
-        unlink( $self->{context} ) if ( -e $self->{context} );
-        # it doesn't exist... do we need to create
-        # the directory above it?
-        my $context_dir = dirname($self->{context});
-        if (!-e $context_dir) {
-
-                # call mkpath and obtain error return
-                $ret = mkpath($context_dir);
-                if (!$ret) {
-			my $errormsg = "Unable to create $context_dir directory:";
-                    	$self->log(
-                        	severity => Vili::Functions::ERROR,
-                        	message => $errormsg,
-                    	);
-                    	$self->op_exit(
-                        	retcode => Vili::Functions::FAILURE,
-                        	output => $errormsg,
-                    	);
-                   
-              }
-        }
-
-        # set $has_changed to true, because
-        # the context file did not exist so we
-        # created it
-        # well, technically we might have created the directory
-	# and when we first write to the file we 
-	# will have created it
-        $has_changed = 1;
-
-    } else {
-
-	# save copy of the context file
-        $ret = copy($self->{context}, $self->{context_back});
-        # copy returns 1 on success, 0 on failure
-        if (!$ret ) {
-               	my $errormsg = "Unable to copy $self->{context}";
-               	$self->log(
-                       	severity => Vili::Functions::ERROR,
-                       	message => $errormsg,
-               	);
-               	$self->op_exit(
-                       	retcode => Vili::Functions::FAILURE,
-                       	output => $errormsg,
-               	);
-        }
-
-    }
-
-    return($has_changed);
-}
-
-#
-#	This subroutine is used to exit a script is an orderly
-#	manner.
-#
-#	INPUT: 
-#	retcode - the exit code value to be returned
-#	output - the message to be displayed when the script exits
-#
-#	OUTPUT:
-#	output message with newline added is printed and the provided retcode is returned.
-#
-sub op_exit {
-    my $self = shift;
-
-    my %args = validate( @_, 
-	{
-		retcode => {
-                        type            =>      SCALAR,         # a scalar
-                        callbacks       => {                    # that is one of our supported return values
-                                'what is the return code' =>
-                        sub {$_[0] eq OK || $_[0] eq WARNING || $_[0] eq CRITICAL || $_[0] eq UNKNOWN || $_[0] eq FAILURE},
-                        },
-        	},
-		output => {
-		        type            =>      SCALAR,         # a scalar
-        	},
-    });
-
-    $args{output} .= "\n";
-
-    # just to be sure, if the backup context file still exists, then let's remove it
-    if (-e $self->{context_back}) {
-	unlink($self->{context_back});
-    }
-
-    print $args{output};
-    exit $args{retcode};
-}
-
-#
-#	This subroutine is used to kill a script that has run into
-#	a critical error.  If no return code is provided, the default
-#	return code will be UNKNOWN
-#
-#	INPUT: 
-#	output - the message to be displayed when the script dies
-#	retcode - the exit code value to be returned, or if not specified, UNKNOWN
-#
-#	OUTPUT:
-#	output message with newline added is printed and the retcode is returned.
-#
-sub op_die {
-    my $self = shift;
-
-    my %args = validate( @_, 
-	{
-		output => {
-		        type            =>      SCALAR,         # a scalar
-        	},
-		retcode => {
-                        type            =>      SCALAR,         # a scalar
-                        optional        =>      1,         	# that is optional
-                        default         =>      UNKNOWN,        # that if not specified, should default to UNKNOWN
-                        callbacks       => {                    # that should be one of our supported return values
-                                'what is the return code' =>
-                                        sub {$_[0] eq OK || $_[0] eq WARNING || $_[0] eq CRITICAL || $_[0] eq UNKNOWN},
-                        },
-        	},
-    });
-
-    $args{output} .= "\n\n";
-
-    # just to be sure, if the backup context file still exists, then let's remove it
-    if (-e $self->{context_back}) {
-	unlink($self->{context_back});
-    }
-
-    print $args{output};
-    exit $args{retcode};
-
-}
-
-##
-## Get the name of the backup context file.
-##
-## Params: None
-##
-## Returns: name of backup context file
-##
-sub get_backup_context
-{
-    my $self = shift;
-
-    return ($self->{context_back});
-}
-
-1;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7a085965/core/sqf/export/lib/Vili/Helper.pm
----------------------------------------------------------------------
diff --git a/core/sqf/export/lib/Vili/Helper.pm b/core/sqf/export/lib/Vili/Helper.pm
deleted file mode 100644
index 1a539c3..0000000
--- a/core/sqf/export/lib/Vili/Helper.pm
+++ /dev/null
@@ -1,674 +0,0 @@
-# @@@ START COPYRIGHT @@@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# @@@ END COPYRIGHT @@@
-
-package Vili::Helper;
-
-=head1 NAME
-
-Vili::Helper - a module that contains helper functions to be used by
-operations and workflows
-
-=head1 SYNOPSIS
-
-   # Constants OK, WARNING, CRITICAL, UNKNOWN, INFO, WARN and ERROR 
-   # are exported by default
-   use Vili::Functions;
-
-   my $ret = isvalid_IP($wf->{hostname});
-
-   my $ret = isvalid_integer($wf->{warning});
-
-   my $nodeid = GetNodeId();
-
-   my $ret = TPA_is_ready();
-
-   my ($lct_usecs, $utc_secs) = GetTimeStamp();
-
-   my $ret = is_cluster();
-
-   set_timeout($seconds);
-
-   my @nodearray = GetNodeArray();
-
-   my $ret = check_tm();
-
-=head1 DESCRIPTION
-
-A Perl class that provides helper functions to be used by operations
-and workflows.  Utility subroutines that will be used by all of these
-scripts will be placed in this file.  Additional subroutines to validate
-input, or commonly called routines should be placed here.  This will 
-make it easier for the creation of new scripts and will ensure that all
-scripts perform these functions the same way.
-
-=back
-
-=head1 FUNCTIONS
-
-=over 4
-
-=item C<isvalid_IP()>
-
-Returns true if the value provided is a valid IP address.  Otherwise, 
-false is returned.
-
-=item C<isvalid_integer()>
-
-Returns true if a valid integer is provided.  Otherwise, false is returned.
-
-=item C<get_sqenv_vars()>
-
-Loads all environment variables from sqevn.sh file
-
-=item C<GetNodeId()>
-
-Returns the node id of the current node.
-
-=item C<TPA_is_ready()>
-
-Returns 1 if the TPA_publish script is ready to be used, and a 0 if it is not ready.
-
-=item C<GetTimeStamp>
-Return the LCT and UTC in microsecond
-
-=item C<is_cluster()>
-
-Returns 1 if it runs on cluster, otherwise 0 if it runs on a workstation.
-
-=item C<set_timeout()>
-
-Set an alarm timeout.
-
-=item C<check_tm()>
-
-Returns 0: the instance is not up,
-        1: the instance is up, and TM is enabled
-        2: the instance is up, and TM is disabled, it should be a normal shutdown
-        3: unknown errors
-
-
-=item C<GetNodeArray()>
-
-Returns an array with the nodes names of the nodes in the instance.  If unable to obtain this list of names it will die.
-
-=back
-
-=head1 COPYRIGHT
-
-(C) Copyright 2011-2014 Hewlett-Packard Development Company, L.P.
-
-=cut
-
-use strict;
-use warnings;
-
-use base qw(Exporter);
-
-use Params::Validate qw(:all);
-use Data::Dumper;   # Useful for debugging
-use POSIX;
-use Getopt::Long;
-use File::Basename;
-use Time::HiRes qw(gettimeofday);
-
-our (@ISA, %EXPORT_TAGS, @EXPORT, @EXPORT_OK);
-#our ($SQROOT, $TPA_PUBLISH, $TS_PROG); # $MY_SQROOT-dependent variables
-
-# global vars set in se_check_flow
-our $gv_HOSTNAME = undef;
-our $gv_LNID = undef;
-
-%EXPORT_TAGS =
-(
-    'all'    => [qw(isvalid_IP isvalid_integer isvalid_domain GetNodeID SQ_is_ready TPA_is_ready is_cluster set_timeout check_tm GetTimeStamp GetNodeArray GetNodeName GetNodeStatus sudo_command get_HOSTNAME get_LNID get_sqenv_vars)],
-
-    'defaults'    => [qw(isvalid_IP isvalid_integer isvalid_domain GetNodeID SQ_is_ready TPA_is_ready is_cluster set_timeout check_tm GetTimeStamp GetNodeArray GetNodeName GetNodeStatus sudo_command)],
-
-    'consts'    => [qw(isvalid_IP isvalid_integer isvalid_domain GetNodeID SQ_is_ready TPA_is_ready is_cluster set_timeout check_tm GetTimeStamp GetNodeArray GetNodeName GetNodeStatus sudo_command)],
-);
-
-@EXPORT    = (@{$EXPORT_TAGS{'defaults'}});
-@EXPORT_OK = (@{$EXPORT_TAGS{'all'}});
-
-# return 1, true, if valid input
-# return 0, false, if invalid input
-my $SUCCESS = 1;
-my $FAIL = 0;
-my $PROBLEM = -1;
-
-# Define some constants that are used by these functions
-my $FIFO = "$ENV{MY_SQROOT}/seapilot/amqp-tpa";   # the fifo used by TPA_Publish
-
-##############################################################################
-##############################################################################
-
-#
-#	This subroutine is called to validate an IP address that was input
-#
-#	INPUT: 
-#	ipaddress passed in to calling routine
-#	
-#	OUTPUT:
-#	0 - indicates that the ip address is valid
-#	1 - indicates that the ip address is NOT valid
-#	
-sub isvalid_IP
-{
-my($ip) =  @_;
-
-        # empty string
-        if (!defined($ip) or $ip eq '') {
-                return $FAIL;
-        }
-        # string contains spaces
-        if ($ip =~ /\s/) {
-                return $FAIL;
-        }
-        # string begins with '.'
-        if ($ip =~ /^\./) {
-                return $FAIL;
-        }
-        # string ends with '.'
-        if ($ip =~ /\.$/) {
-                return $FAIL;
-        }
-
-        # now check the individual components of the string
-        my(@components) = split(/\./,$ip);
-
-        # string does not contain 4 components
-        if (@components != 4) {
-                return $FAIL;
-        }
-
-        my($comp);
-        foreach $comp (@components) {
-                # string has zero length component
-                if (length($comp) == 0) {
-                        return $FAIL;
-                }
-
-                # string has a non-digit in the component
-                if ($comp !~ /^\d+$/ && $comp !~ /^0x[0-9A-Fa-f]+$/) {
-                        return $FAIL;
-                }
-
-                # string has octal or hex value in the component
-                if ($comp =~ /^0\d/ || $comp =~ /^0x/) {
-                        return $FAIL;
-                }
-
-                # string has component out of range 0 to 255
-                if ($comp < 0 || $comp > 255) {
-                        return $FAIL;
-                }
-        }
-
-    return($SUCCESS);
-}
-
-#
-#	This subroutine is called to validate an IP address that was input
-#
-#	INPUT: 
-#	ipaddress passed in to calling routine
-#	
-#	OUTPUT:
-#	0 - indicates that the ip address is valid
-#	1 - indicates that the ip address is NOT valid
-#	
-sub isvalid_integer
-{
-my($inputval) =  @_;
-
-    # empty string
-    if (!defined($inputval) or $inputval eq '') {
-        return $FAIL;
-    }
-
-    # if the integer contains a '.', then
-    # strip it off and check the rest of the characters
-    if ($inputval =~ /\./) {
-        my $temp = $inputval;
- 	($inputval = $temp) =~ s/\.//;
-    }
-
-    # string has a non-digit in the component
-    if ($inputval !~ /^\d+$/) {
-        return $FAIL;
-    }
-
-    return($SUCCESS);
-}
-
-#
-#    This subroutine is called to validate an domain name that was input
-#
-#    INPUT: 
-#    domain name passed in to calling routine
-#    
-#    OUTPUT:
-#    0 - indicates that the domain name is valid
-#    1 - indicates that the domain name is NOT valid
-#    
-sub isvalid_domain {
-    my ($str) = @_;
-    if ( defined($str)
-            # empty string
-            and length($str) > 0
-            # no longer than 255 chars
-            and length($str) < 256
-            # each label may contain up to 63 characters
-            and $str =~ /^[a-zA-Z0-9][-a-zA-Z0-9]{0,62} (\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})* \.?$/x
-        ) {
-            return 1;
-    } else {
-            return 0;
-    }
-}
-
-#
-# This subroutine will get all environment variables defined in sqenv.sh
-#
-sub get_sqenv_vars {
-
-    my $MY_SQROOT = $ENV{'MY_SQROOT'};
-    my $cmd = "cd $MY_SQROOT; . ./sqenv.sh; export; 2>/dev/null";
-    my $cmdResult = `$cmd`;
-    
-    my @result = split /\n/, $cmdResult;
-
-    foreach (@result) {
-        if (/^export\s+(.+)="(.+)"/) {
-            my ($var, $val) = ($1, $2);
-	    next if(defined($ENV{$var})); 
-	    $ENV{$var} = $val; 
-
-        }
-    } 
-}    
- 
-#
-# Return the physical node name
-#
-sub GetNodeName
-{
-    chomp (my $hostname = `hostname`);
-    return $hostname;
-}
-
-#
-#	This subroutine is called to obtain the node id
-#	of the current node we are running on.  This value
-#	is returned back to the caller.
-#
-#	INPUT: 
-#	none
-#	
-#	OUTPUT:
-#	nodeid - if things work well
-#	if a problem occurs then die is called
-#	
-# `ps -ef | grep sp_proxy | grep -v grep | grep $USER` output
-#sqdev15  16094 11046  0 15:40 ?        00:00:13 sp_proxy SQMON1.0 00002 00002 016094 $XDN2 172.31.0.39:59470 00010 00002 SPARE
-# nid is in column 11 (0 offset 10)
-# Per the standard SeaQuest process arguments format:
-# sp_proxy        SQMON1.0    00002   00002  016094  $XDN2    172.31.0.39:59470  00010    00002  SPARE
-# <program name>  "SQMON1.0"  <pnid>  <nid>  <pid>   <pname>  <port>             <ptype>  <zid>  "SPARE"
-#
-
-sub GetNodeID
-{
-
-    # get our SQROOT path
-    my $MY_SQROOT = $ENV{'MY_SQROOT'};
-    my $USER = $ENV{ 'USER' };
-
-    die ("The environment variable MY_SQROOT is empty.\n") 
-        unless (defined($MY_SQROOT) && length($MY_SQROOT)>0);
-    die ("The environment variable USER is empty.\n") 
-        unless (defined($USER) && length($USER)>0);
-
-    set_HOSTNAME();
-    my $psline = `ps -ef | grep sp_proxy | grep -v grep | grep $USER | head -1`;
-    my @cols = split /\s+/, $psline;
-    my $nodeID = undef;
-    chomp( $nodeID = sprintf( "%d", $cols[10] )) if (defined($cols[10]));
-
-    if (defined($nodeID) and length($nodeID) > 0) { 
-        $gv_LNID = $nodeID;
-        return ($nodeID); 
-    } else {
-        die ("The file $MY_SQROOT/tmp/cluster.conf does not exist.\n") 
-            unless (-r "$MY_SQROOT/tmp/cluster.conf");
-    
-        $nodeID = `cat $MY_SQROOT/tmp/cluster.conf | cut -d: -f2,3 | sort -u | sed 's/\$/:/' | grep -m 1 '\:$gv_HOSTNAME\:' | cut -d: -f1`;
-        chomp($nodeID);
-    
-        if ((WIFEXITED($?) && (WEXITSTATUS($?) != 0)))
-        {
-            die("ERROR: unable to find current Node ID in $MY_SQROOT/tmp/cluster.conf\n");
-        }
-        $gv_LNID = $nodeID;
-        return ($nodeID);
-    }
-}
-
-sub set_HOSTNAME() {
-    chomp($gv_HOSTNAME = `/bin/hostname`);
-    return 0;
-}
-
-sub get_HOSTNAME() {
-    return $gv_HOSTNAME;
-}
-
-sub get_LNID() {
-    return $gv_LNID;
-}
-
-
-## Verify that SQ environment is up
-##
-## Params: None
-##
-## Returns: 1 is ready, 0 is not ready
-##
-sub SQ_is_ready
-{
-    my $sqroot = $ENV{'MY_SQROOT'};
-    my $cmd = "$sqroot/sql/scripts/sqcheck";
-    `$cmd`;
-
-    # sqcheck returning 0 means SQ is up
-    return 1 if ((WIFEXITED($?) && (WEXITSTATUS($?) == 0)));
-    return 0;
-}
-
-##
-## Verify that the TPA_Publish fifo is ready for us to start
-## calling workflows.  We do this by checking that the file
-## descriptor is a valid named pipe and has write permission
-##
-## Params: None
-##
-## Returns: 0 - if the fifo fails one of these tests
-##          1 - if the fifo passes all tests - fifo is ready
-##
-sub TPA_is_ready
-{
-    my $self = shift;
-
-    # check that the file exists
-    if ( ! -e $FIFO ) {
-        return(0);
-    }
-
-    # check that the file is a named pipe
-    if ( ! -p $FIFO ) {
-        return(0);
-    }
-
-    # check that the file is has write permissions set
-    if ( ! -w $FIFO ) {
-        return(0);
-    }
-
-    return(1);
-}
-
-#
-#  Check whether the script runs on a cluster
-#
-#  Input: None
-#
-#  Returns: 1 - if it runs on a cluster
-#           0 - if it runs on a workstation
-# 
-sub is_cluster
-{
-    my $output = `type -a pdsh 2>/dev/null`;
-    if (length($output) > 0) {
-        return 1;
-    } 
-    return 0;
-}
-
-#
-# Set workflow timeout
-
-# Input: seconds to wait for an alarm
-
-# Returns: none
-#
-sub set_timeout
-{
-    my $timeout = shift;
-
-    $SIG{ALRM} = sub { die "$timeout seconds timeout.\n" };
-    alarm($timeout);
-}
-
-# Check whether TM is OK by checking registry SQ_TXNSVC_READY,
-# return values,
-# 0: the instance is not up,
-# 1: the instance is up, and TM is enabled
-# 2: the instance is up, and TM is disabled, it should be a normal shutdown
-# 3: unknown errors
-sub check_tm
-{
-    `sqregck -f -q -r SQ_TXNSVC_READY`;
-    if (WIFEXITED($?)) {
-        my $rc = WEXITSTATUS($?);
-        return $rc if ($rc eq "0" || $rc eq "2");
-
-        return ($rc eq "1") ? 1 : 3;
-
-    }
-    else {
-        return 3;
-    }
-}
-
-#
-#	This subroutine is called to obtain the list of nodes
-#	that are part of the instance.  An array of the nodes 
-#	is returned back to the caller.
-#
-#	INPUT: 
-#	none
-#	
-#	OUTPUT:
-#	nodearray - an array of nodes, if things work well
-#	if a problem occurs then die is called
-#	
-sub GetNodeArray
-{
-my $startsqshellcmd = "sql/scripts/sqshell -c";
-my $sqshellcmd = "node info";
-my @nodearray = ();
-
-    # get our SQROOT path
-    my $MY_SQROOT = $ENV{'MY_SQROOT'};
-
-    # check that we are currently in an instance
-    die ("The environment variable MY_SQROOT is empty.\n") unless (defined($MY_SQROOT) && length($MY_SQROOT)>0);
-
-    # if it's on a workstation, the only node is 'localhost'
-    if (!&is_cluster()) {
-        push (@nodearray,"localhost");
-        return (@nodearray);
-    }
-
-    # get list of nodes using the correct command 
-    # if the instance is not up then we will get a non-zero output
-    my $nodeoutput = `$MY_SQROOT/$startsqshellcmd $sqshellcmd`;
-    if ($? != 0) {
-    	die ("$MY_SQROOT/$startsqshellcmd returned an error, command output : \n$nodeoutput\n");
-    }
-	
-    # now massage output to obtain an array of nodes
-    # we expect the output to look like this
-    # Processing cluster.conf on local host n001
-    # [$Z050BU2] Shell/shell Version 1.0.1 Release 1.2.0 (Build release [14733], date 05Feb12)
-    # [$Z050BU2] %node info
-    # [$Z050BU2] Logical Nodes    = 7
-    # [$Z050BU2] Physical Nodes   = 7
-    # [$Z050BU2] Spare Nodes      = 0
-    # [$Z050BU2] Available Spares = 0
-    # [$Z050BU2] NID Type        State    Processors   #Procs
-    # [$Z050BU2]     PNID        State        #Cores  MemFree SwapFree CacheFree Name
-    # [$Z050BU2] --- ----------- -------- ---------- -------- -------- --------- --------
-    # [$Z050BU2] 000 Backend     Up                2       57
-    # [$Z050BU2]     000         Up                8 40434788 47999992  47272556 n004
-    # [$Z050BU2] 001 Backend     Up                2       51
-    # [$Z050BU2]     001         Up                8 40895884 47999992  47423368 n005
-    # [$Z050BU2] 002 Backend     Up                2       49
-    # [$Z050BU2]     002         Up                8 40212820 47999992  47366860 n006
-    # [$Z050BU2] 003 Backend     Up                2       51
-    # [$Z050BU2]     003         Up                8 40071368 47999992  46594532 n007
-    # [$Z050BU2] 004 Backend     Up                2       54
-    # [$Z050BU2]     004         Up                8 40313340 47999992  46504032 n008
-    # [$Z050BU2] 005 Frontend    Up                2       38
-    # [$Z050BU2]     005         Up                8 42488384 47999992  47990288 n001
-    # [$Z050BU2] 006 Frontend    Up                2       35
-    # [$Z050BU2]     006         Up                8 40917684 47999992  47730040 n002
-    # [$Z050BU2] %quit
-    # 
-    # and we want to end up with just the node names
-    # 
-    # We also will not check for UP or DOWN because
-    # we want the list of all nodes.
-    # In addition, we will not get spare nodes using this code
-    # which is OK because we currently do not plan to run health
-    # checks on spare nodes.
-    my $next = 0; # flag that indicates we want to look at next line
-    for my $line (split("\n", $nodeoutput) ) {
-
-	# if the next flag is set then this is a line that 
-	# contains our node name
-	# Node name may have ":xyz" on the end of the name, so
-	# we will have to get rid of that!!
-	if ($next) {
-		my (@fields) = split(" ",$line);
-
-		# check for Spare node, because we do
-		# not want to run our health checks on a spare
-		# Correction Per mail from Viral on 2/10/12 --
-		# Spare would be in 3rd column:
-		# [$Z000DTQ] 002 Any         Up                2       31
-		# [$Z000DTQ]     002         Up                8 45574224 47999992  47966220 n056
-		# [$Z000DTQ]     003         Spare             8 45777200 47999992  48370576 n048
-
-		if ($fields[2] !~ /Spare/) {
-			my $nextnode = $fields[7];
-			chomp($nextnode);
-			$nextnode =~ s/:(.*)$//;
-			push(@nodearray,$nextnode);
-		}
-
-		# clear the next flag since we retrieved our node name
-		$next = 0;
-	}
-
-	# if line matches any names to identify the nodes then
-	# set the flag to look at the next line
-	if (($line =~ /Edge/) || ($line =~ /Excluded/) || ($line =~ /Aggregation/) || ($line =~ /Storage/) || ($line =~ /Backend/) || ($line =~ /Frontend/) || ($line =~ /Any/)) {
-		# set the next flag so that we retrieve our node name
-		$next = 1;
-	}
-
-   }
-
-   return (@nodearray);
-}
-
-sub GetNodeStatus {
-    my $sqshellcmd = $ENV{'MY_SQROOT'} . "/sql/scripts/sqshell -c";
-    my $output = '';
-    my %nodestate = ();
-
-    $output = `$sqshellcmd node info`;
-    if ((WIFEXITED($?) && (WEXITSTATUS($?) != 0))) {
-    	die ("$sqshellcmd returned an error, command output : \n$output\n");
-    }
-
-    my $next = 0; # flag that indicates we want to look at next line
-    for my $line (split("\n", $output)) {
-	if ($next) {
-		my (@fields) = split(" ",$line);
-                # CR 6252 -- robustness
-                # if line:
-                #
-                # [$Z020P5R]     000         Up                8  
-                # 2100836 94330844   9320092 n037
-                #
-                # $fields[7] would be n037
-                if (defined($fields[7])) {
-		    $fields[7] =~ s/:(.*)$//;
-                    $nodestate{$fields[7]} = $fields[2];
-                }
-		$next = 0;
-	}
-
-	# if line matches any names to identify the nodes then
-	# set the flag to look at the next line
-	if (($line =~ /Edge/) || ($line =~ /Excluded/) || ($line =~ /Aggregation/) || ($line =~ /Storage/) || ($line =~ /Backend/) || ($line =~ /Frontend/) || ($line =~ /Any/)) {
-		# set the next flag so that we retrieve our node name
-		$next = 1;
-	}
-    }
-    chomp(my $hst = `hostname`);
-    $nodestate{'localhost'} = $nodestate{$hst};
-
-    return \%nodestate;
-}
-
-# Get the current timestamp, return the LCT and UTC
-sub GetTimeStamp
-{
-   my ($start_sec, $start_usec) = gettimeofday;
-   my $utc_usecs = $start_sec * 1000000  + $start_usec;
-
-   my $offset = strftime("%z", localtime());
-
-   $offset =~ s/0//g;
-   $offset = 0 if ($offset eq "+"); # zero timezone
-   
-   $offset *= 3600 * 1000000; # convert hour to microsecond
-
-   my $lct_usecs = $utc_usecs + $offset;
-
-   return ($lct_usecs, $utc_usecs);
-}
-
-# sudo wrapper
-sub sudo_command {
-    my $cmd = shift;
-    my $output = '';
-
-    if (&is_cluster()) {
-        $output = `sudo $cmd`;
-    }
-    return wantarray ? (split /\n/, $output) : $output;
-}
-
-1;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7a085965/core/sqf/export/lib/Vili/NoDriftTimer.pm
----------------------------------------------------------------------
diff --git a/core/sqf/export/lib/Vili/NoDriftTimer.pm b/core/sqf/export/lib/Vili/NoDriftTimer.pm
deleted file mode 100644
index 4a70e4b..0000000
--- a/core/sqf/export/lib/Vili/NoDriftTimer.pm
+++ /dev/null
@@ -1,98 +0,0 @@
-# @@@ START COPYRIGHT @@@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# @@@ END COPYRIGHT @@@
-
-package Vili::NoDriftTimer;
-
-=head1 NAME
-
-Vili::NoDriftTimer - a module that contains package NoDriftTimer
-
-=head1 SYNOPSIS
-
-   use Vili::NoDriftTimer;
-
-   my $timer = Vili::NoDriftTimer->new;
-
-   while (1) {
-      $timer->reset;
-
-      ...
-
-      $timer->sleep($nseconds);
-   }
-
-=head1 DESCRIPTION
-
-A Perl class that provides a timer that has no drift.
-
-=back
-
-=head1 COPYRIGHT
-
-(C) Copyright 2011-2014 Hewlett-Packard Development Company, L.P.
-
-=cut
-
-use strict;
-use warnings;
-
-sub new
-{
-   my $class = shift;
-   my $interval = shift;
-
-   my $self = {};
-
-   $self->{default_interval} = defined($interval) ? $interval : 5.0;
-    
-   bless ($self, $class);
-
-   $self->reset;
-   return $self;
-}
-
-sub reset
-{
-   my $self = shift;
-   $self->{last_time} = Time::HiRes::time;
-}
-
-sub sleep
-{
-   my $self = shift;
-   my $interval = shift;
-
-   $interval = $self->{default_interval} unless(defined($interval));
-
-   my $curr_time = Time::HiRes::time;
-
-   my $adjusted_interval = $interval - ($curr_time - $self->{last_time});
-
-   $self->{last_time} += $interval;
-
-   # make sleep uninterruptable by signal handler
-   while ($adjusted_interval > 0) {
-       my $slept_seconds = Time::HiRes::sleep($adjusted_interval);
-       $adjusted_interval -= $slept_seconds;
-   }
-}
-
-1;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7a085965/core/sql/common/from_GB2312.c
----------------------------------------------------------------------
diff --git a/core/sql/common/from_GB2312.c b/core/sql/common/from_GB2312.c
index 4576b65..8d30d1f 100644
--- a/core/sql/common/from_GB2312.c
+++ b/core/sql/common/from_GB2312.c
@@ -20,136 +20,8 @@
 //
 // @@@ END COPYRIGHT @@@
 **********************************************************************/
-/*
- * HISTORY
- * $Log: from_GB2312.c,v $
- * Revision 1.1.10.1  2001/12/07  15:37:39
- *  * Check for UDC & add __UDC_to_gb2312().
- *
- * Revision 1.1.6.1  2000/01/13  20:25:30
- * 	Remove the old conversion routine in favor of the enhanced
- * 	__<codeset>_index() routine, and add algorithmic UDC conversion
- * 	support. Also add a number of conversion routines to support
- * 	special font charset to Unicode conversion.
- *
- * Revision 1.1.4.1  1999/09/28  21:10:10
- * 	Cosixsteelos to zincos merge.
- *
- * Revision 1.1.2.2  1999/08/18  18:36:08
- * 	Add support for Unicode to GBK/GB2312 conversion.
- * 	[1999/08/18  15:04:43  Long_Man]
- *
- * $EndLog$
- */
 
-/*
- * COPYRIGHT NOTICE
- *
- * Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
- * ALL RIGHTS RESERVED (OSF/1).  See /usr/include/COPYRIGHT.OSF1 .
- */
+// File is being obsoleted.  It uses features from the Open Source 
+// Foundation which is not support by Apache and the functions in this
+// file were not being used. 
 
-#include "fcconv.h"
-#include "multi-byte.h"
-
-/*
- * This routine converts one GB2312 character from the input stream to table
- * index.
- *
- * Return Value:
- *	Table index if no error
- *	-1 - Invalid sequence (EILSEQ)
- *	-2 - Input incomplete
- */
-#if 0 // Don't need these since we chose to support GBK (a superset of GB2312) instead
-NA_EIDPROC
-int
-__gb2312_index(_LC_fcconv_iconv_t *cd, uchar_t **in, int len)
-{
-    uint   ch1, ch2 ;
-    uchar *ip = *in ;
-
-    if (len < 2)
-	return(ERR_INPUT_INCOMPLETE) ;
-
-    ch1 = *ip++ ;
-    ch2 = *ip++ ;
-
-    if (!GB2312_VALID1(ch1) || !GB2312_VALID2(ch2))
-	return(ERR_INVALID_CHAR) ;
-
-    *in = ip ;	/* Adjust input pointer */
-    return((GB2312_UDC11(ch1, ch2) || GB2312_UDC12(ch1, ch2))
-	   ? GB2312_IDXU(ch1, ch2) : GB2312_IDX(ch1, ch2)) ;
-}
-
-/*
- * This routine convert a GB2312-GL character to table index
- */
-NA_EIDPROC
-int
-__gb2312gl_index(_LC_fcconv_iconv_t *cd, uchar_t **in, int len)
-{
-    uint   ch1, ch2 ;
-    uchar *ip = *in ;
-
-    if (len < 2)
-	return(ERR_INPUT_INCOMPLETE) ;
-
-    ch1 = *ip++ ;
-    ch2 = *ip++ ;
-
-    if ((ch1 >= 0x80) || (ch2 >= 0x80))
-	return(ERR_INVALID_CHAR) ;
-    ch1 |= 0x80 ;
-    ch2 |= 0x80 ;
-
-    if (!GB2312_VALID1(ch1) || !GB2312_VALID2(ch2))
-	return(ERR_INVALID_CHAR) ;
-
-    *in = ip ;	/* Adjust input pointer */
-    return(GB2312_IDX(ch1, ch2)) ;
-}
-
-/*
- * This routine maps the UCS UDC codepoint to GB2312
- */
-NA_EIDPROC
-WChar_t __UDC_to_gb2312(ucs4_t udc) //JAC
-{
-    if (udc <= UCS_UDC_START + GB2312_UCNT) {
-	int uidx = UCS_UIDX(udc)  ;
-	return(UIDX_GB2312(uidx)) ;
-    }
-    /* Lookup table for mapping for BMP UDC */
-    return((udc <= UCS_UDC_END) ? 0 : BAD) ;
-}
-
-/*---------------------------------------------------------------------------*/
-
-/*
- * This routine performs the conversion from a GB2312 code to GB2312-GL
- * code.
- */
-NA_EIDPROC
-int
-__gb2312_to_gb2312gl(WChar_t code) //JAC
-{
-    if (code > 0xff)
-	return(code & 0x7f7f) ;
-    return(BAD) ;
-}
-
-/*
- * This routine performs the conversion from a GB2312 code to GB2312-GR
- * code.
- */
-NA_EIDPROC
-int
-__gb2312_to_gb2312gr(WChar_t code) //JAC
-{
-    if (code > 0xff)
-	return(code) ;
-    return(BAD) ;
-}
-#endif // Don't need these since we chose to support GBK (a superset of GB2312) instead

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7a085965/core/sql/common/swscanf.cpp
----------------------------------------------------------------------
diff --git a/core/sql/common/swscanf.cpp b/core/sql/common/swscanf.cpp
index 109490b..ccf82cb 100644
--- a/core/sql/common/swscanf.cpp
+++ b/core/sql/common/swscanf.cpp
@@ -1,41 +1,4 @@
-/* -*-C++-*-
-// @@@ START COPYRIGHT @@@
-//
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-//
-// @@@ END COPYRIGHT @@@
- *****************************************************************************
- *
- * File:         swscanf.h
- * Description:  SQL/MX wide-char swscanf() function, modified based on 
- *               NetBSD __svfscanf.c found at 
- *               http://www.ajk.tele.fi/libc/stdio/vfscanf.c.html#__svfscanf
- * Created:      2/13/2002
- * Language:     C++
- * Limitation:   
- *
- *
- *
- *
- *****************************************************************************
- */
-
-/*-
+/* -*-C++-*- 
  * Copyright (c) 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
  *
@@ -71,6 +34,22 @@
  * SUCH DAMAGE.
  */
 
+ /*****************************************************************************
+  *
+  * File:         swscanf.h
+  * Description:  SQL/MX wide-char swscanf() function, modified based on 
+  *               NetBSD __svfscanf.c found at 
+  *               http://www.ajk.tele.fi/libc/stdio/vfscanf.c.html#__svfscanf
+  * Created:      2/13/2002
+  * Language:     C++
+  * Limitation:   
+  *
+  *
+  *
+  *
+  *****************************************************************************
+ */
+
 //LCOV_EXCL_START  // Used only by .../sqlutils/metamigr/MIGRATE.cpp which is not used in SQ
 
 /* commented out the useless static data structure.*/

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7a085965/core/sql/common/swsprintf.cpp
----------------------------------------------------------------------
diff --git a/core/sql/common/swsprintf.cpp b/core/sql/common/swsprintf.cpp
index f428671..22b6102 100644
--- a/core/sql/common/swsprintf.cpp
+++ b/core/sql/common/swsprintf.cpp
@@ -1,47 +1,5 @@
-/**********************************************************************
-// @@@ START COPYRIGHT @@@
-//
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-//
-// @@@ END COPYRIGHT @@@
-**********************************************************************/
-
 /* -*-C++-*-
- *****************************************************************************
- *
- * File:         swsprintf.h
- * Description:  SQL/MX wide-char swsprintf() function, adapted from NetBSD vfprintf.c
- *               found at http://www.ajk.tele.fi/libc/stdio/vfprintf.c.html#vfprintf.
- * Created:      2/13/2002
- * Language:     C++
- * Limitation:   Floating point numbers are not supported. 
- *
- *
- *
- *
- *****************************************************************************
- */
-
-/* <- Back to the Main Page 
- */
-/*	$NetBSD: vfprintf.c,v 1.18 1997/04/02 12:50:25 kleink Exp $	*/
-
-/*-
+ *-
  * Copyright (c) 1990 The Regents of the University of California.
  * All rights reserved.
  *
@@ -77,6 +35,25 @@
  * SUCH DAMAGE.
  */
 
+/*	$NetBSD: vfprintf.c,v 1.18 1997/04/02 12:50:25 kleink Exp $	*/
+
+/*****************************************************************************
+ *
+ * File:         swsprintf.h
+ * Description:  SQL/MX wide-char swsprintf() function, adapted from NetBSD vfprintf.c
+ *               found at http://www.ajk.tele.fi/libc/stdio/vfprintf.c.html#vfprintf.
+ * Created:      2/13/2002
+ * Language:     C++
+ * Limitation:   Floating point numbers are not supported. 
+ *
+ *
+ *
+ *
+ *****************************************************************************
+ */
+
+/* <- Back to the Main Page 
+ */
 /* commented out because of static data structure */
 //#if defined(LIBC_SCCS) && !defined(lint)
 ///*static char *sccsid = "from: @(#)vfprintf.c	5.50 (Berkeley) 12/16/92";*/

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7a085965/core/sql/parser/ulexer.h
----------------------------------------------------------------------
diff --git a/core/sql/parser/ulexer.h b/core/sql/parser/ulexer.h
index 652ccfe..16b9795 100644
--- a/core/sql/parser/ulexer.h
+++ b/core/sql/parser/ulexer.h
@@ -1,34 +1,4 @@
-/**********************************************************************
-// @@@ START COPYRIGHT @@@
-//
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-//
-// @@@ END COPYRIGHT @@@
-**********************************************************************/
-// ULexer.h -- define interfaces for Unicode lexical analyzer class (tcr)
-
-// Flex (version 2.5.4a and earlier) does not support Unicode. Our attempts
-// at extending flex to generate a Unicode scanner were unsuccessful. So, we 
-// hand-code a Unicode scanner for SQL/MX but retain the flex C++ scanner
-// class interface (defined in flexlexer.h)
-
-
-// The original flex C++ scanner class interface has these copyrights:
+/**********************************************************************/
 // Copyright (c) 1993 The Regents of the University of California.
 // All rights reserved.
 //
@@ -47,6 +17,13 @@
 // this software without specific prior written permission.
 
 
+// ULexer.h -- define interfaces for Unicode lexical analyzer class (tcr)
+
+// Flex (version 2.5.4a and earlier) does not support Unicode. Our attempts
+// at extending flex to generate a Unicode scanner were unsuccessful. So, we 
+// hand-code a Unicode scanner for SQL/MX but retain the flex C++ scanner
+// class interface (defined in flexlexer.h)
+
 // This file defines ULexer, an abstract class which specifies the
 // external interface provided to Unicode C++ lexer objects, and yyULexer,
 // which defines a particular lexer class.

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7a085965/core/sql/regress/newregr/card/runregr_card.ksh
----------------------------------------------------------------------
diff --git a/core/sql/regress/newregr/card/runregr_card.ksh b/core/sql/regress/newregr/card/runregr_card.ksh
index 8a7c7cd..915a33d 100644
--- a/core/sql/regress/newregr/card/runregr_card.ksh
+++ b/core/sql/regress/newregr/card/runregr_card.ksh
@@ -19,13 +19,6 @@
 --
 -- @@@ END COPYRIGHT @@@
 #! /bin/sh
-################################################################################
-# @@@ START COPYRIGHT @@@
-#
-# (C) Copyright 2003-2007 Hewlett-Packard Development Company, L.P.
-#
-# @@@ END COPYRIGHT @@@
-################################################################################
 
 ################################################################################
 #              CARDINALITY REGRESSION TEST SUITE                  

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7a085965/core/sql/regress/newregr/mvs/BIG/expectedmv215_RU
----------------------------------------------------------------------
diff --git a/core/sql/regress/newregr/mvs/BIG/expectedmv215_RU b/core/sql/regress/newregr/mvs/BIG/expectedmv215_RU
deleted file mode 100644
index 4b6a6a7..0000000
--- a/core/sql/regress/newregr/mvs/BIG/expectedmv215_RU
+++ /dev/null
@@ -1,480 +0,0 @@
--- @@@ START COPYRIGHT @@@
---
--- Licensed to the Apache Software Foundation (ASF) under one
--- or more contributor license agreements.  See the NOTICE file
--- distributed with this work for additional information
--- regarding copyright ownership.  The ASF licenses this file
--- to you under the Apache License, Version 2.0 (the
--- "License"); you may not use this file except in compliance
--- with the License.  You may obtain a copy of the License at
---
---   http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing,
--- software distributed under the License is distributed on an
--- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
--- KIND, either express or implied.  See the License for the
--- specific language governing permissions and limitations
--- under the License.
---
--- @@@ END COPYRIGHT @@@
--- @@@ START COPYRIGHT @@@
---
->>
->>obey TESTMV215_RU(SET_UP);
->>----------------------------------------------
->>control query default insert_vsbb 'OFF';
-
---- SQL operation complete.
->>set PARSERFLAGS 1;
->>
->>set schema cat.tpcd;
-
---- SQL operation complete.
->>
->>obey ./TPCD/CREATEALL.OBEY(SET_UP);
->>
->>create catalog cat;
-
-*** ERROR[1035] Catalog CAT already exists.
-
---- SQL operation completed with errors.
->>create schema cat.tpcd;
-
-*** ERROR[1022] Schema CAT.TPCD already exists.
-
---- SQL operation completed with errors.
->>cd ./TPCD;
->>
->>set schema CAT.TPCD;
-
---- SQL operation complete.
->>set envvar DSS_CONFIG . ;
->>-- change all of these lines together if needed
->>#ifNSK
->>set envvar DSS_TEMP ./TPCDTEMP;
->>sh mkdir $DSS_TEMP;
->>#ifNSK
->>#ifNT
->>set envvar DSS_TEMP .\TPCDTEMP;
->>sh mkdir %DSS_TEMP% ;
->>sh cp %DSS_CONFIG%\dbgen.exe %DSS_TEMP% ;
->>sh cp %DSS_CONFIG%\Dists.dss %DSS_TEMP% ;
->>sh cp %DSS_CONFIG%\*.fmt %DSS_TEMP% ;
->>sh cp %DSS_CONFIG%\generateTpcd.ksh %DSS_TEMP% ;
->>sh cp %DSS_CONFIG%\*.awk %DSS_TEMP% ;
->>sh cp %DSS_CONFIG%\runGen.pl %DSS_TEMP% ;
->>#ifNT
->>
->>cd TPCDTEMP;
->>
->>log SQLCI.LOG clear;
->>
->>-- Run Tests
->>	set schema cat.tpcd;
-
---- SQL operation complete.
->>	obey TESTMV215_RU(TEST1);
->>-------------------------------------------------------
->>-- Basic Q5
->>-- for compare 
->>
->>
->>refresh mv4q5;
-
---- SQL operation complete.
->>log;
-
-The materialized view CAT.TPCD.MV4Q5 is being refreshed in a single transaction...
-
-The materialized view CAT.TPCD.MV4Q5 was found up to date.
-Starting the log cleanup of table CAT.TPCD.REGION...
-
-Finished the log cleanup of table CAT.TPCD.REGION.
-
-Starting the log cleanup of table CAT.TPCD.NATION...
-
-Finished the log cleanup of table CAT.TPCD.NATION.
-
-Starting the log cleanup of table CAT.TPCD.ORDERS...
-
-Finished the log cleanup of table CAT.TPCD.ORDERS.
-
-Starting the log cleanup of table CAT.TPCD.LINEITEM...
-
-Finished the log cleanup of table CAT.TPCD.LINEITEM.
-
-Starting the log cleanup of table CAT.TPCD.SUPPLIER...
-
-Finished the log cleanup of table CAT.TPCD.SUPPLIER.
-
-Starting the log cleanup of table CAT.TPCD.CUSTOMER...
-
-Finished the log cleanup of table CAT.TPCD.CUSTOMER.
-
-
->>PREPARE stat1 FROM 
-+>	select n_name, sum(l_extendedprice*(1-l_discount)) as revenue,count(*) rows_in_group
-+>	from customer,orders,lineitem,supplier,nation, region
-+>	where
-+>	    c_custkey = o_custkey
-+>	    and o_orderkey = l_orderkey
-+>	    and l_suppkey = s_suppkey
-+>	    and c_nationkey= s_nationkey
-+>	    and s_nationkey = n_nationkey
-+>	    and n_regionkey = r_regionkey
-+>	    and r_name in ('ASIA','AMERICA','EUROPE','MIDDLE EAST','AFRICA')
-+>	    and o_orderdate >= date '1994-01-01'
-+>	    and o_orderdate < date '1994-01-01' + interval '3' year
-+>	group by n_name
-+>	order by n_name,revenue desc ;
-
---- SQL command prepared.
->>
->>PREPARE stat2 FROM 
-+>	select n_name,revenue,rows_in_group
-+>	from mv4q5 
-+>	order by n_name,revenue desc;
-
---- SQL command prepared.
->>
->>log;
-1,2c1,2
-< >>  log TEMP1;
-< >>  execute stat1;
----
-> >>  log TEMP2;
-> >>  execute stat2;
->>
->>SET PARAM ?table_name 'SUPPLIER';
->>execute select_mvs_table_info;
-
-CURRENT_EPOCH  MV_ATTRIBUTES_BITMAP  IS_LOCKONREFRESH  IS_INSERTLOG  RANGELOG_TYPE  MVSALLOWED_TYPE
--------------  --------------------  ----------------  ------------  -------------  ---------------
-
-          104                466965  Y                 N             N              A              
-
---- 1 row(s) selected.
->>log;
-
-NonStop SQL/MX Import Utility 1.0
-Copyright (c) 1997-1999 Compaq Computer Corporation. All Rights Reserved.
-
-Rows Imported = 5
-
-Import Completed Successfully
->>
->>-- should be equal to 5
->>select count(*) from table(iud_log_table cat.tpcd.supplier);
-
-(EXPR)              
---------------------
-
-                   5
-
---- 1 row(s) selected.
->>
->>REFRESH mv4q5;
-
---- SQL operation complete.
->>log;
-
-The materialized view CAT.TPCD.MV4Q5 is being refreshed in a single transaction...
-
-The materialized view CAT.TPCD.MV4Q5 has been refreshed in a single transaction.
-
-Starting the log cleanup of table CAT.TPCD.REGION...
-
-Finished the log cleanup of table CAT.TPCD.REGION.
-
-Starting the log cleanup of table CAT.TPCD.NATION...
-
-Finished the log cleanup of table CAT.TPCD.NATION.
-
-Starting the log cleanup of table CAT.TPCD.ORDERS...
-
-Finished the log cleanup of table CAT.TPCD.ORDERS.
-
-Starting the log cleanup of table CAT.TPCD.LINEITEM...
-
-Finished the log cleanup of table CAT.TPCD.LINEITEM.
-
-Starting the log cleanup of table CAT.TPCD.SUPPLIER...
-
-Finished the log cleanup of table CAT.TPCD.SUPPLIER.
-
-Starting the log cleanup of table CAT.TPCD.CUSTOMER...
-
-Finished the log cleanup of table CAT.TPCD.CUSTOMER.
-
-
->>
->>log;
-1,2c1,2
-< >>  log TEMP1;
-< >>  execute stat1;
----
-> >>  log TEMP2;
-> >>  execute stat2;
->>
->>log;
-
-NonStop SQL/MX Import Utility 1.0
-Copyright (c) 1997-1999 Compaq Computer Corporation. All Rights Reserved.
-
-Rows Imported = 75
-
-Import Completed Successfully
->>
->>update customer
-+>set c_nationkey = 12 -- 'JAPAN'
-+>where c_nationkey = 10 and c_acctbal < 4000;
-
---- 14 row(s) updated.
->>
->>
->>update customer
-+>set c_nationkey = 10 -- 'IRAN'
-+>where c_nationkey = 12 and c_acctbal > 3000;
-
---- 18 row(s) updated.
->>
->>update customer
-+>set c_nationkey = 12 -- 'IRAN'
-+>where c_nationkey = 12 and c_acctbal < 2500;
-
---- 14 row(s) updated.
->>
->>
->>Refresh mv4q5;
-
---- SQL operation complete.
->>log;
->>
->>log;
-1,2c1,2
-< >>  log TEMP1;
-< >>  execute stat1;
----
-> >>  log TEMP2;
-> >>  execute stat2;
->>
->>	obey TESTMV215_RU(TEST2);
->>-- Basic Q9
->>
->>
->>REFRESH mv4q9;
-
---- SQL operation complete.
->>log;
->>log;
-1,2c1,2
-< >>  log TEMP1;
-< >>  execute stat1;
----
-> >>  log TEMP2;
-> >>  execute stat2;
->>
->>--parts
->>
->>log;
-
-NonStop SQL/MX Import Utility 1.0
-Copyright (c) 1997-1999 Compaq Computer Corporation. All Rights Reserved.
-
-Rows Imported = 100
-
-Import Completed Successfully
->>
->>--CREATE TANDEM_CAT_REQUEST&1 16 3 @cat.tpcd.part@ @1@ @0@ ;
->>
->>REFRESH mv4q9;
-
---- SQL operation complete.
->>log;
->>log;
-1,2c1,2
-< >>  log TEMP1;
-< >>  execute stat1;
----
-> >>  log TEMP2;
-> >>  execute stat2;
->>
->>-- partsupp
->>log;
-
-NonStop SQL/MX Import Utility 1.0
-Copyright (c) 1997-1999 Compaq Computer Corporation. All Rights Reserved.
-
-Rows Imported = 400
-
-Import Completed Successfully
->>
->>REFRESH mv4q9;
-
---- SQL operation complete.
->>log;
->>log;
-1,2c1,2
-< >>  log TEMP1;
-< >>  execute stat1;
----
-> >>  log TEMP2;
-> >>  execute stat2;
->>
->>-- lineitem
->>log;
-
-NonStop SQL/MX Import Utility 1.0
-Copyright (c) 1997-1999 Compaq Computer Corporation. All Rights Reserved.
-
-Rows Imported = 2500
-
-Import Completed Successfully
->>
->>
->>REFRESH mv4q9;
-
---- SQL operation complete.
->>log;
->>
->>log;
-1,2c1,2
-< >>  log TEMP1;
-< >>  execute stat1;
----
-> >>  log TEMP2;
-> >>  execute stat2;
->>
->>-- Clean and exit
->>obey TESTMV215(CLEAN_UP);
->>-----------------------------------------------------
->>
->>
->>set schema cat.tpcd;
-
---- SQL operation complete.
->>obey ./TPCD/CREATEMVS(DROPALL);
->>drop mv cat3.testing.mv4q67;
-
-*** ERROR[1002] Catalog CAT3 does not exist or has not been registered on node \NSK.
-
-*** ERROR[1031] Object CAT3.TESTING.MV4Q67 could not be dropped.
-
---- SQL operation completed with errors.
->>drop mv mv4q17;
-
---- SQL operation complete.
->>drop mv mv4q15;
-
---- SQL operation complete.
->>drop mv mv4q12;
-
---- SQL operation complete.
->>drop mv mv4q11;
-
---- SQL operation complete.
->>drop mv mv4q10;
-
---- SQL operation complete.
->>drop mv mv4q9;
-
---- SQL operation complete.
->>drop mv mv4q7;
-
-*** ERROR[1004] Table, view, or stored procedure CAT.TPCD.MV4Q7 does not exist or object type is invalid for the current operation.
-
-*** ERROR[1031] Object CAT.TPCD.MV4Q7 could not be dropped.
-
---- SQL operation completed with errors.
->>drop mv mv4q6;
-
---- SQL operation complete.
->>drop mv mv4q5;
-
---- SQL operation complete.
->>drop mv mv4q3;
-
---- SQL operation complete.
->>drop mv mv4q1;
-
---- SQL operation complete.
->>
->>
->>--------------------------
->>drop table cat3.details.partsupp;
-
-*** ERROR[1002] Catalog CAT3 does not exist or has not been registered on node \NSK.
-
-*** ERROR[1031] Object CAT3.DETAILS.PARTSUPP could not be dropped.
-
---- SQL operation completed with errors.
->>drop table cat3.details.supplier;
-
-*** ERROR[1002] Catalog CAT3 does not exist or has not been registered on node \NSK.
-
-*** ERROR[1031] Object CAT3.DETAILS.SUPPLIER could not be dropped.
-
---- SQL operation completed with errors.
->>drop table cat3.geography.nation;
-
-*** ERROR[1002] Catalog CAT3 does not exist or has not been registered on node \NSK.
-
-*** ERROR[1031] Object CAT3.GEOGRAPHY.NATION could not be dropped.
-
---- SQL operation completed with errors.
->>drop schema cat3.details;
-
-*** ERROR[1002] Catalog CAT3 does not exist or has not been registered on node \NSK.
-
-*** ERROR[1069] Schema CAT3.DETAILS could not be dropped.
-
---- SQL operation completed with errors.
->>drop schema cat3.geography;
-
-*** ERROR[1002] Catalog CAT3 does not exist or has not been registered on node \NSK.
-
-*** ERROR[1069] Schema CAT3.GEOGRAPHY could not be dropped.
-
---- SQL operation completed with errors.
->>drop schema cat3.testing;
-
-*** ERROR[1002] Catalog CAT3 does not exist or has not been registered on node \NSK.
-
-*** ERROR[1069] Schema CAT3.TESTING could not be dropped.
-
---- SQL operation completed with errors.
->>drop catalog cat3;
-
-*** ERROR[1002] Catalog CAT3 does not exist or has not been registered on node \NSK.
-
---- SQL operation completed with errors.
->>obey ./TPCD/CREATEALL.OBEY(CLEAN_UP);
->>
->>drop table customer;
-
---- SQL operation complete.
->>drop table supplier;
-
---- SQL operation complete.
->>drop table lineitem;
-
---- SQL operation complete.
->>drop table orders;
-
---- SQL operation complete.
->>drop table part;
-
---- SQL operation complete.
->>drop table partsupp;
-
---- SQL operation complete.
->>drop table nation;
-
---- SQL operation complete.
->>drop table region;
-
---- SQL operation complete.
->>
->>-- ---------------------------------------------------------------------------
->>log;