Thanks. Great.

Just to be sure I've communicated what I had in mind clearly, I'll say I
didn't think you'd ever retry the good records...  as they shouldn't
need to be retried because they've made it into the database. However,
Saving the good records somewhere  is a good idea since someone is bound
to get bit from a "disappearing" import. Perhaps the best solution is to
write them to a new file, *.xml.done as each record is successfully
imported. Anyway, I think you got the main jist...  widdle down the
import so it's easy to find and fix those nagging leftover imports that
fail.

Daniel


On Thu, 2007-03-01 at 20:11 -0800, Chris Howe wrote:
> Daniel,
> 
> I like it.  In addition maybe have an option to write the good records
> to one file and the bad records to another...Follow Andrew's recent
> counting pattern and retry both files with the good ones first. I'll
> probably put some time away for it next weekend.
> 
> 
> --- Daniel Kunkel <[EMAIL PROTECTED]> wrote:
> 
> > Chris...
> > 
> > Another way I've thought about doing this is to "distructively widdle
> > down" a directory import.
> > 
> > The idea is to load as many records as possible into the database,
> > and
> > delete them from the import directory as they are imported. The
> > system
> > already does this on a file level, but I was thinking that doing it
> > on a
> > record level would take care of all your issues, and leave someone
> > with
> > a much smaller mess to clean up with the "hopefully few" records that
> > are left that have problems.
> > 
> > Optionally going another step... It would be great if it even could
> > handle "circular references." An implementation scheme that might
> > work
> > would do it by working backwards, moving each single record that
> > causes
> > a problem to a new directory to be re-attempted the next iteration.
> > Hopefully, when you the right combination of problem records are
> > removed, the circular reference will be accepted in one lump commit.
> > 
> > Daniel
> > 
> > 
> > On Thu, 2007-03-01 at 14:23 -0800, Chris Howe wrote:
> > > The error is most likely on this side of the keyboard, but the
> > > dummy-fks didn't work for me going from mysql to postgres.  Even
> > with
> > > it ticked, postgres got mad about referential integrity.  I didn't
> > dig
> > > into it any further, that's going to be one of the things I do look
> > > into when i set aside some time.
> > > 
> > > I'm just thinking abstractly, wouldn't something like the following
> > > work for writing to the correct order
> > > 
> > > Start with a HashSet
> > > 
> > > Get Record
> > > If has parent 
> > >   get parent
> > >   Is parent in Hashset?
> > >   yes->write record
> > >   no-> does parent have parent?
> > >   ..etc
> > > If does not have parent
> > >   write record
> > > 
> > > 
> > > --- "David E. Jones" <[EMAIL PROTECTED]> wrote:
> > > 
> > > > 
> > > > On Mar 1, 2007, at 1:57 PM, Chris Howe wrote:
> > > > 
> > > > > 2. Data write/load order for hierarchy fk integrity (parent*Id
> > ->
> > > > *Id)
> > > > 
> > > > > I think 2 can be addressed pretty well (of course not 100% fool
> > > > proof)
> > > > > if the output file is written in the right order.
> > > > 
> > > > This is actually not possible to do, ie sorting a graph with
> > loops is
> > > >  
> > > > NP-hard.
> > > > 
> > > > That is why we have the dummy-fks thing, which of course should
> > ONLY 
> > > > 
> > > > be used for a case like this where you are sure that there are no
> > bad
> > > >  
> > > > fk records.
> > > > 
> > > > -David
> > > > 
> > > > 
> > > 
> > -- 
> > Daniel
> > 
> > *-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-
> > Have a GREAT Day!
> > 
> > Daniel Kunkel           [EMAIL PROTECTED]
> > BioWaves, LLC           http://www.BioWaves.com
> > 14150 NE 20th St. Suite F1
> > Bellevue, WA 98007
> > 800-734-3588    425-895-0050
> > http://www.Apartment-Pets.com  http://www.Illusion-Optical.com
> > http://www.Card-Offer.com      http://www.RackWine.com
> > http://www.JokesBlonde.com     http://www.Brain-Fun.com 
> > *-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-
> > 
> > 
> 

Reply via email to