[ic] Database directives clarification

Peter peter at pajamian.dhs.org
Fri Dec 3 07:18:21 UTC 2010

On 03/12/10 19:36, Paul Jordan wrote:
> I feel confident I am doing things right, but would like some
> verification, especially on some things that were not really clear in
> the docs/archives.
> #1, table 'foo' is in the databaseA running catalogA. CatalogB runs on
> DatabaseB, but wants to also use DatabaseA 'foo' table. DatabaseB will
> need the following:
> A: catalogB/dbconf/foo.mysql  (with appropriate User/Pass/DSN)
> B: catalogB/products/foo.txt
> C: catalogB/products/.foo.sql
> My real question is are B and C necessary?

Yes, because (presumably) catalogB can't access these files from
catalogA (and doesn't know how).  It's relatively harmless to have them
in two places, though so I wouldnt' spend a lot of time worrying over this.

> #2 Using the same circumstances in #1 above, would CatalogB's foo.mysql
> file reference simply foo.txt,


> or would it use an absolute path to foo.txt in catalogA?


> I guess I am really thrown off by there being two
> .txt files for this table. Something seems off putting about that.

Think of the ./txt files as just being a local working copy for each
catalog, that may help.

> #3 The docs all mention NoImport being a catalog.cfg directive, however
> I have been using it directly in my .mysql files. I also have .sql files
> in place. Is my use of NoImport incorrect, and I am just not noticing it
> because of my .sql files? So in my setup I might have NoImport in half a
> dozen or more .mysql files, each one referencing only its table.

the .mysql files are simply an extension of catalog.cfg (and included
into catalog.cfg).  Interchange simply sees all the .mysql files plus
the catalog.cfg (and a few other files) as being one huge catalog.cfg
file.  So everything in a .mysql file *is* a catalog.cfg directive.
What you are doing is incorrect and Interchange will interpret it as if
you are specifying the NoImport directive multiple times and hence the
last one that Interchange sees (after it concatenates everything
together) is the one that takes effect.


More information about the interchange-users mailing list