Main Tables Views Materialized Views Indexes Constraints Triggers Procedures Functions Packages Sequences Java Sources Jobs Sanity Check Index DDL scrips
Description Columns Primary key Check Constraints Foreign keys Unique Keys Options Indexes Referenced by Triggers Partitions

RHNCHANNEL

DDL script

Columns

NameTypeNullableDefault valueComment
IDNUMBER(38)N  
PARENT_CHANNELNUMBER(38)Y  
ORG_IDNUMBER(38)Y  
CHANNEL_ARCH_IDNUMBER(38)N  
LABELVARCHAR2(128)N  
BASEDIRVARCHAR2(256)N  
NAMEVARCHAR2(256)N  
SUMMARYVARCHAR2(500)N  
DESCRIPTIONVARCHAR2(4000)Y  
PRODUCT_NAME_IDNUMBER(38)Y  
GPG_KEY_URLVARCHAR2(256)Y  
GPG_KEY_IDVARCHAR2(14)Y  
GPG_KEY_FPVARCHAR2(50)Y  
END_OF_LIFETIMESTAMP(6) WITH LOCAL TIME ZONEY  
CHECKSUM_TYPE_IDNUMBER(38)Y  
RECEIVING_UPDATESCHAR(1)N('Y')  
LAST_MODIFIEDTIMESTAMP(6) WITH LOCAL TIME ZONEN(current_timestamp)  
LAST_SYNCEDTIMESTAMP(6) WITH LOCAL TIME ZONEY  
CHANNEL_PRODUCT_IDNUMBER(38)Y  
CHANNEL_ACCESSVARCHAR2(10)Y('private') 
MAINT_NAMEVARCHAR2(128)Y  
MAINT_EMAILVARCHAR2(128)Y  
MAINT_PHONEVARCHAR2(128)Y  
SUPPORT_POLICYVARCHAR2(256)Y  
CREATEDTIMESTAMP(6) WITH LOCAL TIME ZONEN(current_timestamp)  
MODIFIEDTIMESTAMP(6) WITH LOCAL TIME ZONEN(current_timestamp)  

Primary key:

Constraint NameColumns
RHN_CHANNEL_ID_PKID

Check Constraints:

Constraint NameCheck Condition
RHN_CHANNEL_RU_CKreceiving_updates in ('Y', 'N')

Foreign Keys:

Constraint NameColumnsReferenced tableReferenced ConstraintOn Delete Rule
RHN_CHANNEL_CAID_FKCHANNEL_ARCH_ID RHNCHANNELARCH RHN_CARCH_ID_PK NO ACTION
RHN_CHANNEL_CHECKSUM_FKCHECKSUM_TYPE_ID RHNCHECKSUMTYPE RHN_CHECKSUMTYPE_ID_PK NO ACTION
RHN_CHANNEL_CPID_FKCHANNEL_PRODUCT_ID RHNCHANNELPRODUCT RHN_CHANNELPROD_ID_PK NO ACTION
RHN_CHANNEL_ORG_FKORG_ID WEB_CUSTOMER WEB_CUSTOMER_ID_PK NO ACTION
RHN_CHANNEL_PARENT_CH_FKPARENT_CHANNEL RHNCHANNEL RHN_CHANNEL_ID_PK NO ACTION
RHN_CHANNEL_PRODUCT_NAME_CH_FKPRODUCT_NAME_ID RHNPRODUCTNAME RHN_PRODUCTNAME_ID_PK NO ACTION

Options:

OptionSettings
TablespaceUSERS
Index OrganizedNo
Generated by OracleNo
ClusteredNo
NestedNo
TemporaryNo

Indexes:

Index NameTypeUnuquenessColumnsDDL script
RHN_CHANNEL_ACCESS_IDXNORMALNONUNIQUECHANNEL_ACCESS DDL script
RHN_CHANNEL_ID_PKNORMALUNIQUEID DDL script
RHN_CHANNEL_LABEL_UQNORMALUNIQUELABEL DDL script
RHN_CHANNEL_NAME_UQNORMALUNIQUENAME DDL script
RHN_CHANNEL_ORG_IDXNORMALNONUNIQUEORG_ID , ID DDL script
RHN_CHANNEL_PARENT_ID_IDXNORMALNONUNIQUEPARENT_CHANNEL , ID DDL script

