John Simpson wrote:
On 2007-09-19, at 1532, mlist wrote:
Please try creating a domain with a long name, up around 80-90
characters long.
...
I did as you said and I recieved errors. Here is the command I used
and the errors returned.
...
vmysql: error creating table
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_com':
Incorrect table name
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_com'
Error. Failed while attempting to add domain to auth backend
you missed the other error message. mysql has a limit of 64 bytes for
a table name (at least mysql versions 5.1, 5.0, and 5.1 do, i'm
assuming earlier versions had the same limit.)
also see RFC 1035 section 2.3.4. each portion of a domain name (i.e.
the "abc" in "abc.com") can be no longer than 63 bytes, and no full
hostname (i.e. "www.abc.com") can be longer than 255 bytes.
and since mysql has a limit of 64 bytes for a table name, you have
a... maybe not a bug, but a design flaw. the name "aaaaa(63
times).com" IS a valid domain name, but "aaaaa(63 times)_com" is NOT a
valid table name.
perhaps you shouldn't store each domain's data in a separate table?
i've never understood the reason for creating separate tables for each
domain anyway- but since i don't normally use a SQL back-end for
mailbox information, it's not something i really worry about.
Well then . . . that explains it. Thanks Rick, Joshua, and John. I'm
no full-time DBA wouldn't it take less time to query through a specific
table looking for data than it would to query one massive table? Any
one else have any thoughts? I'm curious to know which would perform better.
Matt