Skip to content

solver should complain if it encounters conflicting names instead proceeding to an impossible, exhaustive search #377

Open
@o1lo01ol1o

Description

@o1lo01ol1o

I have a database of 58 tables that appears to make beam-migrate choke:

creationCommands' = Pg.simpleSchema
  (Pgm.backendActionProvider Pgm.migrationBackend)
  (Pgm.defaultMigratableDbSettings :: Pg.CheckedDatabaseSettings
      Pg.Postgres
      FoodDb
  )

main = print $ fmap (pgRenderSyntaxScript . fromPgCommand) <$> creationCommands'

doesn't seem to terminate.

I've read the manual section on the solver and I see that the it is supposed to terminate. If I compile with -fllvm and -O2 memory consumption is better, but it currently I'm at about 201gb of memory usage with -N6.

Is there a way of addressing this? I've commented out tables from the database and tried running the above: There's no reliable way (or relation that I can see) to cause the the blowup. In one case, 16 tables are fine, and one additional table cause non-termination.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions