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

Reply via email to