Re: [sorta off topic] Re: rcs udf for MySQL
Jason Pyeron [EMAIL PROTECTED] wrote on 08/16/2005 04:17:15 PM: On Tue, 16 Aug 2005 [EMAIL PROTECTED] wrote: After following your link, I am sure that some RCS systems that use MySQL as a backend *may* use UDFs as part of their persistence logic, but those would be specific to the RCS product you are curious about. There aren't any generic UDFs that will apply to all verson contol front-ends. Does the one in the link use any UDFs? I couldn't tell from what I read and to be perfectly honest, I couldn't figure out from the reading that RCS actually used MySQL at all. Is this what you wanted to know or have I still missed something vital to the question? It's been one of those days for me. Jason Pyeron [EMAIL PROTECTED] wrote on 08/16/2005 02:15:34 PM: http://www.cs.purdue.edu/homes/trinkle/RCS/ RCS does not use MySQL or any other SQL engine. I am looking to use a SQL backend for RCS. RCS is a specific tool unlike source control management (SCM), it is a text file database. There are no SQL based RCS implimentations that I know of, that was why I asked in the first place. A RCS file is comprised of: meta data bout the state of the file current source 0..N reverse deltas from current source meta data about the various revisions represented, including who, when, why. ex: head1.2; access; symbols; locks; strict; comment @# @; 1.2 date2005.07.31.20.05.02;author jpyeron; state Exp; branches; next1.1; 1.1 date2005.07.07.05.20.31;author jpyeron; state Exp; branches; next; desc @@ 1.2 log @my comment about this version is a BLOB TEXT delimited by the (at)s @ text @Here it the contents of my file it is many lines long line 3 line 4 line 5 line 6 line 7 line 8 line 9 then terminated by the (at) @ 1.1 log @Initial version @ text @d9 1 a9 1 line 9 original version @ Now... don't be so hasty. MS SQL has a form of RCS you can use to check in and check out stored procedures and other design elements using Visual Source Safe (VSS). VSS acutally uses extended stored procedures (the mutant cousins of UDFs) to perform the locking and unlocking of various database elements. I think this might count as one version of a database-based RCS (even though I think the deltas are stored elsewhere as text). The metadata headers you describe should be easily convertable to database fields and the actual delta data could either be stored in a blob (one blob per set of changes) or separately listed in their own table (one set of delta rows per set of changes). Doing an RCS with a database is not complex to design but implementaion may be slower than you like just due to the overhead of running a SQL query (or mulitple queries) vs. the speed of directly parsing local text files. A future optimization may be for you to use the HANDLER interface with MyISAM tables in order to quickly retrieve your delta blobs. Just something to think about. Shawn Green Database Administrator Unimin Corporation - Spruce Pine
Re: [sorta off topic] Re: rcs udf for MySQL
On Tue, 16 Aug 2005 [EMAIL PROTECTED] wrote: Now... don't be so hasty. MS SQL has a form of RCS you can use to check in and check out stored procedures and other design elements using Visual Source Safe (VSS). VSS acutally uses extended stored procedures (the mutant cousins of UDFs) to perform the locking and unlocking of various database elements. I think this might count as one version of a database-based RCS (even though I think the deltas are stored elsewhere as text). I was looking for RCS, I am looking to retool our CVS repository. The metadata headers you describe should be easily convertable to database fields and the actual delta data could either be stored in a blob (one blob per set of changes) or separately listed in their own table (one set of delta rows per set of changes). Started on this a few hours ago. Paused to look at Subversion, they use Berkley DB. Doing an RCS with a database is not complex to design but implementaion may be slower than you like just due to the overhead of running a SQL query (or mulitple queries) vs. the speed of directly parsing local text files. It would be a lot faster, since you could do the delta row set collation faster, if stored properly. See page 8 (section 3.2) of RCS A System for Version Control by Walter F. Tichy 1991. A future optimization may be for you to use the HANDLER interface with MyISAM tables in order to quickly retrieve your delta blobs. Just something to think about. Using Innodb, for transactions. -jason -- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - - - Jason Pyeron PD Inc. http://www.pdinc.us - - Partner Sr. Manager 7 West 24th Street #100 - - +1 (443) 921-0381 Baltimore, Maryland 21218 - - - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, purge the message from your system and notify the sender immediately. Any other use of the email by you is prohibited. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]