summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorDavid Major <David.Major@Sun.COM>2009-01-27 14:57:07 -0600
committerDavid Major <David.Major@Sun.COM>2009-01-27 14:57:07 -0600
commit567efe8f470c9c93665b920d7250a7b822bcd542 (patch)
tree752a9fe591a0ab59e2a27c71f405319a3cdcb434 /usr/src
parent76a25faf87ed2ec1e6fe59678a2833de727b6759 (diff)
downloadillumos-gate-567efe8f470c9c93665b920d7250a7b822bcd542.tar.gz
6791534 MMS move to use Postgres 8.3
6791744 SUNWmmsu package dependency issue with SUNWpostgr-libs due to Postgr 8.1 EOF in snv_107. 6587583 db text variables with check need not null
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/mms/mm/Makefile.com11
-rw-r--r--usr/src/cmd/mms/mm/common/mms_db927
-rw-r--r--usr/src/cmd/mms/mms.xml6
-rw-r--r--usr/src/cmd/mms/mmsdb4
-rw-r--r--usr/src/cmd/mms/utility/explorer/mmsexplorer32
-rw-r--r--usr/src/lib/mms/mgmt/common/mgmt_mm.c17
-rw-r--r--usr/src/lib/mms/mgmt/common/mgmt_mmsdb.c104
-rw-r--r--usr/src/lib/mms/pg/Makefile.com4
-rw-r--r--usr/src/lib/mms/pg/common/mapfile-vers3
-rw-r--r--usr/src/lib/mms/pg/common/pg_host_ident.c37
-rw-r--r--usr/src/lib/mms/pg/common/pg_uuid.c19
-rw-r--r--usr/src/pkgdefs/SUNWmmsu/depend5
-rw-r--r--usr/src/tools/scripts/check_rtime.pl7
13 files changed, 388 insertions, 788 deletions
diff --git a/usr/src/cmd/mms/mm/Makefile.com b/usr/src/cmd/mms/mm/Makefile.com
index 0738c63770..82170f04cd 100644
--- a/usr/src/cmd/mms/mm/Makefile.com
+++ b/usr/src/cmd/mms/mm/Makefile.com
@@ -20,7 +20,7 @@
#
#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
@@ -42,16 +42,13 @@ ROOTCMDDIR= $(ROOT)/lib/svc/method
CPPFLAGS += -DMMS_OPENSSL
CPPFLAGS += -I. -I../common -I$(SRC)/common/mms/mms
CPPFLAGS += -I$(SRC)/lib/mms/mms/common -I$(SRC)/lib/mms/mms/common
-CPPFLAGS += -I/usr/include/libxml2 -I/usr/include/pgsql
+CPPFLAGS += -I/usr/include/libxml2 -I/usr/postgres/8.3/include
CFLAGS += $(CTF_FLAGS) $(CC_VERBOSE)
-LDLIBS += -lc -lsocket -lnsl -luuid $(ZIGNORE) -lpq
-LDLIBS += -lxml2 -lscf
+LDLIBS += -lc -lsocket -lnsl -luuid $(ZIGNORE)
+LDLIBS += -lxml2 -lscf -L/usr/postgres/8.3/lib -lpq -R/usr/postgres/8.3/lib
LDLIBS += -L$(SRC)/lib/mms/mms/$(MACH) -lmms -R/usr/lib
-LDFLAGS += $(ZIGNORE)
-DYNFLAGS += $(ZIGNORE)
-
C99MODE= $(C99_ENABLE)
# The mm database schema with database versions
diff --git a/usr/src/cmd/mms/mm/common/mms_db b/usr/src/cmd/mms/mm/common/mms_db
index 4bafffd6f3..f705c98a2b 100644
--- a/usr/src/cmd/mms/mm/common/mms_db
+++ b/usr/src/cmd/mms/mm/common/mms_db
@@ -19,7 +19,7 @@
# CDDL HEADER END
#
#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#
@@ -28,6 +28,7 @@
# MMS Data Model:
# IEEE MMS Std. 1244.1-2000 sections 11-19 relational database model.
# Each MMS object is a SQL table.
+# Each MMS object attribute is a SQL table column.
# Each MMS object instance is a SQL table row.
#
# MMS Data Model Modifications:
@@ -60,8 +61,7 @@
# Load PostgreSQL PL/pgSQL Language
#
1u CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler
- LANGUAGE 'C' AS
- '/usr/lib/plpgsql.so';
+ LANGUAGE 'C' AS 'plpgsql.so';
1u CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler
LANCOMPILER 'PL/pgSQL';
@@ -96,40 +96,39 @@
CONSTRAINT "ReadWriteMode_CC"
CHECK("ReadWriteMode" = 'fixed' OR
"ReadWriteMode" = 'variable')
- default 'fixed',
+ default 'fixed' NOT NULL,
"ValidateFileName" text
CONSTRAINT "ValidateFileName_CC"
CHECK("ValidateFileName" = 'yes' OR
"ValidateFileName" = 'no')
- default 'no',
+ default 'no' NOT NULL,
"ValidateVolumeID" text
CONSTRAINT "ValidateVolumeID_CC"
CHECK("ValidateVolumeID" = 'yes' OR
"ValidateVolumeID" = 'no')
- default 'yes',
+ default 'yes' NOT NULL,
"ValidateExpirationDate" text
CONSTRAINT "ValidateExpirationDate_CC"
CHECK("ValidateExpirationDate" = 'yes' OR
"ValidateExpirationDate" = 'no')
- default 'no',
+ default 'no' NOT NULL,
"SwitchLabel" text
CONSTRAINT "SwitchLabel_CC"
CHECK("SwitchLabel" = 'yes' OR
"SwitchLabel" = 'ask' OR
"SwitchLabel" = 'no')
- default 'yes',
+ default 'yes' NOT NULL,
"WriteOverExistingData" text
CONSTRAINT "WriteOverExistingData_CC"
CHECK("WriteOverExistingData" = 'yes' OR
"WriteOverExistingData" = 'ask' OR
"WriteOverExistingData" = 'no')
- default 'yes',
+ default 'yes' NOT NULL,
"Retention" integer
CONSTRAINT "Retention_CC"
CHECK("Retention" >= 0 AND
"Retention" <= 99999)
default 0,
- "Password" text,
CONSTRAINT "APPLICATION_PK" PRIMARY KEY("ApplicationName")
/* CLIENT-DEFINED */
);
@@ -151,7 +150,7 @@
CONSTRAINT "SessionsAllowed_CC"
CHECK("SessionsAllowed" = 'multiple' OR
"SessionsAllowed" = 'single')
- default 'single',
+ default 'single' NOT NULL,
"MessageLevel" text
CONSTRAINT "MessageLevel_CC"
CHECK("MessageLevel" = 'emergency' OR
@@ -163,7 +162,7 @@
"MessageLevel" = 'information' OR
"MessageLevel" = 'debug' OR
"MessageLevel" = 'developer')
- default 'error',
+ default 'error' NOT NULL,
CONSTRAINT "AI_PK" PRIMARY KEY("ApplicationName", "AIName")
/* CLIENT-DEFINED */
);
@@ -370,7 +369,12 @@
1u CREATE TABLE "EVENTRULES"(
"NotifyID" text,
- "NotifyObject" text
+ "NotifyObject" text,
+ "Data1" text,
+ "Data2" text,
+ "Data3" text,
+ "Data4" text,
+ "Data5" text
);
1u CREATE TABLE "LIBRARY" (
@@ -380,47 +384,68 @@
CHECK("LibraryDisabled" = 'true' OR
"LibraryDisabled" = 'false' OR
"LibraryDisabled" = 'temporary')
- default 'false',
+ default 'false' NOT NULL,
"LibraryBroken" boolean
default 'false' NOT NULL,
"LMName" text,
"LibraryStateHard" text
CONSTRAINT "LibraryStateHard_CC"
CHECK("LibraryStateHard" = 'unknown')
- default 'unknown',
+ default 'unknown' NOT NULL,
"LibraryStateSoft" text
CONSTRAINT "LibraryStateSoft_CC"
CHECK("LibraryStateSoft" = 'ready' OR
"LibraryStateSoft" = 'in use')
- default 'ready',
+ default 'ready' NOT NULL,
"LibraryOnline" text
CONSTRAINT "LibraryOnline_CC"
CHECK("LibraryOnline" = 'true' OR
"LibraryOnline" = 'false')
- default 'false',
+ default 'false' NOT NULL,
"LibraryType" text,
"LibraryConnection" text
CONSTRAINT "LibraryConnection_CC"
CHECK("LibraryConnection" = 'network' OR
- "LibraryConnection" = 'direct')
- default 'network',
+ "LibraryConnection" = 'direct'),
"LibraryIP" text,
"LibraryPath" text,
"LibraryACS" text,
+ "LibraryLSM" text,
+ "LibrarySerialNumber" text,
+ "LibraryACSLSPort" int,
+ "DefaultLibraryPath" text,
CONSTRAINT "LIBRARY_PK" PRIMARY KEY("LibraryName")
/* SYSTEM-DEFINED */
);
+1u CREATE TABLE "LIBRARYACCESS"(
+ "LibraryName" text
+ CONSTRAINT "LibraryName_CC"
+ REFERENCES "LIBRARY",
+ "HostName" text
+ CONSTRAINT "HostName_CC"
+ CHECK("HostName" != 'localhost' AND
+ "HostName" != '127.0.0.1' AND
+ "HostName" != '::1')
+ NOT NULL,
+ "LibraryPath" text
+ NOT NULL,
+ CONSTRAINT "LIBRARYACCESS_PK"
+ PRIMARY KEY("LibraryName", "HostName")
+);
+
1u CREATE TABLE "LM" (
"LibraryName" text
CONSTRAINT "LibraryName_CC"
REFERENCES "LIBRARY",
"LMName" text,
"LMHost" text,
- "LMTargetLibrary" text,
"LMTargetPath" text,
- "LMTargetHost" text,
- "LMPassword" text,
+ "LMTargetHost" text
+ CONSTRAINT "LMTargetHost_CC"
+ CHECK("LMTargetHost" != 'localhost' AND
+ "LMTargetHost" != '127.0.0.1' AND
+ "LMTargetHost" != '::1'),
"LMMessageLevel" text
CONSTRAINT "LMMessageLevel_CC"
CHECK("LMMessageLevel" = 'emergency' OR
@@ -432,12 +457,12 @@
"LMMessageLevel" = 'information' OR
"LMMessageLevel" = 'debug' OR
"LMMessageLevel" = 'developer')
- default 'error',
+ default 'error' NOT NULL,
"LMStateHard" text
CONSTRAINT "LMStateHard_CC"
CHECK("LMStateHard" = 'ready' OR
"LMStateHard" = 'broken')
- default 'ready',
+ default 'ready' NOT NULL,
"LMStateSoft" text
CONSTRAINT "LMStateSoft_CC"
CHECK("LMStateSoft" = 'absent' OR
@@ -445,12 +470,12 @@
"LMStateSoft" = 'not ready' OR
"LMStateSoft" = 'disconnected' OR
"LMStateSoft" = 'ready')
- default 'absent',
+ default 'absent' NOT NULL,
"LMDisabled" text
CONSTRAINT "LMDisabled_CC"
CHECK("LMDisabled" = 'false' OR
"LMDisabled" = 'true')
- default 'false',
+ default 'false' NOT NULL,
"TraceLevel" text
CONSTRAINT "TraceLevel_CC"
CHECK("TraceLevel" = 'emergency' OR
@@ -463,9 +488,13 @@
"TraceLevel" = 'information' OR
"TraceLevel" = 'debug' OR
"TraceLevel" = 'developer')
- default 'debug',
+ default 'debug' NOT NULL,
"TraceFileSize" text
default '10M',
+ "LMSSIPort" int
+ CONSTRAINT "LMSSIPort_CC"
+ CHECK("LMSSIPort" > 0)
+ default 50004,
CONSTRAINT "LM_PK" PRIMARY KEY("LMName")
/* SYSTEM-DEFINED */
);
@@ -522,7 +551,8 @@
"CartridgeTypeMediaType" = 'microcode' OR
"CartridgeTypeMediaType" = 'alignment' OR
"CartridgeTypeMediaType" = 'worm' OR
- "CartridgeTypeMediaType" = 'volsafe'),
+ "CartridgeTypeMediaType" = 'volsafe')
+ default 'data' NOT NULL,
"MaxUseCount" integer
CONSTRAINT "MaxUseCount_CC"
CHECK("MaxUseCount" >= 0)
@@ -545,13 +575,13 @@
"CartridgeState" = 'error' OR
"CartridgeState" = 'deallocated' OR
"CartridgeState" = 'recycled')
- default 'defined',
+ default 'defined' NOT NULL,
"CartridgeStatus" text
CONSTRAINT "CartridgeStatus_CC"
CHECK("CartridgeStatus" = 'in use' OR
"CartridgeStatus" = 'unavailable' OR
"CartridgeStatus" = 'available')
- default 'unavailable',
+ default 'unavailable' NOT NULL,
"CartridgeDriveOccupied" boolean
default 'false' NOT NULL,
"CartridgeTypeName" text
@@ -579,14 +609,22 @@
CHECK("CartridgeWriteProtected" = 'yes' OR
"CartridgeWriteProtected" = 'no' OR
"CartridgeWriteProtected" = 'unknown' )
- default 'unknown',
- "CartridgeRecovededReads" text
+ default 'unknown' NOT NULL,
+ "CartridgeRecoveredReads" integer
+ CONSTRAINT "CartridgeRecoveredReads_CC"
+ CHECK("CartridgeRecoveredReads" >= 0)
default '0',
- "CartridgeRecovededWrites" text
+ "CartridgeRecoveredWrites" integer
+ CONSTRAINT "CartridgeRecoveredWrites_CC"
+ CHECK("CartridgeRecoveredWrites" >= 0)
default '0',
- "CartridgeUnrecovededReads" text
+ "CartridgeUnrecoveredReads" integer
+ CONSTRAINT "CartridgeUnrecoveredReads_CC"
+ CHECK("CartridgeUnrecoveredReads" >= 0)
default '0',
- "CartridgeUnrecovededWrites" text
+ "CartridgeUnrecoveredWrites" integer
+ CONSTRAINT "CartridgeUnrecoveredWrites_CC"
+ CHECK("CartridgeUnrecoveredWrites" >= 0)
default '0',
"CartridgeBytesRead" text
default '0',
@@ -596,7 +634,7 @@
CONSTRAINT "CartridgeMediaError_CC"
CHECK("CartridgeMediaError" = 'yes' OR
"CartridgeMediaError" = 'no' )
- default 'no',
+ default 'no' NOT NULL,
"ApplicationName" text
CONSTRAINT "ApplicationName_CC"
REFERENCES "APPLICATION",
@@ -674,7 +712,7 @@
"PartitionSignature" text
CONSTRAINT "PartitionSignature_CC"
CHECK("PartitionSignature" = 'undefined')
- default 'undefined',
+ default 'undefined' NOT NULL,
"PartitionSignatureState" text
CONSTRAINT "PartitionSignatureState_CC"
CHECK("PartitionSignatureState" = 'unimplemented' OR
@@ -684,7 +722,7 @@
"PartitionSignatureState" = 'application' OR
"PartitionSignatureState" = 'sysactive' OR
"PartitionSignatureState" = 'appactive')
- default 'unimplemented',
+ default 'unimplemented' NOT NULL,
"PartitionSignatureAlgorithm" text
default 'undefined',
"PartitionSignatureType" text,
@@ -696,7 +734,7 @@
"PartitionMediaSerialState" = 'uninitialized' OR
"PartitionMediaSerialState" = 'known' OR
"PartitionMediaSerialState" = 'unimplemented')
- default 'unknown',
+ default 'unknown' NOT NULL,
"PartitionNumberMounts" integer
CONSTRAINT "PartitionNumberMounts_CC"
CHECK("PartitionNumberMounts" >= 0)
@@ -709,14 +747,12 @@
default 0,
"PartitionTimeMountedLast" timestamp (3)
default '-infinity' NOT NULL,
- "PartitionEOFPosType" smallint
- default 0,
- "PartitionEOFPos" bigint,
+ "PartitionEOFPos" text,
"PartitionRWMode" text
CONSTRAINT "PartitionRWMode_CC"
CHECK("PartitionRWMode" = 'readonly' OR
"PartitionRWMode" = 'readwrite')
- default 'readwrite',
+ default 'readwrite' NOT NULL,
CONSTRAINT "PARTITION_FK"
FOREIGN KEY ("CartridgeID", "SideName") REFERENCES "SIDE",
CONSTRAINT "PARTITION_PK"
@@ -739,7 +775,7 @@
"LabelType" = 'ibm' OR
"LabelType" = 'nonlabeled' OR
"LabelType" = 'unknown')
- default 'unknown',
+ default 'unknown' NOT NULL,
"CartridgeID" text
CONSTRAINT "CartridgeID_CC"
REFERENCES "CARTRIDGE",
@@ -814,7 +850,7 @@
CHECK("DriveDisabled" = 'true' OR
"DriveDisabled" = 'false' OR
"DriveDisabled" = 'temporary')
- default 'false',
+ default 'false' NOT NULL,
"DriveBroken" boolean
default 'false' NOT NULL,
"DriveStateSoft" text
@@ -822,14 +858,14 @@
CHECK("DriveStateSoft" = 'in use' OR
"DriveStateSoft" = 'ready' OR
"DriveStateSoft" = 'unavailable')
- default 'unavailable',
+ default 'unavailable' NOT NULL,
"DriveStateHard" text
CONSTRAINT "DriveStateHard_CC"
CHECK("DriveStateHard" = 'loaded' OR
"DriveStateHard" = 'loading' OR
"DriveStateHard" = 'unloading' OR
"DriveStateHard" = 'unloaded')
- default 'unloaded',
+ default 'unloaded' NOT NULL,
"DriveTimeCreated" timestamp (3)
default current_timestamp NOT NULL,
"DriveTimeMountedLast" timestamp (3)
@@ -859,7 +895,7 @@
"DriveNeedsCleaning" = 'false' OR
"DriveNeedsCleaning" = 'advisory' OR
"DriveNeedsCleaning" = 'mandatory')
- default 'false',
+ default 'false' NOT NULL,
"MaxMounts" integer
CONSTRAINT "MaxMounts_CC"
CHECK("MaxMounts" >= 0)
@@ -870,7 +906,7 @@
CONSTRAINT "ReserveDrive_CC"
CHECK("ReserveDrive" = 'yes' OR
"ReserveDrive" = 'no')
- default 'yes',
+ default 'yes' NOT NULL,
"DefaultBlocksize" integer
CONSTRAINT "DefaultBlocksize_CC"
CHECK("DefaultBlocksize" >= 0)
@@ -879,6 +915,9 @@
"DriveSerialNum" text,
"DriveOnline" boolean
default 'false' NOT NULL,
+ "DriveVendorID" text,
+ "DriveProductID" text,
+ "DriveTypeName" text,
CONSTRAINT "DRIVE_PK" PRIMARY KEY("DriveName")
/* SYSTEM-DEFINED */
);
@@ -889,10 +928,12 @@
CONSTRAINT "DriveName_CC"
REFERENCES "DRIVE",
"DMHost" text,
- "DMTargetLibrary" text,
"DMTargetPath" text,
- "DMTargetHost" text,
- "DMPassword" text,
+ "DMTargetHost" text
+ CONSTRAINT "DMTargetHost_CC"
+ CHECK("DMTargetHost" != 'localhost' AND
+ "DMTargetHost" != '127.0.0.1' AND
+ "DMTargetHost" != '::1'),
"DMMessageLevel" text
CONSTRAINT "DMMessageLevel_CC"
CHECK("DMMessageLevel" = 'emergency' OR
@@ -904,12 +945,12 @@
"DMMessageLevel" = 'information' OR
"DMMessageLevel" = 'debug' OR
"DMMessageLevel" = 'developer')
- default 'error',
+ default 'error' NOT NULL,
"DMStateHard" text
CONSTRAINT "DMStateHard_CC"
CHECK("DMStateHard" = 'ready' OR
"DMStateHard" = 'broken')
- default 'ready',
+ default 'ready' NOT NULL,
"DMStateSoft" text
CONSTRAINT "DMStateSoft_CC"
CHECK("DMStateSoft" = 'absent' OR
@@ -918,12 +959,12 @@
"DMStateSoft" = 'disconnected' OR
"DMStateSoft" = 'ready' OR
"DMStateSoft" = 'reserved')
- default 'absent',
+ default 'absent' NOT NULL,
"DMDisabled" text
CONSTRAINT "DMDisabled_CC"
CHECK("DMDisabled" = 'false' OR
"DMDisabled" = 'true')
- default 'false',
+ default 'false' NOT NULL,
"TraceLevel" text
CONSTRAINT "TraceLevel_CC"
CHECK("TraceLevel" = 'emergency' OR
@@ -936,7 +977,7 @@
"TraceLevel" = 'information' OR
"TraceLevel" = 'debug' OR
"TraceLevel" = 'developer')
- default 'debug',
+ default 'debug' NOT NULL,
"TraceFileSize" text
default '10M',
CONSTRAINT "DM_PK" PRIMARY KEY("DMName")
@@ -1060,7 +1101,7 @@
CHECK("Type" = 'port' OR
"Type" = 'magazine' OR
"Type" = 'ordinary')
- default 'ordinary',
+ default 'ordinary' NOT NULL,
"LibraryName" text
CONSTRAINT "LibraryName_CC"
REFERENCES "LIBRARY",
@@ -1182,31 +1223,21 @@
);
1u CREATE TABLE "DRIVECARTRIDGEACCESS" (
- "DriveName" text
- CONSTRAINT "DriveName_CC"
- REFERENCES "DRIVE",
- "DMName" text
- CONSTRAINT "DMName_CC"
- REFERENCES "DM",
- "CartridgeID" text
- CONSTRAINT "CartridgeID_CC"
- REFERENCES "CARTRIDGE",
+ "DriveName" text,
+ "DMName" text,
+ "CartridgeID" text,
"SideName" text
NOT NULL,
"PartitionName" text
NOT NULL,
- "ApplicationName" text
- CONSTRAINT "ApplicationName_CC"
- REFERENCES "APPLICATION",
+ "ApplicationName" text,
"DriveCartridgeAccessTimeMount" timestamp (3)
default '-infinity' NOT NULL,
- "DriveCartridgeAccessTimeUnmm_mount" timestamp (3)
- default '-infinity' NOT NULL,
- "DriveCartridgeAccessByteReadCount" integer
+ "DriveCartridgeAccessByteReadCount" bigint
CONSTRAINT "DriveCartridgeAccessByteReadCount_CC"
CHECK("DriveCartridgeAccessByteReadCount" >= -1)
default -1,
- "DriveCartridgeAccessByteWriteCount" integer
+ "DriveCartridgeAccessByteWriteCount" bigint
CONSTRAINT "DriveCartridgeAccessByteWriteCount_CC"
CHECK("DriveCartridgeAccessByteWriteCount" >= -1)
default -1,
@@ -1226,10 +1257,49 @@
CONSTRAINT "DriveCartridgeAccessSoftWriteErrorCount_CC"
CHECK("DriveCartridgeAccessSoftWriteErrorCount" >= -1)
default -1,
- CONSTRAINT "DRIVECARTRIDGEACCESS_FK"
- FOREIGN KEY ("CartridgeID", "SideName", "PartitionName")
- REFERENCES "PARTITION"
+ "DriveCartridgeAccessTimeUnmount" timestamp (3)
+ default '-infinity' NOT NULL,
+ "DriveCartridgeAccessMediumByteReadCount" bigint
+ CONSTRAINT "DriveCartridgeAccessMediumByteReadCount_CC"
+ CHECK("DriveCartridgeAccessMediumByteReadCount" >= 0)
+ default 0,
+ "DriveCartridgeAccessMediumByteWriteCount" bigint
+ CONSTRAINT "DriveCartridgeAccessMediumByteWriteCount_CC"
+ CHECK("DriveCartridgeAccessMediumByteWriteCount" >= 0)
+ default 0,
+ "CartridgePCL" text,
+ "DriveSerialNum" text,
+ "CartridgeShapeName" text,
+ "DriveShapeName" text,
/* CLIENT-DEFINED */
+ CONSTRAINT "DRIVECARTRIDGEACCESS_PK"
+ PRIMARY KEY("CartridgeID", "DriveName",
+ "DriveCartridgeAccessTimeUnmount")
+);
+
+1u CREATE table "DRIVECARTRIDGEERROR" (
+ "DriveName" text,
+ "DMName" text,
+ "CartridgeID" text,
+ "SideName" text NOT NULL,
+ "PartitionName" text NOT NULL,
+ "ApplicationName" text,
+ "CartridgePCL" text,
+ "DriveSerialNum" text,
+ "CartridgeShapeName" text,
+ "DriveShapeName" text,
+ "CDB" text,
+ "SCSICommand" text,
+ "IOStatus" text,
+ "SenseKey" text,
+ "AdditionalSenseCode" text,
+ "AdditionalSenseCodeQualifier" text,
+ "SenseBytes" text,
+ "ErrorText" text,
+ "TimeStamp" timestamp (3)
+ default current_timestamp NOT NULL,
+ CONSTRAINT "DRIVECARTRIDGEERROR_PK"
+ PRIMARY KEY("DriveName","CartridgeID","TimeStamp")
);
1u CREATE TABLE "TASK" (
@@ -1293,7 +1363,8 @@
CHECK("MessageSenderType" = 'LM' OR
"MessageSenderType" = 'DM' OR
"MessageSenderType" = 'MM' OR
- "MessageSenderType" = 'AI'),
+ "MessageSenderType" = 'AI')
+ NOT NULL,
"MessageSenderName" text,
"MessageSenderInstance" text,
"MessageConnectionID" text,
@@ -1308,7 +1379,8 @@
"MessageLevel" = 'notice' OR
"MessageLevel" = 'information' OR
"MessageLevel" = 'debug' OR
- "MessageLevel" = 'developer'),
+ "MessageLevel" = 'developer')
+ NOT NULL,
"MessageManufacturer" text,
"MessageModel" text,
"MessageNumber" text,
@@ -1333,7 +1405,8 @@
CHECK("RequestingClientType" = 'LM' OR
"RequestingClientType" = 'DM' OR
"RequestingClientType" = 'MM' OR
- "RequestingClientType" = 'AI'),
+ "RequestingClientType" = 'AI')
+ NOT NULL,
"RequestPriority" integer
CONSTRAINT "RequestPriority_CC"
CHECK("RequestPriority" >= 0 AND
@@ -1343,7 +1416,7 @@
CHECK("RequestState" = 'pending' OR
"RequestState" = 'accepted' OR
"RequestState" = 'responded')
- default 'pending',
+ default 'pending' NOT NULL,
"RequestManufacturer" text,
"RequestModel" text,
"RequestNumber" text,
@@ -1386,7 +1459,7 @@
CONSTRAINT "AttendanceMode_CC"
CHECK("AttendanceMode" = 'attended' OR
"AttendanceMode" = 'unattended')
- default 'attended',
+ default 'attended' NOT NULL,
"SystemLogLevel" text
CONSTRAINT "SystemLogLevel_CC"
CHECK("SystemLogLevel" = 'emergency' OR
@@ -1398,7 +1471,7 @@
"SystemLogLevel" = 'information' OR
"SystemLogLevel" = 'debug' OR
"SystemLogLevel" = 'developer')
- default 'error',
+ default 'error' NOT NULL,
"SystemAcceptLevel" text
CONSTRAINT "SystemAcceptLevel_CC"
CHECK("SystemAcceptLevel" = 'emergency' OR
@@ -1410,7 +1483,7 @@
"SystemAcceptLevel" = 'information' OR
"SystemAcceptLevel" = 'debug' OR
"SystemAcceptLevel" = 'developer')
- default 'error',
+ default 'error' NOT NULL,
"SystemLogFile" text
default '/var/log/mms/system_log',
"SystemMessageLimit" integer
@@ -1445,18 +1518,18 @@
CONSTRAINT "ClearDriveAtLMConfig_CC"
CHECK("ClearDriveAtLMConfig" = 'yes' OR
"ClearDriveAtLMConfig" = 'no')
- default 'no',
+ default 'no' NOT NULL,
"AskClearDriveAtLMConfig" text
CONSTRAINT "AskClearDriveAtLMConfig_CC"
CHECK("AskClearDriveAtLMConfig" = 'yes' OR
"AskClearDriveAtLMConfig" = 'no')
- default 'yes',
+ default 'yes' NOT NULL,
"PreemptReservation" text
CONSTRAINT "PreemptReservation_CC"
CHECK("PreemptReservation" = 'yes' OR
"PreemptReservation" = 'ask' OR
"PreemptReservation" = 'no')
- default 'yes',
+ default 'yes' NOT NULL,
/* MM settings --> */
"MessageLevel" text
CONSTRAINT "MessageLevel_CC"
@@ -1469,7 +1542,7 @@
"MessageLevel" = 'information' OR
"MessageLevel" = 'debug' OR
"MessageLevel" = 'developer')
- default 'error',
+ default 'error' NOT NULL,
"TraceLevel" text
CONSTRAINT "TraceLevel_CC"
CHECK("TraceLevel" = 'emergency' OR
@@ -1482,7 +1555,7 @@
"TraceLevel" = 'information' OR
"TraceLevel" = 'debug' OR
"TraceLevel" = 'developer')
- default 'debug',
+ default 'debug' NOT NULL,
"TraceFileSize" text
default '10M',
"SocketFdLimit" integer
@@ -1499,6 +1572,23 @@
CONSTRAINT "DefaultBlocksize_CC"
CHECK("DefaultBlocksize" >= 0)
default '262144',
+ "SystemDiskMountTimeout" integer
+ CONSTRAINT "SystemDiskMountTimeout_CC"
+ CHECK("SystemDiskMountTimeout" >= 0)
+ default 5,
+ "WatcherStartsLimit" integer
+ CONSTRAINT "WatcherStartsLimit_CC"
+ CHECK("WatcherStartsLimit" >= 3 OR
+ "WatcherStartsLimit" = -1)
+ default 3,
+ "WatcherTimeLimit" integer
+ CONSTRAINT "WatcherTimeLimit_CC"
+ CHECK("WatcherTimeLimit" >= 60)
+ default 60,
+ "DriveRecordRetention" integer
+ CONSTRAINT "DriveRecordRetention_CC"
+ CHECK("DriveRecordRetention" >= 1)
+ default 30,
CONSTRAINT "SYSTEM_PK" PRIMARY KEY("Administrator")
/* SYSTEM-DEFINED */
);
@@ -1534,14 +1624,6 @@
"DBVersion" integer
CONSTRAINT "DBVersion_CC"
CHECK("DBVersion" >= 1)
- default '1',
-
- /* DBDevelopmentVersion is used to create a new base */
- /* database version 1 upgrade by dropping the database, */
- /* read the "how to" instructions below. */
- "DBDevelopmentVersion" integer
- CONSTRAINT "DBDevelopmentVersion"
- CHECK("DBDevelopmentVersion" >= 1)
default '1'
);
@@ -2239,360 +2321,29 @@
before insert or update or delete on "VOLUME"
for row execute procedure mm_func_insert_event();
-# Initialize Database
-1u INSERT INTO "APPLICATION" ("ApplicationName") VALUES ('MMS');
-
-1u INSERT INTO "AI" ("AIName", "ApplicationName", "PrivilegeChangeable",
- "DefaultPriority", "SessionsAllowed")
- VALUES ('admin', 'MMS', 'true', '0', 'multiple');
-
-1u INSERT INTO "AI" ("AIName", "ApplicationName", "PrivilegeChangeable",
- "DefaultPriority", "SessionsAllowed")
- VALUES ('oper', 'MMS', 'true', '0', 'multiple');
-
-1u INSERT INTO "AI" ("AIName", "ApplicationName", "PrivilegeChangeable",
- "DefaultPriority", "SessionsAllowed")
- VALUES('watcher', 'MMS', 'true', '0', 'multiple');
-
-1u INSERT INTO "SYSTEM" ("Administrator") VALUES ('admin');
-
-1u CREATE FUNCTION mm_system_defined_init() RETURNS boolean AS '
- DECLARE
- -- MMS objects with user or system defined attributes
- table text[] = ''{ "APPLICATION", "AI", "SESSION", "LIBRARY",
- "LM", "SLOTTYPE", "CARTRIDGEGROUP", "CARTRIDGETYPE",
- "CARTRIDGE", "SIDE", "PARTITION", "VOLUME",
- "DRIVEGROUP", "DRIVE", "DM", "DMCAPABILITY",
- "DRIVECARTRIDGEACCESS", "SYSTEM", NULL }'';
- i integer = 1;
- BEGIN
- -- Save MMS system defined object attributes
- WHILE table[i] IS NOT NULL LOOP
- INSERT INTO "SYSTEM_DEFINED" (objname,attribute)
- SELECT table[i],attname FROM pg_attribute
- WHERE (attrelid = (select oid
- FROM pg_class WHERE
- relname = table[i])) AND attname ~ ''^[A-Z]'';
- i := i + 1;
- END LOOP;
- RETURN true;
- END;
- ' LANGUAGE 'plpgsql';
-
-1u SELECT mm_system_defined_init();
-
-1u DROP FUNCTION mm_system_defined_init();
-
-1u INSERT INTO "MM" ("DBInitialized", "DBVersion") VALUES ('true', '1');
-
-# Add or delete system table columns.
-1u CREATE FUNCTION mm_system_defined_add(text,text) RETURNS boolean AS '
- BEGIN
- INSERT INTO "SYSTEM_DEFINED" (objname, attribute)
- VALUES ($1, $2);
- RETURN true;
- END
- ' LANGUAGE 'plpgsql';
-
-1u CREATE FUNCTION mm_system_defined_del(text,text) RETURNS boolean AS '
- BEGIN
- DELETE FROM "SYSTEM_DEFINED" WHERE objname = $1 AND
- attribute = $2;
- RETURN true;
- END
- ' LANGUAGE 'plpgsql';
-
-
-
+# Create LIBRARY/DRIVE/CARTRIDGE LISTS
-###############################################################################
-# To create a new version 1 database, move all version upgrades
-# greater than 1 into the version above, delete the downgrades, and
-# increment the DBDevelopmentVersion below.
-#
-# It is ok to continue to do version upgrades and downgrades without
-# data loss. The developer who wants a new version 1 is responsible
-# for consolidating all upgrades into version 1 above.
-#
-# This version 1 change feature is for development only and will be removed
-# before MMS is released.
-###############################################################################
-1u UPDATE "MM" SET "DBDevelopmentVersion" = '3';
-
-2u ALTER TABLE "SYSTEM" ADD "SystemDiskMountTimeout" int default 5;
-2u SELECT mm_system_defined_add('SYSTEM','SystemDiskMountTimeout');
-
-2d ALTER TABLE "SYSTEM" DROP "SystemDiskMountTimeout";
-2d SELECT mm_system_defined_del('SYSTEM','SystemDiskMountTimeout');
-
-2u ALTER TABLE "CARTRIDGE" ADD "CartridgeMountPoint" text default '*none';
-2u SELECT mm_system_defined_add('CARTRIDGE','CartridgeMountPoint');
-
-2d ALTER TABLE "CARTRIDGE" DROP "CartridgeMountPoint";
-2d SELECT mm_system_defined_del('CARTRIDGE','CartridgeMountPoint');
-
-2u ALTER TABLE "CARTRIDGE" ADD "CartridgePath" text default '*none';
-2u SELECT mm_system_defined_add('CARTRIDGE','CartridgePath');
-
-2d ALTER TABLE "CARTRIDGE" DROP "CartridgePath";
-2d SELECT mm_system_defined_del('CARTRIDGE','CartridgePath');
-
-3u ALTER TABLE "LIBRARY" ALTER "LibraryConnection" DROP DEFAULT;
-3d ALTER TABLE "LIBRARY" ALTER "LibraryConnection" SET DEFAULT 'network';
-
-4u ALTER TABLE "EVENTRULES" ADD "Data1" text;
-4u ALTER TABLE "EVENTRULES" ADD "Data2" text;
-4u ALTER TABLE "EVENTRULES" ADD "Data3" text;
-4u ALTER TABLE "EVENTRULES" ADD "Data4" text;
-4u ALTER TABLE "EVENTRULES" ADD "Data5" text;
-
-4d ALTER TABLE "EVENTRULES" DROP "Data1";
-4d ALTER TABLE "EVENTRULES" DROP "Data2";
-4d ALTER TABLE "EVENTRULES" DROP "Data3";
-4d ALTER TABLE "EVENTRULES" DROP "Data4";
-4d ALTER TABLE "EVENTRULES" DROP "Data5";
-
-5u CREATE table "DMMOUNTPOINT"(
- "DMName" text
- CONSTRAINT "DMName_CC"
- REFERENCES "DM" ON DELETE CASCADE,
- "DMMountPoint" text
-);
-
-5d DROP table "DMMOUNTPOINT";
-
-# Current version of Postgres (8.0.3) does not support bool to text
-# so use this function to cast
-6u create or replace function bool_to_text (boolean)
- returns char
- strict
- language sql as '
- select case
- when $1 then \'t\'
- else \'f\'
- end;
- ';
-6u create cast (boolean as char(1))
- with function bool_to_text(boolean)
- as implicit;
-
-#Create LIBRARY/DRIVE/CARTRIDGE LISTS
-
-7u CREATE table "LIBRARYLIST"(
+1u CREATE table "LIBRARYLIST"(
"LibraryString" text NOT NULL,
CONSTRAINT "LIBRARYLIST_PK" PRIMARY KEY("LibraryString")
);
-7u CREATE table "DRIVELIST"(
+1u CREATE table "DRIVELIST"(
"DriveString" text NOT NULL,
CONSTRAINT "DRIVELIST_PK" PRIMARY KEY("DriveString")
);
-7u CREATE table "CARTRIDGELIST"(
+1u CREATE table "CARTRIDGELIST"(
"CartridgeString" text NOT NULL,
CONSTRAINT "CARTRIDGELIST_PK" PRIMARY KEY("CartridgeString")
);
-7d DROP table "LIBRARYLIST";
-7d DROP table "DRIVELIST";
-7d DROP table "CARTRIDGELIST";
-
-10u ALTER TABLE "DRIVE" ADD "DriveVendorID" text;
-10u ALTER TABLE "DRIVE" ADD "DriveProductID" text;
-10u ALTER TABLE "DRIVE" ADD "DriveTypeName" text;
-
-10d ALTER TABLE "DRIVE" DROP "DriveVendorID";
-10d ALTER TABLE "DRIVE" DROP "DriveProductID";
-10d ALTER TABLE "DRIVE" DROP "DriveTypeName";
-
-# Watcher LM and DM restart limits
-12u ALTER TABLE "SYSTEM" ADD "WatcherStartsLimit" integer
- CONSTRAINT "WatcherStartsLimit_CC"
- CHECK("WatcherStartsLimit" >= 3 OR
- "WatcherStartsLimit" = -1)
- default 3;
-12u ALTER TABLE "SYSTEM" ADD "WatcherTimeLimit" integer
- CONSTRAINT "WatcherTimeLimit_CC"
- CHECK("WatcherTimeLimit" >= 60)
- default 60;
-12u SELECT mm_system_defined_add('SYSTEM','WatcherStartsLimit');
-12u SELECT mm_system_defined_add('SYSTEM','WatcherTimeLimit');
-
-12d ALTER TABLE "SYSTEM" DROP "WatcherStartsLimit";
-12d ALTER TABLE "SYSTEM" DROP "WatcherTimeLimit";
-12d SELECT mm_system_defined_del('SYSTEM','WatcherStartsLimit');
-12d SELECT mm_system_defined_del('SYSTEM','WatcherTimeLimit');
-
-# Solaris 11 position from ST
-13u ALTER TABLE "PARTITION" DROP "PartitionEOFPosType";
-13u SELECT mm_system_defined_del('PARTITION','PartitionEOFPosType');
-13u ALTER TABLE "PARTITION" DROP "PartitionEOFPos";
-13u ALTER TABLE "PARTITION" ADD "PartitionEOFPos" text;
-
-13d ALTER TABLE "PARTITION" ADD "PartitionEOFPosType" smallint
- default 0;
-13d SELECT mm_system_defined_add('PARTITION','PartitionEOFPosType');
-13d ALTER TABLE "PARTITION" DROP "PartitionEOFPos";
-13d ALTER TABLE "PARTITION" ADD "PartitionEOFPos" bigint;
-
-14u ALTER TABLE "SYSTEM" ADD "DriveRecordRetention" integer
- CONSTRAINT "DriveRecordRetention_CC"
- CHECK("DriveRecordRetention" >= 1)
- default 30;
-14u ALTER TABLE "DRIVECARTRIDGEACCESS" DROP "DriveCartridgeAccessTimeUnmm_mount";
-14u ALTER TABLE "DRIVECARTRIDGEACCESS"
- ADD "DriveCartridgeAccessTimeUnmount" timestamp (3)
- default '-infinity' NOT NULL;
-
-14d ALTER TABLE "SYSTEM" DROP "DriveRecordRetention";
-14d ALTER TABLE "DRIVECARTRIDGEACCESS" DROP "DriveCartridgeAccessTimeUnmount";
-14d ALTER TABLE "DRIVECARTRIDGEACCESS"
- ADD "DriveCartridgeAccessTimeUnmm_mount" timestamp (3)
- default '-infinity' NOT NULL;
-
-# Add attributes to DRIVECARTRIDGEACCESS
-14u ALTER TABLE "DRIVECARTRIDGEACCESS" ADD
- "DriveCartridgeAccessMediumByteReadCount" bigint
- CONSTRAINT "DriveCartridgeAccessMediumByteReadCount_CC"
- CHECK("DriveCartridgeAccessMediumByteReadCount" >= 0)
- default 0;
-
-14u ALTER TABLE "DRIVECARTRIDGEACCESS" ADD
- "DriveCartridgeAccessMediumByteWriteCount" bigint
- CONSTRAINT "DriveCartridgeAccessMediumByteWriteCount_CC"
- CHECK("DriveCartridgeAccessMediumByteWriteCount" >= 0)
- default 0;
-
-14u ALTER TABLE "DRIVECARTRIDGEACCESS" ADD "CartridgePCL" text;
-14u ALTER TABLE "DRIVECARTRIDGEACCESS" ADD "DriveSerialNum" text;
-14u ALTER TABLE "DRIVECARTRIDGEACCESS" ADD "CartridgeShapeName" text;
-14u ALTER TABLE "DRIVECARTRIDGEACCESS" ADD "DriveShapeName" text;
-
-14u ALTER TABLE "DRIVECARTRIDGEACCESS" DROP
- "DriveCartridgeAccessByteReadCount";
-14u ALTER TABLE "DRIVECARTRIDGEACCESS" ADD
- "DriveCartridgeAccessByteReadCount" bigint
- CONSTRAINT "DriveCartridgeAccessByteReadCount_CC"
- CHECK("DriveCartridgeAccessByteReadCount" >= -1)
- default -1;
-14u ALTER TABLE "DRIVECARTRIDGEACCESS" DROP
- "DriveCartridgeAccessByteWriteCount";
-14u ALTER TABLE "DRIVECARTRIDGEACCESS" ADD
- "DriveCartridgeAccessByteWriteCount" bigint
- CONSTRAINT "DriveCartridgeAccessByteWriteCount_CC"
- CHECK("DriveCartridgeAccessByteWriteCount" >= -1)
- default -1;
-
-14d ALTER TABLE "DRIVECARTRIDGEACCESS" DROP
- "DriveCartridgeAccessMediumByteReadCount";
-14d ALTER TABLE "DRIVECARTRIDGEACCESS" DROP
- "DriveCartridgeAccessMediumByteWriteCount";
-14d ALTER TABLE "DRIVECARTRIDGEACCESS" DROP "CartridgePCL";
-14d ALTER TABLE "DRIVECARTRIDGEACCESS" DROP "DriveSerialNum";
-14d ALTER TABLE "DRIVECARTRIDGEACCESS" DROP "CartridgeShapeName";
-14d ALTER TABLE "DRIVECARTRIDGEACCESS" DROP "DriveShapeName";
-14d ALTER TABLE "DRIVECARTRIDGEACCESS" DROP
- "DriveCartridgeAccessByteReadCount";
-14d ALTER TABLE "DRIVECARTRIDGEACCESS" ADD
- "DriveCartridgeAccessByteReadCount" int
- CONSTRAINT "DriveCartridgeAccessByteReadCount_CC"
- CHECK("DriveCartridgeAccessByteReadCount" >= -1)
- default -1;
-14d ALTER TABLE "DRIVECARTRIDGEACCESS" DROP
- "DriveCartridgeAccessByteWriteCount";
-14d ALTER TABLE "DRIVECARTRIDGEACCESS" ADD
- "DriveCartridgeAccessByteWriteCount" int
- CONSTRAINT "DriveCartridgeAccessByteWriteCount_CC"
- CHECK("DriveCartridgeAccessByteWriteCount" >= -1)
- default -1;
-
-# Add DRIVECARTRIDGEERROR
-15u CREATE table "DRIVECARTRIDGEERROR" (
- "DriveName" text,
- "DMName" text,
- "CartridgeID" text,
- "SideName" text NOT NULL,
- "PartitionName" text NOT NULL,
- "ApplicationName" text,
- "CartridgePCL" text,
- "DriveSerialNum" text,
- "CartridgeShapeName" text,
- "DriveShapeName" text,
- "CDB" text,
- "SCSICommand" text,
- "IOStatus" text,
- "SenseKey" text,
- "AdditionalSenseCode" text,
- "AdditionalSenseCodeQualifier" text,
- "SenseBytes" text,
- "ErrorText" text,
- "TimeStamp" timestamp (3)
- default current_timestamp NOT NULL
-);
-
-15u ALTER TABLE "DRIVECARTRIDGEACCESS"
- DROP CONSTRAINT "DriveName_CC";
-15u ALTER TABLE "DRIVECARTRIDGEACCESS"
- DROP CONSTRAINT "DMName_CC";
-15u ALTER TABLE "DRIVECARTRIDGEACCESS"
- DROP CONSTRAINT "CartridgeID_CC";
-15u ALTER TABLE "DRIVECARTRIDGEACCESS"
- DROP CONSTRAINT "ApplicationName_CC";
-15u ALTER TABLE "DRIVECARTRIDGEACCESS"
- DROP CONSTRAINT "DRIVECARTRIDGEACCESS_FK";
-
-15d DROP TABLE "DRIVECARTRIDGEERROR";
-15d ALTER TABLE "DRIVECARTRIDGEACCESS"
- ADD CONSTRAINT "DriveName_CC"
- FOREIGN KEY ("DriveName")
- REFERENCES "DRIVE";
-15d ALTER TABLE "DRIVECARTRIDGEACCESS"
- ADD CONSTRAINT "DMName_CC"
- FOREIGN KEY ("DMName")
- REFERENCES "DM";
-15d ALTER TABLE "DRIVECARTRIDGEACCESS"
- ADD CONSTRAINT "CartridgeID_CC"
- FOREIGN KEY ("CartridgeID")
- REFERENCES "CARTRIDGE";
-15d ALTER TABLE "DRIVECARTRIDGEACCESS"
- ADD CONSTRAINT "ApplicationName_CC"
- FOREIGN KEY ("ApplicationName")
- REFERENCES "APPLICATION";
-15d ALTER TABLE "DRIVECARTRIDGEACCESS"
- ADD CONSTRAINT "DRIVECARTRIDGEACCESS_FK"
- FOREIGN KEY ("CartridgeID", "SideName", "PartitionName")
- REFERENCES "PARTITION";
-
-16u TRUNCATE "DRIVECARTRIDGEERROR";
-16u TRUNCATE "DRIVECARTRIDGEACCESS";
-
-16u ALTER TABLE "DRIVECARTRIDGEERROR"
- ADD CONSTRAINT "DRIVECARTRIDGEERROR_PK"
- PRIMARY KEY("DriveName","CartridgeID","TimeStamp");
-16u ALTER TABLE "DRIVECARTRIDGEACCESS"
- ADD CONSTRAINT "DRIVECARTRIDGEACCESS_PK"
- PRIMARY KEY("CartridgeID", "DriveName",
- "DriveCartridgeAccessTimeUnmount");
-
-16d ALTER TABLE "DRIVECARTRIDGEERROR"
- DROP CONSTRAINT "DRIVECARTRIDGEERROR_PK";
-16d ALTER TABLE "DRIVECARTRIDGEACCESS"
- DROP CONSTRAINT "DRIVECARTRIDGEACCESS_PK";
-
-
-17u ALTER TABLE "APPLICATION" DROP "Password";
-17u ALTER TABLE "DM" DROP "DMPassword";
-17u ALTER TABLE "LM" DROP "LMPassword";
-
-17u SELECT mm_system_defined_del('APPLICATION','Password');
-17u SELECT mm_system_defined_del('DM','DMPassword');
-17u SELECT mm_system_defined_del('LM','LMPassword');
-
-17u CREATE TABLE "MMPASSWORD" (
+# Create Password Handlers
+1u CREATE TABLE "MMPASSWORD" (
"ApplicationName" text,
- "Password" text default 'changeme',
+ "Password" text default 'changeme' NOT NULL,
CONSTRAINT "MMPASSWORD_PK" PRIMARY KEY("ApplicationName")
);
-17u CREATE FUNCTION mm_func_getpassword(text) RETURNS text AS '
+1u CREATE FUNCTION mm_func_getpassword(text) RETURNS text AS '
DECLARE
newpass TEXT;
BEGIN
@@ -2601,7 +2352,7 @@
END;
' LANGUAGE 'plpgsql';
-17u CREATE FUNCTION mm_func_setpassword() RETURNS TRIGGER AS '
+1u CREATE FUNCTION mm_func_setpassword() RETURNS TRIGGER AS '
DECLARE
newpass TEXT;
BEGIN
@@ -2613,9 +2364,9 @@
END IF;
SELECT INTO newpass
(select mm_func_getpassword(NEW."Password"));
- -- let user reuse the same password
+ -- let user reuse the same password
-- IF TG_OP = ''UPDATE'' THEN
- -- internal mms app can reuse the same password
+ -- internal mms app can reuse the same password
-- IF OLD."ApplicationName" NOTNULL AND
-- OLD."ApplicationName" != ''MMS'' AND
-- newpass = OLD."Password" THEN
@@ -2630,18 +2381,18 @@
END;
' LANGUAGE 'plpgsql';
-17u CREATE TRIGGER mm_trig_setpassword BEFORE
+1u CREATE TRIGGER mm_trig_setpassword BEFORE
INSERT OR UPDATE ON "MMPASSWORD"
FOR ROW EXECUTE PROCEDURE mm_func_setpassword();
-17u CREATE FUNCTION mm_func_defpassword() RETURNS TRIGGER AS '
+1u CREATE FUNCTION mm_func_defpassword() RETURNS TRIGGER AS '
BEGIN
IF TG_OP = ''INSERT'' THEN
INSERT INTO "MMPASSWORD" ("ApplicationName","Password")
VALUES (NEW."ApplicationName",default);
ELSIF TG_OP = ''UPDATE'' THEN
IF NEW."ApplicationName" != OLD."ApplicationName" THEN
- UPDATE "MMPASSWORD" SET
+ UPDATE "MMPASSWORD" SET
"ApplicationName" = NEW."ApplicationName" WHERE
"ApplicationName" = OLD."ApplicationName";
END IF;
@@ -2653,198 +2404,15 @@
RETURN NEW;
END;
' LANGUAGE 'plpgsql';
-
-17u CREATE TRIGGER mm_trig_defpassword BEFORE
+
+1u CREATE TRIGGER mm_trig_defpassword BEFORE
INSERT OR UPDATE OR DELETE ON "APPLICATION"
FOR ROW EXECUTE PROCEDURE mm_func_defpassword();
-17u INSERT INTO "MMPASSWORD" ("ApplicationName")
- (select "ApplicationName" from "APPLICATION");
-
-17u UPDATE "MMPASSWORD" SET "Password" = 'summer05';
-
-
-
-
-17d DROP FUNCTION mm_func_getpassword(text) CASCADE;
-17d DROP FUNCTION mm_func_setpassword() CASCADE;
-17d DROP FUNCTION mm_func_defpassword() CASCADE;
-17d DROP TABLE "MMPASSWORD";
-17d ALTER TABLE "APPLICATION" ADD "Password" text;
-17d ALTER TABLE "DM" ADD "DMPassword" text;
-17d ALTER TABLE "LM" ADD "LMPassword" text;
-
-17d SELECT mm_system_defined_add('APPLICATION','Password');
-17d SELECT mm_system_defined_add('DM','DMPassword');
-17d SELECT mm_system_defined_add('LM','LMPassword');
-
-18u ALTER TABLE "CARTRIDGE" ADD
- "CartridgeSize" integer
- CONSTRAINT "CartridgeSize_CC"
- CHECK("CartridgeSize" >= -1)
- default -1;
-
-18u ALTER TABLE "CARTRIDGE" ADD
- "CartridgeAvailable" integer
- CONSTRAINT "CartridgeAvailable_CC"
- CHECK("CartridgeAvailable" >= -1)
- default -1;
-
-18u ALTER TABLE "CARTRIDGE" ADD
- "CartridgePercentAvailable" integer
- CONSTRAINT "CartridgePercentAvailable_CC"
- CHECK("CartridgePercentAvailable" >= -1)
- default -1;
-
-18d ALTER TABLE "CARTRIDGE" DROP "CartridgeSize" ;
-18d ALTER TABLE "CARTRIDGE" DROP CONSTRAINT "CartridgeSize_CC";
-18d ALTER TABLE "CARTRIDGE" DROP "CartridgeAvailable" ;
-18d ALTER TABLE "CARTRIDGE" DROP CONSTRAINT "CartridgeAvailable_CC";
-18d ALTER TABLE "CARTRIDGE" DROP "CartridgePercentAvailable" ;
-18d ALTER TABLE "CARTRIDGE" DROP CONSTRAINT "CartridgePercentAvailable_CC";
-
-19u ALTER TABLE "LIBRARY" ADD "LibraryLSM" text;
-19d ALTER TABLE "LIBRARY" DROP "LibraryLSM";
-
-20u ALTER TABLE "LIBRARY" ADD "LibrarySerialNumber" text;
-20d ALTER TABLE "LIBRARY" DROP "LibrarySerialNumber";
-
-21u ALTER TABLE "CARTRIDGE" DROP "CartridgeSize" ;
-21u ALTER TABLE "CARTRIDGE" DROP "CartridgeAvailable" ;
-21u ALTER TABLE "CARTRIDGE" DROP "CartridgePercentAvailable" ;
-
-21u ALTER TABLE "CARTRIDGE" DROP "CartridgeRecovededReads";
-21u ALTER TABLE "CARTRIDGE" DROP "CartridgeRecovededWrites";
-21u ALTER TABLE "CARTRIDGE" DROP "CartridgeUnrecovededReads";
-21u ALTER TABLE "CARTRIDGE" DROP "CartridgeUnrecovededWrites";
-
-21u ALTER TABLE "CARTRIDGE" ADD
- "CartridgeRecoveredReads" integer
- CONSTRAINT "CartridgeRecoveredReads_CC"
- CHECK("CartridgeRecoveredReads" >= 0)
- default 0;
-
-21u ALTER TABLE "CARTRIDGE" ADD
- "CartridgeRecoveredWrites" integer
- CONSTRAINT "CartridgeRecoveredWrites_CC"
- CHECK("CartridgeRecoveredWrites" >= 0)
- default 0;
-
-21u ALTER TABLE "CARTRIDGE" ADD
- "CartridgeUnrecoveredReads" integer
- CONSTRAINT "CartridgeUnrecoveredReads_CC"
- CHECK("CartridgeUnrecoveredReads" >= 0)
- default 0;
-
-21u ALTER TABLE "CARTRIDGE" ADD
- "CartridgeUnrecoveredWrites" integer
- CONSTRAINT "CartridgeUnrecoveredWrites_CC"
- CHECK("CartridgeUnrecoveredWrites" >= 0)
- default 0;
-
-
-21d ALTER TABLE "CARTRIDGE" ADD
- "CartridgeSize" integer
- CONSTRAINT "CartridgeSize_CC"
- CHECK("CartridgeSize" >= -1)
- default -1;
-
-21d ALTER TABLE "CARTRIDGE" ADD
- "CartridgeAvailable" integer
- CONSTRAINT "CartridgeAvailable_CC"
- CHECK("CartridgeAvailable" >= -1)
- default -1;
-
-21d ALTER TABLE "CARTRIDGE" ADD
- "CartridgePercentAvailable" integer
- CONSTRAINT "CartridgePercentAvailable_CC"
- CHECK("CartridgePercentAvailable" >= -1)
- default -1;
-
-21d ALTER TABLE "CARTRIDGE" DROP "CartridgeRecoveredReads";
-21d ALTER TABLE "CARTRIDGE" DROP "CartridgeRecoveredWrites";
-21d ALTER TABLE "CARTRIDGE" DROP "CartridgeUnrecoveredReads";
-21d ALTER TABLE "CARTRIDGE" DROP "CartridgeUnrecoveredWrites";
-21d ALTER TABLE "CARTRIDGE" ADD
- "CartridgeRecovededReads" text
- default '0';
-21d ALTER TABLE "CARTRIDGE" ADD
- "CartridgeRecovededWrites" text
- default '0';
-21d ALTER TABLE "CARTRIDGE" ADD
- "CartridgeUnrecovededReads" text
- default '0';
-21d ALTER TABLE "CARTRIDGE" ADD
- "CartridgeUnrecovededWrites" text
- default '0';
-
-22u ALTER TABLE "LM" ADD
- "LMSSIPort" int
- CONSTRAINT "LMSSIPort_CC"
- CHECK("LMSSIPort" > 0)
- default 50004;
-22u ALTER TABLE "LIBRARY" ADD
- "LibraryACSLSPort" int;
-
-22d ALTER TABLE "LM" DROP "LMSSIPort";
-22d ALTER TABLE "LIBRARY" DROP "LibraryACSLSPort";
-
-23u UPDATE "LM" SET "LMTargetHost" = NULL WHERE
- "LMTargetHost" = 'localhost' OR
- "LMTargetHost" = '127.0.0.1' OR
- "LMTargetHost" = '::1';
-23u ALTER TABLE "LM"
- ADD CONSTRAINT "LMTargetHost_CC"
- CHECK("LMTargetHost" != 'localhost' AND
- "LMTargetHost" != '127.0.0.1' AND
- "LMTargetHost" != '::1');
-23u UPDATE "DM" SET "DMTargetHost" = NULL WHERE
- "DMTargetHost" = 'localhost' OR
- "DMTargetHost" = '127.0.0.1' OR
- "DMTargetHost" = '::1';
-23u ALTER TABLE "DM"
- ADD CONSTRAINT "DMTargetHost_CC"
- CHECK("DMTargetHost" != 'localhost' AND
- "DMTargetHost" != '127.0.0.1' AND
- "DMTargetHost" != '::1');
-23d ALTER TABLE "LM"
- DROP CONSTRAINT "LMTargetHost_CC";
-23d ALTER TABLE "DM"
- DROP CONSTRAINT "DMTargetHost_CC";
-
-24u ALTER TABLE "LM"
- DROP "LMTargetLibrary";
-24u ALTER TABLE "DM"
- DROP "DMTargetLibrary";
-24d ALTER TABLE "LM" ADD
- "LMTargetLibrary" text;
-24d ALTER TABLE "DM" ADD
- "DMTargetLibrary" text;
-
-# Disk archiving default and alternate host library path configuration
-25u ALTER TABLE "LIBRARY" ADD
- "DefaultLibraryPath" text;
-25u CREATE TABLE "LIBRARYACCESS"(
- "LibraryName" text
- CONSTRAINT "LibraryName_CC"
- REFERENCES "LIBRARY",
- "HostName" text
- CONSTRAINT "HostName_CC"
- CHECK("HostName" != 'localhost' AND
- "HostName" != '127.0.0.1' AND
- "HostName" != '::1')
- NOT NULL,
- "LibraryPath" text
- NOT NULL,
- CONSTRAINT "LIBRARYACCESS_PK"
- PRIMARY KEY("LibraryName", "HostName")
-);
-25u SELECT mm_system_defined_add('LIBRARYACCESS','LibraryName');
-25u SELECT mm_system_defined_add('LIBRARYACCESS','HostName');
-25u SELECT mm_system_defined_add('LIBRARYACCESS','LibraryPath');
-25u CREATE FUNCTION mm_func_librarypath() RETURNS TRIGGER AS '
+# Disk archiving host library path configuration
+1u CREATE FUNCTION mm_func_librarypath() RETURNS TRIGGER AS '
BEGIN
- -- Validate default disk library path is not null.
+ -- Validate default disk library path is not null.
IF TG_OP = ''INSERT'' OR TG_OP = ''UPDATE'' THEN
IF NEW."LibraryType" = ''DISK'' THEN
IF NEW."DefaultLibraryPath" ISNULL THEN
@@ -2853,45 +2421,114 @@
-- Validate default disk library path ends in library name
IF ((select length(NEW."DefaultLibraryPath") -
length(NEW."LibraryName") = position(NEW."LibraryName" in
- NEW."DefaultLibraryPath") - 1)) != \'t\' THEN
+ NEW."DefaultLibraryPath") - 1)) != ''t'' THEN
RAISE EXCEPTION ''"LIBRARY"."DefaultLibraryPath" must end in "LIBRARY"."LibraryName"'';
END IF;
- END IF;
+ END IF;
RETURN NEW;
END IF;
END;
' LANGUAGE 'plpgsql';
-25u CREATE TRIGGER mm_func_librarypath BEFORE
+
+1u CREATE TRIGGER mm_func_librarypath BEFORE
INSERT OR UPDATE ON "LIBRARY"
FOR ROW EXECUTE PROCEDURE mm_func_librarypath();
-25u CREATE FUNCTION mm_func_libraryaccess() RETURNS TRIGGER AS '
+1u CREATE FUNCTION mm_func_libraryaccess() RETURNS TRIGGER AS '
BEGIN
-- Validate alternate disk library access path ends in library name
IF TG_OP = ''INSERT'' OR TG_OP = ''UPDATE'' THEN
IF ((select length(NEW."LibraryPath") -
- length(NEW."LibraryName") = position(NEW."LibraryName" in
- NEW."LibraryPath") - 1)) != \'t\' THEN
- RAISE EXCEPTION ''"LIBRARYACCESS"."LibraryPath" must end in "LIBRARYACCESS"."LibraryName"'';
+ length(NEW."LibraryName") = position(NEW."LibraryName" in
+ NEW."LibraryPath") - 1)) != ''t'' THEN
+ RAISE EXCEPTION ''"LIBRARYACCESS"."LibraryPath" must end in
+"LIBRARYACCESS"."LibraryName"'';
END IF;
RETURN NEW;
END IF;
END;
' LANGUAGE 'plpgsql';
-25u CREATE TRIGGER mm_func_libraryaccess BEFORE
+
+1u CREATE TRIGGER mm_func_libraryaccess BEFORE
INSERT OR UPDATE ON "LIBRARYACCESS"
FOR ROW EXECUTE PROCEDURE mm_func_libraryaccess();
-25u ALTER TABLE "CARTRIDGE" DROP "CartridgePath";
-25u SELECT mm_system_defined_del('CARTRIDGE','CartridgePath');
-25u ALTER TABLE "CARTRIDGE" DROP "CartridgeMountPoint";
-25u SELECT mm_system_defined_del('CARTRIDGE','CartridgeMountPoint');
-25u DROP table "DMMOUNTPOINT";
+# Initialize Database
+1u INSERT INTO "APPLICATION" ("ApplicationName") VALUES ('MMS');
+1u INSERT INTO "AI" ("AIName", "ApplicationName", "PrivilegeChangeable",
+ "DefaultPriority", "SessionsAllowed")
+ VALUES ('admin', 'MMS', 'true', '0', 'multiple');
+
+1u INSERT INTO "AI" ("AIName", "ApplicationName", "PrivilegeChangeable",
+ "DefaultPriority", "SessionsAllowed")
+ VALUES ('oper', 'MMS', 'true', '0', 'multiple');
+
+1u INSERT INTO "AI" ("AIName", "ApplicationName", "PrivilegeChangeable",
+ "DefaultPriority", "SessionsAllowed")
+ VALUES('watcher', 'MMS', 'true', '0', 'multiple');
+
+1u INSERT INTO "SYSTEM" ("Administrator") VALUES ('admin');
+
+1u CREATE FUNCTION mm_system_defined_init() RETURNS boolean AS '
+ DECLARE
+ -- MMS objects with user or system defined attributes
+ table text[] = ''{ "APPLICATION", "AI", "SESSION", "LIBRARY",
+ "LM", "SLOTTYPE", "CARTRIDGEGROUP", "CARTRIDGETYPE",
+ "CARTRIDGE", "SIDE", "PARTITION", "VOLUME",
+ "DRIVEGROUP", "DRIVE", "DM", "DMCAPABILITY",
+ "DRIVECARTRIDGEACCESS", "SYSTEM", "LIBRARYACCESS",
+ "DRIVECARTRIDGEERROR", NULL }'';
+ i integer = 1;
+ BEGIN
+ -- Save MMS system defined object attributes
+ WHILE table[i] IS NOT NULL LOOP
+ INSERT INTO "SYSTEM_DEFINED" (objname,attribute)
+ SELECT table[i],attname FROM pg_attribute
+ WHERE (attrelid = (select oid
+ FROM pg_class WHERE
+ relname = table[i])) AND attname ~ ''^[A-Z]'';
+ i := i + 1;
+ END LOOP;
+ RETURN true;
+ END;
+ ' LANGUAGE 'plpgsql';
+
+1u SELECT mm_system_defined_init();
+
+1u DROP FUNCTION mm_system_defined_init();
+
+# Add or delete upgrade/downgrade system defined table columns.
+1u CREATE FUNCTION mm_system_defined_add(text,text) RETURNS boolean AS '
+ BEGIN
+ INSERT INTO "SYSTEM_DEFINED" (objname, attribute)
+ VALUES ($1, $2);
+ RETURN true;
+ END
+ ' LANGUAGE 'plpgsql';
+
+1u CREATE FUNCTION mm_system_defined_del(text,text) RETURNS boolean AS '
+ BEGIN
+ DELETE FROM "SYSTEM_DEFINED" WHERE objname = $1 AND
+ attribute = $2;
+ RETURN true;
+ END
+ ' LANGUAGE 'plpgsql';
+
+26u INSERT INTO "MM" ("DBInitialized", "DBVersion") VALUES ('true', '1');
+
+
+######################################################################
+# #
+# Add your upgrade/downgrade version immediately after this comment #
+# #
+# Start upgrades at version 27 because 1-26 have already been used. #
+# #
+######################################################################
######################################################################
-# #
+# #
# Add your upgrade/downgrade version immediately before this comment #
-# #
+# #
######################################################################
diff --git a/usr/src/cmd/mms/mms.xml b/usr/src/cmd/mms/mms.xml
index 9719334a1a..c7b7d50ff3 100644
--- a/usr/src/cmd/mms/mms.xml
+++ b/usr/src/cmd/mms/mms.xml
@@ -19,7 +19,7 @@
information: Portions Copyright [yyyy] [name of copyright owner]
CDDL HEADER END
- Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ Copyright 2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
-->
@@ -197,11 +197,11 @@
<propval
name='bin'
type='astring'
- value='/usr/bin' />
+ value='/usr/postgres/8.3/bin' />
<propval
name='data'
type='astring'
- value='/var/mms/db/data' />
+ value='/var/mms/db/data83' />
<propval
name='value_authorization'
type='astring'
diff --git a/usr/src/cmd/mms/mmsdb b/usr/src/cmd/mms/mmsdb
index 60b9cf1c1f..b198b11daf 100644
--- a/usr/src/cmd/mms/mmsdb
+++ b/usr/src/cmd/mms/mmsdb
@@ -19,7 +19,7 @@
#
# CDDL HEADER END
#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
@@ -81,7 +81,7 @@ case "$1" in
status=`$PGBIN/pg_ctl -D $PGDATA status | /bin/grep PID`
$PGBIN/pg_ctl -D $PGDATA stop -m fast
if [ -z "$status" ]; then
- pattern="$PGBIN/postmaster -D $PGDATA"
+ pattern="$PGBIN/postgres -D $PGDATA"
/bin/pgrep -u $PGUSER -f "$pattern" > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Sending immediate shutdown signal."
diff --git a/usr/src/cmd/mms/utility/explorer/mmsexplorer b/usr/src/cmd/mms/utility/explorer/mmsexplorer
index 5bfd98f018..9e374c4a94 100644
--- a/usr/src/cmd/mms/utility/explorer/mmsexplorer
+++ b/usr/src/cmd/mms/utility/explorer/mmsexplorer
@@ -19,7 +19,7 @@
#
# CDDL HEADER END
#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
@@ -91,6 +91,7 @@ REPORTDIR=`dirname $REPORT`
# MMS Service Configuration
PGADMIN=`/bin/svcprop -c -p method_context/user mms:db`
+PGBIN=`/bin/svcprop -c -p postgresql/bin mms:db`
PGDATA=`/bin/svcprop -c -p postgresql/data mms:db`
PGHOST=`/bin/svcprop -c -p db/host mms:mm`
PGPORT=`/bin/svcprop -c -p db/port mms:mm`
@@ -400,7 +401,7 @@ done
echo "\nPatches installed for MMS:\n" >>$REPORT
-verbose "/bin/showrev -p 2>/dev/null | /bin/egrep 'SUNWhsmr|SUNWhsmu|SUNWmmsr|SUNWmmsu|SUNWpostgr|SUNWopenssl' | /bin/sed -e 's/Obso.*//' | /bin/sed -e 's/Patch: //' > $TMPPAT"
+verbose "/bin/showrev -p 2>/dev/null | /bin/egrep 'SUNWhsmr|SUNWhsmu|SUNWmmsr|SUNWmmsu|SUNWpostgr-83-client|SUNWpostgr-83-server|SUNWopenssl' | /bin/sed -e 's/Obso.*//' | /bin/sed -e 's/Patch: //' > $TMPPAT"
showifiles $TMPPAT
for i in `/bin/cat $TMPPAT`; do
@@ -414,9 +415,8 @@ done
# SUNWhsmu - Sun ADM HSM software Solaris 11 (usr)
# SUNWmmsr - MMS Solaris (root)
# SUNWmmsu - MMS Solaris (usr)
-# SUNWpostgr - Postgres psql (client programs)
-# SUNWpostgr-libs - Postgres libpq (client)
-# SUNWpostgr-server - Postgres postmaster (server)
+# SUNWpostgr-83-client - PostgreSQL client tools
+# SUNWpostgr-83-server - PostgreSQL database server
# SUNWopenssl-commands - OpenSSL commands (usr)
# SUNWopenssl-libraries - OpenSSL libraries (usr)
# SUNWopensslr - OpenSSL (root)
@@ -433,7 +433,7 @@ done
#
echo "------------------- package info --------------------" >>$REPORT
-for PACKAGE in SUNWhsmr SUNWhsmu SUNWmmsr SUNWmmsu SUNWpostgr SUNWpostgr-libs SUNWpostgr-server SUNWopenssl-commands SUNWopenssl-libraries SUNWopensslr STKacsls SUNWfcp SUNWfcpx SUNWfctl SUNWfctlx SUNWqlc SUNWqlcx SUNWsmgr JNIC QLA2200-3
+for PACKAGE in SUNWhsmr SUNWhsmu SUNWmmsr SUNWmmsu SUNWpostgr-83-client SUNWpostgr-83-server SUNWopenssl-commands SUNWopenssl-libraries SUNWopensslr STKacsls SUNWfcp SUNWfcpx SUNWfctl SUNWfctlx SUNWqlc SUNWqlcx SUNWsmgr JNIC QLA2200-3
do
twiddle
echo "" >>$REPORT 2>&1
@@ -534,15 +534,15 @@ showenuf $CURRENT $BEFORE $AFTER
# database snapshot
object="APPLICATION AI CONNECTION SESSION NOTIFY NOTIFYRULES "\
-"EVENTRULES LIBRARY LM BAY SLOTTYPE CARTRIDGEGROUP CARTRIDGETYPE "\
-"CARTRIDGE CARTRIDGEGROUPAPPLICATION SIDE PARTITION VOLUME DRIVEGROUP "\
-"DRIVEGROUPAPPLICATION DRIVE DM DMCAPABILITY DMCAPABILITYTOKEN "\
-"DMCAPABILITYDEFAULTTOKEN DMCAPABILITYGROUP DMCAPABILITYGROUPTOKEN "\
-"DMBITFORMAT DMBITFORMATTOKEN SLOTGROUP SLOT SLOTCONFIG MOUNTLOGICAL "\
-"MOUNTPHYSICAL DRIVECARTRIDGEACCESS TASK TASKCARTRIDGE TASKDRIVE "\
-"TASKLIBRARY MESSAGE REQUEST SYSTEM STALEHANDLE DMSHAPEPRIORITY "\
-"DMDENSITYPRIORITY DMMOUNTPOINT LIBRARYLIST DRIVELIST CARTRIDGELIST "\
-"DRIVECARTRIDGEERROR"
+"EVENTRULES LIBRARYACCESS LIBRARY LM BAY SLOTTYPE CARTRIDGEGROUP "\
+"CARTRIDGETYPE CARTRIDGE CARTRIDGEGROUPAPPLICATION SIDE PARTITION VOLUME "\
+"DRIVEGROUP DRIVEGROUPAPPLICATION DRIVE DRIVECARTRIDGEERROR DM DMCAPABILITY "\
+"DMCAPABILITYTOKEN DMCAPABILITYDEFAULTTOKEN DMCAPABILITYGROUP "\
+"DMCAPABILITYGROUPTOKEN DMBITFORMAT DMBITFORMATTOKEN SLOTGROUP SLOT "\
+"SLOTCONFIG MOUNTLOGICAL MOUNTPHYSICAL DRIVECARTRIDGEACCESS "\
+"TASK TASKCARTRIDGE TASKDRIVE TASKLIBRARY MESSAGE REQUEST SYSTEM "\
+"STALEHANDLE DMSHAPEPRIORITY DMDENSITYPRIORITY "\
+"LIBRARYLIST DRIVELIST CARTRIDGELIST "
cmd="select * from \\\"MM\\\";"
cmd="$cmd select \\\"ApplicationName\\\",length(\\\"Password\\\") from \\\"MMPASSWORD\\\";"
@@ -551,7 +551,7 @@ for table in $object; do
cmd="$cmd select * from \\\"$table\\\";"
done
-/bin/su - $PGADMIN -c "PGPASSFILE=${PGPASS} ; export PGPASSFILE ; /bin/echo \"$cmd\" | /usr/bin/psql -h $PGHOST -p $PGPORT -d $DBNAME -U $PGUSER -e" 2>&1 | /bin/gzip -f > $OUTDATABASE
+/bin/su - $PGADMIN -c "PGPASSFILE=${PGPASS} ; export PGPASSFILE ; /bin/echo \"$cmd\" | $PGBIN/psql -h $PGHOST -p $PGPORT -d $DBNAME -U $PGUSER -e" 2>&1 | /bin/gzip -f > $OUTDATABASE
echo "------------------- media manager service -----------" >>$REPORT
echo "" >>$REPORT 2>&1
diff --git a/usr/src/lib/mms/mgmt/common/mgmt_mm.c b/usr/src/lib/mms/mgmt/common/mgmt_mm.c
index a009be5b2a..7581432ffa 100644
--- a/usr/src/lib/mms/mgmt/common/mgmt_mm.c
+++ b/usr/src/lib/mms/mgmt/common/mgmt_mm.c
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -314,7 +314,6 @@ mms_mgmt_init_host(nvlist_t *opts, nvlist_t **errs)
char *pass = NULL;
char *hosttype = NULL;
char cfgvar[2048];
- char *bufp;
char buf[2048];
int i;
nvlist_t *init_errs = NULL;
@@ -440,7 +439,7 @@ mms_mgmt_init_host(nvlist_t *opts, nvlist_t **errs)
if (st == ENOENT) {
st = nvlist_lookup_string(opts, O_DBDIR, &val);
if (st == 0) {
- (void) snprintf(buf, sizeof (buf), "%s/%s",
+ (void) snprintf(buf, sizeof (buf), "%s/../%s",
val, "log");
st = nvlist_add_string(opts, O_DBLOG, buf);
}
@@ -480,20 +479,10 @@ mms_mgmt_init_host(nvlist_t *opts, nvlist_t **errs)
MGMT_ADD_OPTERR(init_errs, O_DBDIR, st);
goto done;
} else {
- /*
- * currently storing up to data in SMF.
- * Change to parent dir for creating subdirs.
- */
- bufp = strrchr(cfgvar, '/');
- if (bufp != NULL) {
- if (strcmp(bufp, "/data") == 0) {
- *bufp = '\0';
- }
- }
(void) nvlist_add_string(opts, O_DBDIR, cfgvar);
/* fixed path for log dir */
- (void) strlcat(cfgvar, "/log", sizeof (cfgvar));
+ (void) strlcat(cfgvar, "/../log", sizeof (cfgvar));
(void) nvlist_add_string(opts, O_DBLOG, cfgvar);
}
st = mms_cfg_getvar(MMS_CFG_MM_DB_PORT, cfgvar);
diff --git a/usr/src/lib/mms/mgmt/common/mgmt_mmsdb.c b/usr/src/lib/mms/mgmt/common/mgmt_mmsdb.c
index c401837164..9f97b9dcf1 100644
--- a/usr/src/lib/mms/mgmt/common/mgmt_mmsdb.c
+++ b/usr/src/lib/mms/mgmt/common/mgmt_mmsdb.c
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -41,6 +41,7 @@
static char *_SrcFile = __FILE__;
#define HERE _SrcFile, __LINE__
+#define MMS_MGMT_PGA ".pga"
typedef struct {
char port[10];
@@ -55,7 +56,6 @@ typedef struct {
} mmsdb_opts_t;
/* If this path changes, make sure similar changes are made to mmsexplorer */
-static char *db_cli = "/var/mms/db/.pga";
static char db_cli_env[1024];
static int get_db_user(char *buf, int buflen, uid_t *uid, gid_t *gid);
@@ -141,7 +141,7 @@ create_db_dirs(char *dbpath, uid_t uid, gid_t gid, nvlist_t *errs)
{
int st;
struct stat64 statbuf;
- char *dbsubdirs[] = {"data", "dump", "log", NULL};
+ char *dbsubdirs[] = {"dump", "log", NULL};
int i;
char buf[2048];
@@ -164,7 +164,7 @@ create_db_dirs(char *dbpath, uid_t uid, gid_t gid, nvlist_t *errs)
}
for (i = 0; dbsubdirs[i] != NULL; i++) {
- (void) snprintf(buf, sizeof (buf), "%s/%s", dbpath,
+ (void) snprintf(buf, sizeof (buf), "%s/../%s", dbpath,
dbsubdirs[i]);
st = create_dir(buf, 0711, NULL, uid, NULL, gid);
if (st != 0) {
@@ -197,19 +197,17 @@ mgmt_db_init(void)
}
/* see if we've been initialized already, bail if so */
- (void) snprintf(buf, sizeof (buf), "%s/data/postgresql.conf",
- opts.path);
+ (void) snprintf(buf, sizeof (buf), "%s/postgresql.conf", opts.path);
st = access(buf, F_OK);
if (st == 0) {
return (0);
}
(void) snprintf(dbbuf, sizeof (dbbuf), "%s/initdb", opts.bindir);
- (void) snprintf(buf, sizeof (buf), "%s/data", opts.path);
cmd[0] = dbbuf;
cmd[1] = "-D";
- cmd[2] = buf;
+ cmd[2] = opts.path;
cmd[3] = NULL;
pid = exec_mgmt_cmd(NULL, NULL, opts.dbuid, opts.dbgid,
@@ -227,7 +225,6 @@ mgmt_get_db_opts(mmsdb_opts_t *opts)
struct passwd pwd;
struct passwd *pwdp;
char buf[2048];
- char *bufp;
if (opts == NULL) {
return (MMS_MGMT_NOARG);
@@ -235,14 +232,6 @@ mgmt_get_db_opts(mmsdb_opts_t *opts)
st = mms_cfg_getvar(MMS_CFG_DB_DATA, opts->path);
if (st == 0) {
- /*
- * The *data* dir is stored in SMF. We need the
- * parent thereof.
- */
- bufp = strrchr(opts->path, '/');
- if (bufp) {
- *bufp = '\0';
- }
st = mms_cfg_getvar(MMS_CFG_MM_DB_USER, opts->user);
}
if (st == 0) {
@@ -257,16 +246,10 @@ mgmt_get_db_opts(mmsdb_opts_t *opts)
if (st == 0) {
st = mms_cfg_getvar(MMS_CFG_DB_BIN, opts->bindir);
}
-#ifdef MMS_VAR_CFG
- if (st == 0) {
- st = mms_cfg_getvar(MMS_CFG_DB_LOG, opts->logdir);
- }
-#else
if (st == 0) {
(void) snprintf(opts->logdir, sizeof (opts->logdir),
- "%s/log", opts->path);
+ "%s/../log", opts->path);
}
-#endif /* MMS_VAR_CFG */
if (st != 0) {
return (st);
@@ -281,8 +264,8 @@ mgmt_get_db_opts(mmsdb_opts_t *opts)
opts->dbgid = pwdp->pw_gid;
/* set the envvar for PGPASSFILE */
- (void) snprintf(db_cli_env, sizeof (db_cli_env), "PGPASSFILE=%s",
- db_cli);
+ (void) snprintf(db_cli_env, sizeof (db_cli_env),
+ "PGPASSFILE=%s/../%s", opts->path, MMS_MGMT_PGA);
st = putenv(db_cli_env);
return (st);
@@ -359,17 +342,9 @@ mgmt_db_create(int initialize, int populate, nvlist_t *optlist)
}
/* check to see if files exist, even if svc is stopped */
- (void) snprintf(buf, sizeof (buf), "%s/data/%s", opts.path,
- "base");
+ (void) snprintf(buf, sizeof (buf), "%s/base", opts.path);
if (access(buf, F_OK) == 0) {
return (EALREADY);
- } else {
- /* create the dirs we need */
- st = create_db_dirs(opts.path, opts.dbuid, opts.dbgid,
- NULL);
- if (st != 0) {
- return (st);
- }
}
st = mgmt_db_init();
@@ -380,6 +355,12 @@ mgmt_db_create(int initialize, int populate, nvlist_t *optlist)
if (st != 0) {
return (st);
}
+
+ /* create the dirs we need */
+ st = create_db_dirs(opts.path, opts.dbuid, opts.dbgid, NULL);
+ if (st != 0) {
+ return (st);
+ }
}
/*
@@ -392,7 +373,7 @@ mgmt_db_create(int initialize, int populate, nvlist_t *optlist)
return (st);
}
- (void) snprintf(buf, sizeof (buf), "%s/%s", opts.path, "mmsdb");
+ (void) snprintf(buf, sizeof (buf), "%s/../mmsdb", opts.path);
st = get_dbver_from_optfile(buf, &oldver);
if (st != 0) {
if (st != ENOENT) {
@@ -526,7 +507,7 @@ mgmt_db_check(void)
return (st);
}
- (void) snprintf(dbbuf, sizeof (dbbuf), "%s/psql", dbbuf);
+ (void) snprintf(dbbuf, sizeof (dbbuf), "%s/psql", opts.bindir);
cmd[0] = dbbuf;
cmd[1] = "-h";
@@ -688,9 +669,9 @@ typedef struct {
static pgconf_t pgconf_opts[] = {
{"port", NULL},
{"log_directory", NULL},
- {"external_pid_file", "'(none)'"},
- {"log_destination", "stderr"},
- {"redirect_stderr", "on"},
+ {"external_pid_file", "'postgres.pid'"},
+ {"log_destination", "'stderr'"},
+ {"logging_collector", "on"},
{"log_filename", "'log.%a'"},
{"log_rotation_size", "10000"},
{"log_truncate_on_rotation", "on"},
@@ -698,10 +679,9 @@ static pgconf_t pgconf_opts[] = {
{"client_min_messages", "WARNING"},
{"log_min_messages", "INFO"},
{"log_disconnections", "on"},
+ {"track_counts", "on"},
{"autovacuum", "on"},
- {"autovacuum_naptime", "1200"},
- {"stats_start_collector", "on"},
- {"stats_row_level", "on"}
+ {"autovacuum_naptime", "1200"}
};
static int numpgopts = sizeof (pgconf_opts) / sizeof (pgconf_t);
@@ -991,8 +971,8 @@ mk_cmds_from_optfile(mmsdb_opts_t *opts, char *path, int vers, char cmdtype,
}
/* create our cmdfile */
- (void) snprintf(buf, sizeof (buf), "/var/mms/db/mmsdbcmd-%c-%d",
- cmdtype, time(NULL));
+ (void) snprintf(buf, sizeof (buf), "%s/../mmsdbcmd-%c-%d",
+ opts->path, cmdtype, time(NULL));
fd = open(buf, O_CREAT|O_TRUNC|O_APPEND|O_WRONLY|O_NOFOLLOW|O_NOLINKS,
0600);
@@ -1049,7 +1029,8 @@ mk_cmds_from_optfile(mmsdb_opts_t *opts, char *path, int vers, char cmdtype,
pass = mms_net_cfg_read_pass_file(MMS_NET_CFG_HELLO_FILE);
if (pass != NULL) {
(void) fprintf(ofp,
- "UPDATE \"MMPASSWORD\" SET \"Password\" = '%s';\n",
+ "UPDATE \"MMPASSWORD\" SET \"Password\" = '%s' "
+ "WHERE \"ApplicationName\" = 'MMS';\n",
pass);
free(pass);
}
@@ -1236,7 +1217,7 @@ mgmt_set_db_pass(char *dbpass, nvlist_t *errs)
boolean_t ismd5 = B_FALSE;
int fd = -1;
int wr = 0;
- char *tfile = "/var/mms/db/tsql";
+ char file[MAXPATHLEN];
/* no provided password means use 'trust' */
if (dbpass) {
@@ -1249,10 +1230,11 @@ mgmt_set_db_pass(char *dbpass, nvlist_t *errs)
}
/* tell Postgres to use the new password */
- fd = open64(tfile, O_CREAT|O_TRUNC|O_WRONLY, 0600);
+ (void) snprintf(file, sizeof (file), "%s/../tsql", opts.path);
+ fd = open64(file, O_CREAT|O_TRUNC|O_WRONLY, 0600);
if (fd == -1) {
st = errno;
- MGMT_ADD_ERR(errs, tfile, st);
+ MGMT_ADD_ERR(errs, file, st);
return (st);
}
@@ -1265,19 +1247,19 @@ mgmt_set_db_pass(char *dbpass, nvlist_t *errs)
(void) close(fd);
if (wr == -1) {
- MGMT_ADD_ERR(errs, tfile, EIO);
- (void) unlink(tfile);
+ MGMT_ADD_ERR(errs, file, EIO);
+ (void) unlink(file);
return (EIO);
}
- st = mgmt_db_sql_exec(tfile, &opts);
+ st = mgmt_db_sql_exec(file, &opts);
if (st != 0) {
MGMT_ADD_ERR(errs, "postgres failure", st);
- (void) unlink(tfile);
+ (void) unlink(file);
return (st);
}
- (void) unlink(tfile);
+ (void) unlink(file);
/* next, set up the conf file */
st = update_pghba(ismd5, &opts, errs);
@@ -1286,10 +1268,12 @@ mgmt_set_db_pass(char *dbpass, nvlist_t *errs)
}
/* write the PGPASSFILE */
- fd = open64(db_cli, O_CREAT|O_TRUNC|O_WRONLY, 0600);
+ (void) snprintf(file, sizeof (file), "%s/../%s",
+ opts.path, MMS_MGMT_PGA);
+ fd = open64(file, O_CREAT|O_TRUNC|O_WRONLY, 0600);
if (fd == -1) {
st = errno;
- MGMT_ADD_ERR(errs, db_cli, st);
+ MGMT_ADD_ERR(errs, file, st);
return (st);
}
(void) fchown(fd, opts.dbuid, opts.dbgid);
@@ -1299,8 +1283,8 @@ mgmt_set_db_pass(char *dbpass, nvlist_t *errs)
(void) close(fd);
if (wr == -1) {
- MGMT_ADD_ERR(errs, db_cli, EIO);
- (void) unlink(db_cli);
+ MGMT_ADD_ERR(errs, file, EIO);
+ (void) unlink(file);
return (EIO);
}
@@ -1338,8 +1322,8 @@ update_pghba(boolean_t ismd5, mmsdb_opts_t *dbopts, nvlist_t *errs)
return (MMS_MGMT_NOARG);
}
- (void) snprintf(confpath, sizeof (confpath), "%s/data/%s", dbopts->path,
- "pg_hba.conf");
+ (void) snprintf(confpath, sizeof (confpath), "%s/pg_hba.conf",
+ dbopts->path);
st = stat64(confpath, &statbuf);
if (st != 0) {
diff --git a/usr/src/lib/mms/pg/Makefile.com b/usr/src/lib/mms/pg/Makefile.com
index 0475118b39..df35a01ebb 100644
--- a/usr/src/lib/mms/pg/Makefile.com
+++ b/usr/src/lib/mms/pg/Makefile.com
@@ -19,7 +19,7 @@
# CDDL HEADER END
#
#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#
@@ -49,7 +49,7 @@ CCFLAGS += $(C_BIGPICFLAGS)
CPPFLAGS += -DMMS_OPENSSL
CPPFLAGS += -I$(SRCDIR) -I$(SRC)/common/mms/mms
CPPFLAGS += -I$(SRC)/lib/mms/mms/common
-CPPFLAGS += -I/usr/include/pgsql/server
+CPPFLAGS += -I/usr/postgres/8.3/include/server
C99MODE = $(C99_ENABLE)
diff --git a/usr/src/lib/mms/pg/common/mapfile-vers b/usr/src/lib/mms/pg/common/mapfile-vers
index c166e634e3..d4035e1b6f 100644
--- a/usr/src/lib/mms/pg/common/mapfile-vers
+++ b/usr/src/lib/mms/pg/common/mapfile-vers
@@ -20,7 +20,7 @@
#
#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#
@@ -35,6 +35,7 @@ SUNWprivate_1.1 {
pg_detoast_datum = extern;
MemoryContextAlloc = extern;
CurrentMemoryContext = extern;
+ Pg_magic_func = extern;
local:
*;
};
diff --git a/usr/src/lib/mms/pg/common/pg_host_ident.c b/usr/src/lib/mms/pg/common/pg_host_ident.c
index 92d500e938..15ec693c91 100644
--- a/usr/src/lib/mms/pg/common/pg_host_ident.c
+++ b/usr/src/lib/mms/pg/common/pg_host_ident.c
@@ -18,22 +18,20 @@
*
* CDDL HEADER END
*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#include <postgres.h>
#include <fmgr.h>
-#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
-#endif
#include <string.h>
#include "mms_network.h"
#include "host_ident.h"
/*
- * Postgres server library for MMS client ip mms_address.
+ * Postgres server library for MMS client ip address.
*/
PG_FUNCTION_INFO_V1(pg_host_ident);
@@ -41,13 +39,13 @@ PG_FUNCTION_INFO_V1(pg_host_ident);
Datum
pg_host_ident(PG_FUNCTION_ARGS)
{
- text *pg_host_str;
- text *pg_ident;
- int len;
- char host_str[MMS_HOST_IDENT_LEN+1];
- char host[MMS_HOST_IDENT_LEN+1];
- char ip[MMS_IP_IDENT_LEN+1];
- char *ident;
+ void *pg_host_str;
+ void *pg_ident;
+ int32 len;
+ char host_str[MMS_HOST_IDENT_LEN+1];
+ char host[MMS_HOST_IDENT_LEN+1];
+ char ip[MMS_IP_IDENT_LEN+1];
+ char *ident;
/* test for null arg */
if (PG_NARGS() != 1 || PG_ARGISNULL(0)) {
@@ -56,13 +54,12 @@ pg_host_ident(PG_FUNCTION_ARGS)
}
/* get pointer to arg */
- /* LINTED: pointer cast may result in improper alignment */
- if ((pg_host_str = PG_GETARG_TEXT_P(0)) == NULL) {
+ if ((pg_host_str = (void *) PG_GETARG_TEXT_P(0)) == NULL) {
/* LINTED: end-of-loop code not reached */
PG_RETURN_NULL();
}
- /* get pointer to string */
+ /* check for null pointer */
if (VARDATA(pg_host_str) == NULL) {
/* LINTED: end-of-loop code not reached */
PG_RETURN_NULL();
@@ -70,8 +67,7 @@ pg_host_ident(PG_FUNCTION_ARGS)
/* get string length */
len = VARSIZE(pg_host_str) - VARHDRSZ;
- if (len < 1 || len > sizeof (host_str) ||
- len > (MMS_HOST_IDENT_LEN+1)) {
+ if (len < 1 || len >= sizeof (host_str)) {
/* LINTED: end-of-loop code not reached */
PG_RETURN_NULL();
}
@@ -80,20 +76,19 @@ pg_host_ident(PG_FUNCTION_ARGS)
(void) memcpy(host_str, VARDATA(pg_host_str), len);
host_str[len] = '\0'; /* must do!!! */
- /* find ident - either host name or ip mms_address */
+ /* find ident (ip address), host_str is a host name or ip address */
if ((ident = mms_host_ident(host_str, host, ip)) == NULL) {
/* LINTED: end-of-loop code not reached */
PG_RETURN_NULL();
}
- /* ident is what mm uses internally (ip mms_address or host name) */
+ /* ident is what mm uses internally (ip address) */
len = VARHDRSZ + strlen(ident);
- if ((pg_ident = (text*)palloc(len)) == NULL) {
+ if ((pg_ident = (void *) palloc(len)) == NULL) {
/* LINTED: end-of-loop code not reached */
PG_RETURN_NULL();
}
- (void) memset(pg_ident, 0, len);
- VARATT_SIZEP(pg_ident) = len;
+ SET_VARSIZE(pg_ident, len);
/* don't copy string null terminator, pg string struct has length */
(void) memcpy(VARDATA(pg_ident), ident, strlen(ident));
diff --git a/usr/src/lib/mms/pg/common/pg_uuid.c b/usr/src/lib/mms/pg/common/pg_uuid.c
index b1617a7278..e99bf3fe52 100644
--- a/usr/src/lib/mms/pg/common/pg_uuid.c
+++ b/usr/src/lib/mms/pg/common/pg_uuid.c
@@ -18,16 +18,13 @@
*
* CDDL HEADER END
*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#include <postgres.h>
#include <fmgr.h>
-#ifdef PG_MODULE_MAGIC
-PG_MODULE_MAGIC;
-#endif
#include <string.h>
#include <sys/types.h>
#include <sys/uuid.h>
@@ -50,19 +47,17 @@ PG_FUNCTION_INFO_V1(pg_get_uuid);
Datum
pg_get_uuid(PG_FUNCTION_ARGS)
{
- text *pg_uuid;
- int len;
- uuid_t uuid;
- char buf[UUID_POSTGRES_LEN+1];
+ void *pg_uuid;
+ int32 len;
+ uuid_t uuid;
+ char buf[UUID_POSTGRES_LEN+1];
len = VARHDRSZ + UUID_POSTGRES_LEN;
- pg_uuid = (text*)palloc(len);
- if (pg_uuid == NULL) {
+ if ((pg_uuid = (void *) palloc(len)) == NULL) {
/* LINTED: end-of-loop code not reached */
PG_RETURN_NULL();
}
- (void) memset(pg_uuid, 0, len);
- VARATT_SIZEP(pg_uuid) = len;
+ SET_VARSIZE(pg_uuid, len);
/* cefa7a9c-1dd2-11b2-8350-880020adbeef */
uuid_clear(uuid);
diff --git a/usr/src/pkgdefs/SUNWmmsu/depend b/usr/src/pkgdefs/SUNWmmsu/depend
index 2a94cec4fb..b3277142ee 100644
--- a/usr/src/pkgdefs/SUNWmmsu/depend
+++ b/usr/src/pkgdefs/SUNWmmsu/depend
@@ -19,7 +19,7 @@
# CDDL HEADER END
#
#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "@(#)depend 1.1 08/06/25 SMI"
@@ -51,5 +51,6 @@ P SUNWcsu Core Solaris, (Usr)
P SUNWcsd Core Solaris Devices
P SUNWcsl Core Solaris Libraries
P SUNWlxml The XML library
-P SUNWpostgr-libs The shared libraries required for any PostgreSQL clients
+P SUNWpostgr-83-server PostgreSQL database server
+P SUNWpostgr-83-client PostgreSQL client tools
P SUNWopensslr OpenSSL (Root)
diff --git a/usr/src/tools/scripts/check_rtime.pl b/usr/src/tools/scripts/check_rtime.pl
index 8ef2041cfe..494f37eb49 100644
--- a/usr/src/tools/scripts/check_rtime.pl
+++ b/usr/src/tools/scripts/check_rtime.pl
@@ -21,7 +21,7 @@
#
#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#
@@ -173,7 +173,8 @@ $SkipUnusedSearchPath = qr{
/usr/sfw/lib.*\ from\ .*libcrypto\.so\.0\.9\.8 | # non-OSNet
/usr/sfw/lib.*\ from\ .*libnetsnmp\.so\.5 | # non-OSNet
/usr/sfw/lib.*\ from\ .*libgcc_s\.so\.1 | # non-OSNet
- /usr.*\ from\ .*tst\.gcc\.exe # gcc built
+ /usr.*\ from\ .*tst\.gcc\.exe | # gcc built
+ /usr/postgres/8.3/lib.*\ from\ .*libpq\.so\.5 # non-OSNET
}x;
# Skip "unreferenced object=" ldd(1) diagnostics.
@@ -195,7 +196,7 @@ $SkipUnrefObject = qr{
/lib.*\ of\ .*libssl3\.so | # non-OSNET
/lib.*\ of\ .*libxml2\.so\.2 | # non-OSNET
/lib.*\ of\ .*libxslt\.so\.1 | # non-OSNET
- /lib.*\ of\ .*libpq\.so\.4 # non-OSNET
+ /lib.*\ of\ .*libpq\.so\.4 # non-OSNET
}x;
# Define any files that should only have unused (ldd -u) processing.