# # # patch "work.cc" # from [aa9b143c8200a66da1372f863cf5f172a4e12a15] # to [49ef124c843675a8a4b13ffcbd0441887414af3f] # ============================================================ --- work.cc aa9b143c8200a66da1372f863cf5f172a4e12a15 +++ work.cc 49ef124c843675a8a4b13ffcbd0441887414af3f @@ -485,14 +485,17 @@ read_options_file(any_path const & optsp if (opt == "database") { - if (val.find(':') == 0 && val != memory_db_identifier) + E(val != memory_db_identifier, origin::user, + F("a memory database '%s' cannot be used in a workspace") + % memory_db_identifier); + + if (val.find(':') == 0) { opts.dbname_alias = val; opts.dbname_given = true; opts.dbname_type = managed_db; } else - if (val != memory_db_identifier) { opts.dbname = system_path(val, origin::workspace); opts.dbname_given = true; @@ -528,6 +531,10 @@ write_options_file(bookkeeping_path cons { basic_io::stanza st; + E(opts.dbname_type != memory_db, origin::user, + F("a memory database '%s' cannot be used in a workspace") + % memory_db_identifier); + // if we have both, alias and full path, prefer the alias if (opts.dbname_type == managed_db && !opts.dbname_alias.empty()) st.push_str_pair(symbol("database"), opts.dbname_alias);