Re: Proposed SQL schema rev1

Todd Nemanich <[email protected]>
Newsgroups gmane.network.up2date.current.devel
Message-ID <[email protected]>
Hunter Matthews wrote:

> On Thu, 2002-01-31 at 18:53, Todd Nemanich wrote:
> 
>>Entities Name(attribute,attribute,...) :
>>
>>-Packages (name, version, release, epoch, 
> 
> You need a string to point to both the rpm on the filesystem and a
> string to point to the header on the filesystem.


Ok. This will be done in package files.


>>-Package_layers (layer_name): 
>>
> 
> I can't see where this would be used at all. "Group"ing of packages in
> RHN is strictly by channel and sub-channel. What feature(s) would this
> support?
> 


Ok, I'll cut this out for now. When I started on 
this thing (about a year ago, when I had free 
time) I was looking at using it to hold enough 
information to build a kickstart file off of, and 
then be able to kickstart off the system itself 
(like ghosting the box). So this was aimed toward 
that end.

> 
>>-Package_files (arch, os, os_version, 
> 
> OH, I see. You seperated the concept of a package from a package file.
> You meant to reduce the number of packages by letting multiple "package
> files" share the same deps/provides, didn't you? 
> 
> Thats a good idea, but tragically won't work. Glibc i586 provides stuff
> that glibc i386 doesn't. 
> 


Grrr.... That sucks. Ok, I'll alter it. That's 
going to cause a little reorganization


> 
>>-Checksums (file, checksum, config): 
> 
> What would this provide? RHN itself never cares what the "interior"
> checksums for a package are. In fact, it lets the network layer worry
> about transmission problems. What feature would this provide?


This can be cut for now. It is aimed to allow 
current to provide a sort of checksumming service, 
which is not part of RHN. Again, this is legacy 
from when I started.


> 
> 
>>-Packager (Name, email, gpg_key): 
> 
> Future. I could see this being useful, but not for the first design
> please.


Cut.



>>
>>
>>Packages(1) <requires> Dependencies(N) : This 

 >>

>>Packages(1) <provides> Provides(N) : These are the 

 >>

>>Dependencies(1) <solved by> Provides(N) 
> 
> Cut both, in the first run.


Really? Ok....


> 
> 
>>Channels(1) <works with> Channels(N) : This allows 
>>
> 
> Perfect. We want to mirror how RHN does it, which is 
>                        P
>                   +----+----+
>                   |    |    |
>                   C    C    C 
> 
> Where a parent channel (P) may have any number of children (C), but no
> child is the parent of anything, and there is no relationship between
> children. (IE, a tree may never have a height of more than 1)


Ok, I'm going to try and get a trigger together to 
enforce this.


>>
>>That is the schema I'm looking at in it's current 
>>form (no pun intended). Additionally, I will be 
>>providing a couple of triggers that can be used to 
>>provide strict dependency checking upon packages 
>>being inserted or added to a channel. The triggers 
>>will be in PgPLSQL.
>>
> 
> Make sure this strictness can be turned on or off - it is often the case
> that you want package trees which are incomplete: IE not every package
> has every dependency satisfied in the tree. This occurs in the real
> world for odd technical or political reasons. 


Perhaps at some point I will have some 
configuration option set within the DB that will 
say if the trigger should be used or not. For now, 
you either use them, or you don't.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.