bugfix, giving id to dependency resolver
This commit is contained in:
		@@ -165,12 +165,10 @@ var installCmd = &cobra.Command{
 | 
				
			|||||||
		for _, inputName := range args {
 | 
							for _, inputName := range args {
 | 
				
			||||||
			runtime.GC()
 | 
								runtime.GC()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			var exist bool
 | 
								var exist bool = false
 | 
				
			||||||
			err := db.QueryRow("SELECT EXISTS(SELECT 1 FROM packages WHERE id = ?)", inputName).Scan(&exist)
 | 
								err := db.QueryRow("SELECT EXISTS(SELECT 1 FROM packages WHERE id = ?)", inputName).Scan(&exist)
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				if err != sql.ErrNoRows {
 | 
									log.Fatal(err)
 | 
				
			||||||
					log.Panic(err)
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if exist {
 | 
								if exist {
 | 
				
			||||||
				installed, err := utils.CheckIfPackageInstalled(inputName)
 | 
									installed, err := utils.CheckIfPackageInstalled(inputName)
 | 
				
			||||||
@@ -265,7 +263,7 @@ var installCmd = &cobra.Command{
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			fmt.Printf("Checking dependencies of (%s)\n", inputName)
 | 
								fmt.Printf("Checking dependencies of (%s)\n", inputName)
 | 
				
			||||||
			dependenciesRaw, err := utils.GetDependencies(db, inputName)
 | 
								dependenciesRaw, err := utils.GetDependencies(db, id)
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				log.Fatal(err)
 | 
									log.Fatal(err)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@@ -274,7 +272,6 @@ var installCmd = &cobra.Command{
 | 
				
			|||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				log.Fatal(err)
 | 
									log.Fatal(err)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					 | 
				
			||||||
			if len(dependencies) > 0 {
 | 
								if len(dependencies) > 0 {
 | 
				
			||||||
				var wg sync.WaitGroup
 | 
									var wg sync.WaitGroup
 | 
				
			||||||
				var mu sync.Mutex
 | 
									var mu sync.Mutex
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -289,10 +289,6 @@ func GetDependencies(db *sql.DB, id string) (map[string]string, error) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func ResolvDependencies(depnList map[string]string) ([]string, error) {
 | 
					func ResolvDependencies(depnList map[string]string) ([]string, error) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if len(depnList) > 0 {
 | 
					 | 
				
			||||||
		return []string{}, nil
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	db, err := sql.Open("sqlite", consts.IndexDB)
 | 
						db, err := sql.Open("sqlite", consts.IndexDB)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return []string{}, err
 | 
							return []string{}, err
 | 
				
			||||||
@@ -308,13 +304,13 @@ func ResolvDependencies(depnList map[string]string) ([]string, error) {
 | 
				
			|||||||
		switch {
 | 
							switch {
 | 
				
			||||||
		case strings.HasPrefix(constraint, ">"):
 | 
							case strings.HasPrefix(constraint, ">"):
 | 
				
			||||||
			filter = fmt.Sprintf("AND serial > %s", value)
 | 
								filter = fmt.Sprintf("AND serial > %s", value)
 | 
				
			||||||
			order = "ORDER BY serial ASC LIMIT 1"
 | 
								order = "ORDER BY serial DESC LIMIT 1"
 | 
				
			||||||
		case strings.HasPrefix(constraint, "<="):
 | 
							case strings.HasPrefix(constraint, "<="):
 | 
				
			||||||
			filter = fmt.Sprintf("AND serial <= %s", value)
 | 
								filter = fmt.Sprintf("AND serial <= %s", value)
 | 
				
			||||||
			order = "ORDER BY serial DESC LIMIT 1"
 | 
								order = "ORDER BY serial ASC LIMIT 1"
 | 
				
			||||||
		case strings.HasPrefix(constraint, "<"):
 | 
							case strings.HasPrefix(constraint, "<"):
 | 
				
			||||||
			filter = fmt.Sprintf("AND serial < %s", value)
 | 
								filter = fmt.Sprintf("AND serial < %s", value)
 | 
				
			||||||
			order = "ORDER BY serial DESC LIMIT 1"
 | 
								order = "ORDER BY serial ASC LIMIT 1"
 | 
				
			||||||
		case strings.HasPrefix(constraint, "="):
 | 
							case strings.HasPrefix(constraint, "="):
 | 
				
			||||||
			filter = fmt.Sprintf("AND serial = %s", value)
 | 
								filter = fmt.Sprintf("AND serial = %s", value)
 | 
				
			||||||
			order = ""
 | 
								order = ""
 | 
				
			||||||
@@ -331,7 +327,6 @@ func ResolvDependencies(depnList map[string]string) ([]string, error) {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		resolved = append(resolved, packageId)
 | 
							resolved = append(resolved, packageId)
 | 
				
			||||||
 | 
					 | 
				
			||||||
		dp, err := GetDependencies(db, packageId)
 | 
							dp, err := GetDependencies(db, packageId)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return resolved, err
 | 
								return resolved, err
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user