From owner-freebsd-ports@FreeBSD.ORG Sun Aug 22 22:09:23 2004 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9BD6E16A4CE; Sun, 22 Aug 2004 22:09:23 +0000 (GMT) Received: from fillmore.dyndns.org (port-212-202-50-15.dynamic.qsc.de [212.202.50.15]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5647E43D39; Sun, 22 Aug 2004 22:09:23 +0000 (GMT) (envelope-from eikemeier@fillmore-labs.com) Received: from dhcp-8.local ([172.16.0.8] helo=dhcp-10.local) by fillmore.dyndns.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.41 (FreeBSD)) id 1Bz0Wd-000GJU-Ee; Mon, 23 Aug 2004 00:09:22 +0200 Date: Mon, 23 Aug 2004 00:09:22 +0200 Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v482) To: "Jacques A. Vidrine" From: Oliver Eikemeier In-Reply-To: <20040822213304.GF17478@madman.celabo.org> Message-Id: Content-Transfer-Encoding: 7bit User-Agent: KMail/1.5.9 cc: freebsd-vuxml@freebsd.org cc: ports@freebsd.org cc: Dan Langille Subject: Re: database tables for VuXML X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2004 22:09:23 -0000 Jacques A. Vidrine wrote: > On Sun, Aug 22, 2004 at 10:53:26PM +0200, Oliver Eikemeier wrote: >> Jacques A. Vidrine wrote: >> >>> The `ranges' table perhaps looks erm interesting. In this case, >>> I encoded each package version number into four 32-bit integers. >>> This allowed one to lookup an affected package completely in SQL. >>> However, the encoding I used may now be incorrect in some ways, since >>> pkg_install et al were recently changed to treat version numbers >>> differently. >> >> I can just donate some code that converts version numbers into >> arbitrary >> precision floting point numbers between zero and one. > > Sure, that's great if it covers all cases! Floating point is limited > to something like 64 bits, and I found version numbers that required > almost 96 bits in the encoding I used (which I believe to be pretty > tight). > >> An alternate (and >> maybe easier to handle) form are hex strings which can simply compared >> with strcmp. > > Definitely easier to handle (assuming everything is padded correctly). > I found using integer comparisons was quite a bit faster, but this > could be a micro-optimization. Heck, I'm not convinced that the whole > exercise of encoding version strings is not a micro-optimization :-) > but it is fun and interesting. Ok, I check if my prototypes still work. I'm not sure about the value of encoding version string (especially since you have to reencode everything again in case we make some additions), but if you have applications for it I won't be in the way. >>>> description text not null, >> >> FWIIW, I would prefer to have a null description that is replaced by >> some dummy text when rendering. >> >>>> date_discovery date , >> >> That same here: don't assume a valid date (or map non-existing dates to >> 1970-1-1). The reason is that I want to have a form of `quick' entries, >> which are not fully reviewed. > > The current version of VuXML does not allow these to be null, and I it > is probably good to reflect those constraints in the database. Which means you possibly have to change the database description when upgrading. >>> I think this is also easier to >>> modify if we get new children of , e.g. the and >>> tags that are currently in the VuXML pre-1.2 DTD. >> >> Ehm, is the DTD somewhere available form review? And how about the >> csh-style braces / tags suggested in >> >> ? > > http://www.vuxml.org/dtd/vuxml-1/vuxml-pre12.dtd > http://www.vuxml.org/dtd/vuxml-1/vuxml-model-pre12.mod > > The is directly from the previous thread here, while > was recently added due to a conversation from last week > that I thought was here ... but I don't see it in the archives, so I'm > clearly mistaken about that. should be stuff like i386? I'm not sure that there are many applications for that. Usually the description is sufficient for those purposes. Or did you have something different in mind? -Olver