[ic] MySQL tables and text files -- Oddity?

Orko interchange-users@interchange.redhat.com
Thu Mar 7 18:22:00 2002


This may be an odd statement, but I can't seem to grasp what is really
going on with the user data when using MySQL.

My basic specs:

IC 4.8.3
RedHat 7.1
MySQL 3.23.36
Perl 5.6.0

I realize that IC uses text files for it's tables by default, and adding
in MySQL tables has to be done correctly for it to use them instead of
the text files.  I used the foundation demo as a baseline to start from,
and it set up MySQL tables for the following:

affiliate
area
cat
country
gift_certs
inventory
merchandising
options
order_returns
orderline
pricing
products
state
transactions
userdb

I have been running an IC catalog for about a month now, and have a
sizable userdb (>100k users) as a result.  I just found out though, that
something is not working the way I was thinking it was working.. ( I
don't think that means what you *think* it means ;) )

In my <CATALOG_ROOT>/products/ directory, I see the following:


-rw-------    1 intercha intercha       19 Dec 19 18:39 userdb.autonumber
-rw-------    1 intercha intercha        1 Dec 19 18:39 userdb.sql
-rw-r--r--    1 intercha intercha 13257625 Feb 21 05:25 userdb.txt

This is also true for the other tables in the list above.  They have a
txt file that holds all of the data in the MySQL DB.

Even though my MySQL DB is finctioning correctly and the user data is
being saved there, all of the data is also being saved in the userdb.txt
file.  Is there a problem with my setup, or is this normal?  I haven't
really been able to find something that says that IC needs both in order
to operate.  Having a text file that is required (and getting really
big, really fast!) is not something that I would imagine would help in
the speed of the cart, and I have noticed a huge slowdown in response in
the Admin interface when going to the "customers" section.  This worries
me for future ramp ups...

Another oddity that really threw me for a loop was seeing the following:

1) bring up MySQL and search for a user
2) clear a field for that user using the mysql client
3) Verified that the field was empty
4) restarted IC
5) field was populated with the old data!

Now am I not seeing this correctly, or is there something that IC is
doing that I don't know about, like checking the DB against the text
file and "fixing" any data that it sees is different?

Thanks in advance,

-- orko