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;