Referenced by:

TableConstraint
RHNCHANNELCONTENTSOURCE RHN_CCS_CID_FK
RHNCHANNELERRATA RHN_CE_CID_FK
RHNCHANNELFAMILYMEMBERS RHN_CF_MEMBERS_C_FK
RHNCHANNELCLONED RHN_CHANNELCLONE_FCID_FK
RHNCHANNELCLONED RHN_CHANNELCLONE_TCID_FK
RHNCHANNELCOMPS RHN_CHANNELCOMPS_CID_FK
RHNCHANNEL RHN_CHANNEL_PARENT_CH_FK
RHNCHANNELTRUST RHN_CHANNEL_TRUST_CID_FK
RHNCHANNELNEWESTPACKAGEAUDIT RHN_CNP_AT_CID_FK
RHNCHANNELNEWESTPACKAGE RHN_CNP_CID_FK
RHNCHANNELPERMISSION RHN_CPERM_CIDFFK
RHNCHANNELPACKAGE RHN_CP_CID_FK
RHNDISTCHANNELMAP RHN_DCM_CID_FK
RHNERRATAFILECHANNELTMP RHN_EFILECTMP_CID_FK
RHNERRATAFILECHANNEL RHN_EFILEC_CID_FK
RHNERRATANOTIFICATIONQUEUE RHN_ENQUEUE_CID_FK
RHNERRATAQUEUE RHN_EQUEUE_CID_FK
RHNKICKSTARTABLETREE RHN_KSTREE_CID_FK
RHNKICKSTARTCHILDCHANNEL RHN_KS_CC_CID_FK
RHNORGCHANNELSETTINGS RHN_ORGCSETTINGS_CID_FK
RHNRELEASECHANNELMAP RHN_RCM_CID_FK
RHNREGTOKENCHANNELS RHN_REG_TOK_CHN_SGS_FK
RHNSERVERCHANNEL RHN_SC_CID_FK
RHNSERVERPROFILE RHN_SERVER_PROFILE_BCID_FK
RHNSNAPSHOTCHANNEL RHN_SNAPCHAN_CID_FK
RHNSERVERNEEDEDCACHE RHN_SNCP_CID_FK

Triggers

RHN_CHANNEL_ACCESS_TRIG

Legend: comment string keyword reserved word operator
CREATE TRIGGER 
rhn_channel_access_trig
after update on rhnChannel
for each row

REFERENCING NEW AS NEW OLD AS OLD
begin
   if :old.channel_access = 'protected' and
      :new.channel_access != 'protected'
   then
      delete from rhnChannelTrust where channel_id = :old.id;
   end if;
end;

RHN_CHANNEL_DEL_TRIG

Legend: comment string keyword reserved word operator
CREATE TRIGGER 
rhn_channel_del_trig
before delete on rhnChannel
for each row

REFERENCING NEW AS NEW OLD AS OLD
declare
	cursor snapshots is
		select	snapshot_id id
		from	rhnSnapshotChannel
		where	channel_id = :old.id;
begin
	for snapshot in snapshots loop
		update rhnSnapshot
			set invalid = lookup_snapshot_invalid_reason('channel_removed')
			where id = snapshot.id;
		delete from rhnSnapshotChannel
			where snapshot_id = snapshot.id
				and channel_id = :old.id;
	end loop;
end;

RHN_CHANNEL_MOD_TRIG

Legend: comment string keyword reserved word operator
CREATE TRIGGER 
rhn_channel_mod_trig
before insert or update on rhnChannel
for each row

REFERENCING NEW AS NEW OLD AS OLD
begin
	:new.last_modified := current_timestamp;
	-- this is a really bad way of saying "if all we''re
	-- changing is the date"
	if updating then
		if (:old.id != :new.id) or
		  (:old.parent_channel != :new.parent_channel) or
		  (:old.org_id != :new.org_id) or
		  (:old.channel_arch_id != :new.channel_arch_id) or
		  (:old.label != :new.label) or
		  (:old.basedir != :new.basedir) or
		  (:old.name != :new.name) or
		  (:old.summary != :new.summary) or
		  (:old.description != :new.description) then
			:new.modified := current_timestamp;
		end if;
	end if;
end;