Main Tables Views Materialized Views Indexes Constraints Triggers Procedures Functions Packages Sequences Java Sources 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(64)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_LIFEDATEY  
RECEIVING_UPDATESCHAR(1)N'Y'  
LAST_MODIFIEDDATEN(sysdate)  
CHANNEL_PRODUCT_IDNUMBER(38)Y  
CREATEDDATEN(sysdate)  
MODIFIEDDATEN(sysdate)  

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_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
TablespaceDATA_TBS
Index OrganizedNo
Generated by OracleNo
ClusteredNo
NestedNo
TemporaryNo

Indexes:

Index NameTypeUnuquenessColumnsDDL 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
RHN_CHANNEL_URL_ID_IDXNORMALNONUNIQUELABEL , ID DDL script

Referenced by:

TableConstraint
RHNCHANNELDOWNLOADS RHN_CD_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
RHNCHANNELNEWESTPACKAGEAUDIT RHN_CNP_AT_CID_FK
RHNCHANNELNEWESTPACKAGE RHN_CNP_CID_FK
RHNCHANNELPERMISSION RHN_CPERM_CIDFFK
RHNCHANNELPARENT RHN_CP_CH_FK
RHNCHANNELPACKAGE RHN_CP_CID_FK
RHNCHANNELPARENT RHN_CP_PARENT_CH_FK
RHNDISTCHANNELMAP RHN_DCM_CID_FK
RHNERRATAFILECHANNELTMP RHN_EFILECTMP_CID_FK
RHNERRATAFILECHANNEL RHN_EFILEC_CID_FK
RHNKICKSTARTABLETREE RHN_KSTREE_CID_FK
RHNKICKSTARTCHILDCHANNEL RHN_KS_CC_CID_FK
RHNORGCHANNELSETTINGS RHN_ORGCSETTINGS_CID_FK
RHNPATHCHANNELMAP RHN_PATH_CHANNEL_MAP_CID_FK
RHNPRODUCTCHANNEL RHN_PC_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

Triggers

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 := sysdate;
	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 := sysdate;
		end if;
	end if;
end;