Jaymer wrotethere are 2 issues... one of database size/throughput/back end index searching, etc., and
front end handling via Aware.
Agreed. It seems to work fine in the front end but goes bandy when saved, implying a contradiction in how long numbers are handled.
RE #2: I'm not even sure how nicely AIM handles dynamic formatting based on a phone # format string...
I don't want numbers in any special format. I want them in raw international format (eg 442038039999 for a UK 03 number), hence why I normally store these in a bigint in MySQL. Sometimes the numbers require prefixes and some countries handle DDI (or DID) as a postfix to the main dialled number (instead of the last N digits being the DDI). Getting rarer but it still happens.
Q: Do you really think you're going to need to search for a range of phone #s between 2 values?
Absolutely. In some instances the same number ranges can be supplied by many telecoms carriers, so if I have 20 million numbers supplied by 7 carriers that's either a 140 million record lookup or seven "between" startnum & endnum lookups. These look ups are real time on arrival of a phone call (there is a telephony backend as well as an administrative one).
...then there is the issue of a dynamic field not updating based on a real-time field change in the UI.
For me, number fields have been updating fine in the UI, so not seen that issue myself.
...easy for any platform to search for a string between 8135550000 and 8135559999. Doesn't matter if its a string ...
Never tried that before (never needed to), but I'll give it a go and see what happens.
You might consider removing country prefix to a separate field. And extension as a suffix field.
Yes, if I really can't store a bigint then I'll have to look at some other way. Might have a knock on effect to the telephony servers though, which was a pain I was trying to avoid. I'll have gone from replacing the UI to rebuilding most of the infrastructure code.