[darwinbuild-changes] [308] trunk/darwinxref/plugins/register.c

source_changes at macosforge.org source_changes at macosforge.org
Wed Oct 4 02:02:31 PDT 2006


Revision: 308
          http://trac.macosforge.org/projects/darwinbuild/changeset/308
Author:   kevin
Date:     2006-10-04 02:02:31 -0700 (Wed, 04 Oct 2006)

Log Message:
-----------
- delete mach_o_objects and mach_o_symbols on a per-project basis
  (deleting on a per-file basis left stale files and was less efficient)

Modified Paths:
--------------
    trunk/darwinxref/plugins/register.c

Modified: trunk/darwinxref/plugins/register.c
===================================================================
--- trunk/darwinxref/plugins/register.c	2005-11-30 01:52:44 UTC (rev 307)
+++ trunk/darwinxref/plugins/register.c	2006-10-04 09:02:31 UTC (rev 308)
@@ -606,10 +606,7 @@
 
 static int register_libraries(int fd, const char* build, const char* project, const char* filename, int* isMachO) {
 	int res;
-	
-	SQL("DELETE FROM mach_o_symbols WHERE mach_o_object IN (SELECT serial FROM mach_o_objects WHERE build=%Q AND project=%Q AND path=%Q)", build, project, filename);
-	SQL("DELETE FROM mach_o_objects WHERE build=%Q AND project=%Q AND path=%Q;", build, project, filename);
-	
+		
 	uint32_t magic;
 	
 	res = read(fd, &magic, sizeof(uint32_t));
@@ -678,6 +675,10 @@
 	SQL("DELETE FROM unresolved_dependencies WHERE build=%Q AND project=%Q", 
 		build, project);
 
+	SQL("DELETE FROM mach_o_objects WHERE build=%Q AND project=%Q", build, project);
+	
+	SQL("DELETE FROM mach_o_symbols WHERE mach_o_object NOT IN (SELECT serial FROM mach_o_objects WHERE build=%Q AND project=%Q)", build, project);
+
 	//
 	// Enumerate the files in the path (DSTROOT) and associate them
 	// with the project name and version in the sqlite database.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/darwinbuild-changes/attachments/20061004/370d2ef6/attachment-0001.html


More information about the darwinbuild-changes mailing list