Please update your references, see the urls I posted below. I read there <<The original version of RFC 3696 did indeed say 320 was the maximum length, but John Klensin subsequently accepted this was WRONG.>> http://www.rfc-editor.org/errata_search.php?rfc=3696
Jacques Adrian Crum wrote: > Email addresses can be up to 320 characters long (64 + 1 + 255). > > Adrian Crum > Sandglass Software > www.sandglass-software.com > > On 10/6/2013 1:03 PM, [email protected] wrote: >> Author: jleroux >> Date: Sun Oct 6 20:03:12 2013 >> New Revision: 1529674 >> >> URL: http://svn.apache.org/r1529674 >> Log: >> Same restriction for email addresses than recently done for url. An email >> address is now definitively no more than 254 >> characters: https://en.wikipedia.org/wiki/Email_address#Syntax >> http://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address#answer-574698 >> Also a CC number and date are respectively no more than 19 and 4 digits: >> https://en.wikipedia.org/wiki/ISO/IEC_7813 >> >> I decided to not limit the tel numbers (now 60 chars seems plenty enough), >> maybe someone will even needs to increase in a far >> future :) >> >> While at it, normalises fieldtypepostnew.xml: >> * Removes confusing comment in header >> * Restricts most types like in fieldtypepostgres.xml (no needs to have them >> longer), but keep unlimited (actually 2GB max): >> comment, description >> >> Modified: >> ofbiz/trunk/framework/entity/fieldtype/fieldtypeaxion.xml >> ofbiz/trunk/framework/entity/fieldtype/fieldtypederby.xml >> ofbiz/trunk/framework/entity/fieldtype/fieldtypefirebird.xml >> ofbiz/trunk/framework/entity/fieldtype/fieldtypehsql.xml >> ofbiz/trunk/framework/entity/fieldtype/fieldtypemssql.xml >> ofbiz/trunk/framework/entity/fieldtype/fieldtypemysql.xml >> ofbiz/trunk/framework/entity/fieldtype/fieldtypepostgres.xml >> ofbiz/trunk/framework/entity/fieldtype/fieldtypepostnew.xml >> ofbiz/trunk/framework/entity/fieldtype/fieldtypesybase.xml >> >> Modified: ofbiz/trunk/framework/entity/fieldtype/fieldtypeaxion.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/fieldtype/fieldtypeaxion.xml?rev=1529674&r1=1529673&r2=1529674&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/entity/fieldtype/fieldtypeaxion.xml (original) +++ >> ofbiz/trunk/framework/entity/fieldtype/fieldtypeaxion.xml Sun Oct 6 >> 20:03:12 2013 @@ -52,9 +52,9 @@ under the License. >> <field-type-def type="value" sql-type="VARCHAR(255)" >> java-type="String"/> >> >> <!-- Specialized Types --> >> - <field-type-def type="credit-card-number" sql-type="VARCHAR(255)" >> java-type="String"/> >> - <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" >> java-type="String"/> >> - <field-type-def type="email" sql-type="VARCHAR(255)" >> java-type="String"/> >> + <field-type-def type="credit-card-number" sql-type="VARCHAR(19)" >> java-type="String"/> >> + <field-type-def type="credit-card-date" sql-type="VARCHAR(4)" >> java-type="String"/> >> + <field-type-def type="email" sql-type="VARCHAR(254)" >> java-type="String"/> >> <field-type-def type="url" sql-type="VARCHAR(2000)" >> java-type="String"/> >> <field-type-def type="id-ne" sql-type="VARCHAR(20)" >> java-type="String"/> >> <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" >> java-type="String"/> >> >> Modified: ofbiz/trunk/framework/entity/fieldtype/fieldtypederby.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/fieldtype/fieldtypederby.xml?rev=1529674&r1=1529673&r2=1529674&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/entity/fieldtype/fieldtypederby.xml (original) +++ >> ofbiz/trunk/framework/entity/fieldtype/fieldtypederby.xml Sun Oct 6 >> 20:03:12 2013 @@ -52,9 +52,9 @@ under the License. >> <field-type-def type="value" sql-type="VARCHAR(255)" >> java-type="String"/> >> >> <!-- Specialized Types --> >> - <field-type-def type="credit-card-number" sql-type="VARCHAR(255)" >> java-type="String"/> >> - <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" >> java-type="String"/> >> - <field-type-def type="email" sql-type="VARCHAR(255)" >> java-type="String"/> >> + <field-type-def type="credit-card-number" sql-type="VARCHAR(19)" >> java-type="String"/> >> + <field-type-def type="credit-card-date" sql-type="VARCHAR(4)" >> java-type="String"/> >> + <field-type-def type="email" sql-type="VARCHAR(254)" >> java-type="String"/> >> <field-type-def type="url" sql-type="VARCHAR(2000)" >> java-type="String"/> >> <field-type-def type="id-ne" sql-type="VARCHAR(20)" >> java-type="String"/> >> <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" >> java-type="String"/> >> >> Modified: ofbiz/trunk/framework/entity/fieldtype/fieldtypefirebird.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/fieldtype/fieldtypefirebird.xml?rev=1529674&r1=1529673&r2=1529674&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/entity/fieldtype/fieldtypefirebird.xml (original) +++ >> ofbiz/trunk/framework/entity/fieldtype/fieldtypefirebird.xml Sun Oct 6 >> 20:03:12 2013 @@ -52,9 +52,9 @@ under the License. >> <field-type-def type="value" sql-type="VARCHAR(255)" >> java-type="String"/> >> >> <!-- Specialized Types --> >> - <field-type-def type="credit-card-number" sql-type="VARCHAR(255)" >> java-type="String"/> >> - <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" >> java-type="String"/> >> - <field-type-def type="email" sql-type="VARCHAR(255)" >> java-type="String"/> >> + <field-type-def type="credit-card-number" sql-type="VARCHAR(19)" >> java-type="String"/> >> + <field-type-def type="credit-card-date" sql-type="VARCHAR(4)" >> java-type="String"/> >> + <field-type-def type="email" sql-type="VARCHAR(254)" >> java-type="String"/> >> <field-type-def type="url" sql-type="VARCHAR(2000)" >> java-type="String"/> >> <field-type-def type="id-ne" sql-type="VARCHAR(20)" >> java-type="String"/> >> <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" >> java-type="String"/> >> >> Modified: ofbiz/trunk/framework/entity/fieldtype/fieldtypehsql.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/fieldtype/fieldtypehsql.xml?rev=1529674&r1=1529673&r2=1529674&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/entity/fieldtype/fieldtypehsql.xml (original) +++ >> ofbiz/trunk/framework/entity/fieldtype/fieldtypehsql.xml >> Sun Oct 6 20:03:12 2013 @@ -52,9 +52,9 @@ under the License. >> <field-type-def type="value" sql-type="VARCHAR(255)" >> java-type="String"/> >> >> <!-- Specialized Types --> >> - <field-type-def type="credit-card-number" sql-type="VARCHAR(255)" >> java-type="String"/> >> - <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" >> java-type="String"/> >> - <field-type-def type="email" sql-type="VARCHAR(255)" >> java-type="String"/> >> + <field-type-def type="credit-card-number" sql-type="VARCHAR(19)" >> java-type="String"/> >> + <field-type-def type="credit-card-date" sql-type="VARCHAR(4)" >> java-type="String"/> >> + <field-type-def type="email" sql-type="VARCHAR(254)" >> java-type="String"/> >> <field-type-def type="url" sql-type="VARCHAR(2000)" >> java-type="String"/> >> <field-type-def type="id-ne" sql-type="VARCHAR(20)" >> java-type="String"/> >> <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" >> java-type="String"/> >> >> Modified: ofbiz/trunk/framework/entity/fieldtype/fieldtypemssql.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/fieldtype/fieldtypemssql.xml?rev=1529674&r1=1529673&r2=1529674&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/entity/fieldtype/fieldtypemssql.xml (original) +++ >> ofbiz/trunk/framework/entity/fieldtype/fieldtypemssql.xml Sun Oct 6 >> 20:03:12 2013 @@ -52,9 +52,9 @@ under the License. >> <field-type-def type="value" sql-type="VARCHAR(255)" >> java-type="String"/> >> >> <!-- Specialized Types --> >> - <field-type-def type="credit-card-number" sql-type="VARCHAR(255)" >> java-type="String"/> >> - <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" >> java-type="String"/> >> - <field-type-def type="email" sql-type="VARCHAR(255)" >> java-type="String"/> >> + <field-type-def type="credit-card-number" sql-type="VARCHAR(19)" >> java-type="String"/> >> + <field-type-def type="credit-card-date" sql-type="VARCHAR(4)" >> java-type="String"/> >> + <field-type-def type="email" sql-type="VARCHAR(254)" >> java-type="String"/> >> <field-type-def type="url" sql-type="VARCHAR(2000)" >> java-type="String"/> >> <field-type-def type="id-ne" sql-type="VARCHAR(20)" >> java-type="String"/> >> <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" >> java-type="String"/> >> >> Modified: ofbiz/trunk/framework/entity/fieldtype/fieldtypemysql.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/fieldtype/fieldtypemysql.xml?rev=1529674&r1=1529673&r2=1529674&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/entity/fieldtype/fieldtypemysql.xml (original) +++ >> ofbiz/trunk/framework/entity/fieldtype/fieldtypemysql.xml Sun Oct 6 >> 20:03:12 2013 @@ -52,9 +52,9 @@ under the License. >> <field-type-def type="value" sql-type="VARCHAR(255)" >> java-type="String"/> >> >> <!-- Specialized Types --> >> - <field-type-def type="credit-card-number" sql-type="VARCHAR(255)" >> java-type="String"/> >> - <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" >> java-type="String"/> >> - <field-type-def type="email" sql-type="VARCHAR(255)" >> java-type="String"/> >> + <field-type-def type="credit-card-number" sql-type="VARCHAR(19)" >> java-type="String"/> >> + <field-type-def type="credit-card-date" sql-type="VARCHAR(4)" >> java-type="String"/> >> + <field-type-def type="email" sql-type="VARCHAR(254)" >> java-type="String"/> >> <field-type-def type="url" sql-type="VARCHAR(2000)" >> java-type="String"/> >> <field-type-def type="id-ne" sql-type="VARCHAR(20)" >> java-type="String"/> >> <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" >> java-type="String"/> >> >> Modified: ofbiz/trunk/framework/entity/fieldtype/fieldtypepostgres.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/fieldtype/fieldtypepostgres.xml?rev=1529674&r1=1529673&r2=1529674&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/entity/fieldtype/fieldtypepostgres.xml (original) +++ >> ofbiz/trunk/framework/entity/fieldtype/fieldtypepostgres.xml Sun Oct 6 >> 20:03:12 2013 @@ -52,9 +52,9 @@ under the License. >> <field-type-def type="value" sql-type="VARCHAR(255)" >> java-type="String"/> >> >> <!-- Specialized Types --> >> - <field-type-def type="credit-card-number" sql-type="VARCHAR(255)" >> java-type="String"/> >> - <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" >> java-type="String"/> >> - <field-type-def type="email" sql-type="VARCHAR(255)" >> java-type="String"/> >> + <field-type-def type="credit-card-number" sql-type="VARCHAR(19)" >> java-type="String"/> >> + <field-type-def type="credit-card-date" sql-type="VARCHAR(4)" >> java-type="String"/> >> + <field-type-def type="email" sql-type="VARCHAR(254)" >> java-type="String"/> >> <field-type-def type="url" sql-type="VARCHAR(2000)" >> java-type="String"/> >> <field-type-def type="id-ne" sql-type="VARCHAR(20)" >> java-type="String"/> >> <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" >> java-type="String"/> >> >> Modified: ofbiz/trunk/framework/entity/fieldtype/fieldtypepostnew.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/fieldtype/fieldtypepostnew.xml?rev=1529674&r1=1529673&r2=1529674&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/entity/fieldtype/fieldtypepostnew.xml (original) +++ >> ofbiz/trunk/framework/entity/fieldtype/fieldtypepostnew.xml Sun Oct 6 >> 20:03:12 2013 @@ -18,37 +18,6 @@ specific language >> governing permissions under the License. >> --> >> >> -<!-- >> - NOTE:: this is a new field type file for PostgreSQL, It has ONLY been >> - tested on a new install (hence the name fieldtypepostnew.xml) >> - so until you (or someone) tests this on upgrage it should ONLY >> - be used for new installation. >> - >> - This fieldtype file uses TEXT for ALL VARCHAR type fields, per a tip in >> - the PostgreSQL manual: >> - >> - Tip: There are no performance differences between these three >> - types, apart from the increased storage size when using the >> - blank-padded type. While character(n) has performance advantages >> - in some other database systems, it has no such advantages in >> - PostgreSQL. In most situations text or character varying >> - should be used instead. >> - >> - (Section 8.3. Character Types from the PostgreSQL 8.1 manual) >> - >> - Therefore this fieldtype file uses TEXT for all of the VARCHAR types, >> this >> - will mean that data for a OfBiz system that uses this file MAY NOT be >> able >> - to load on a system that uses any of the other filetype files (well I >> have >> - not looked at ALL of them but the ones I looked at will not be able to >> load >> - the data). >> - >> - This has the other advantage that the java type matches the sql type or >> at >> - least the DB can store anything that java can store (TEXT in PostgreSQL >> - can go to 2 Gig) >> - >> - Indicator is still a CHAR(1). >> ---> >> - >> <fieldtypemodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/fieldtypemodel.xsd"> >> <!-- ===================== field-type-def ==================== --> >> @@ -67,28 +36,28 @@ under the License. >> <field-type-def type="floating-point" sql-type="FLOAT8" >> java-type="Double"/> >> <field-type-def type="numeric" sql-type="NUMERIC(20,0)" >> java-type="Long"/> >> >> - <field-type-def type="id" sql-type="TEXT" java-type="String"/> >> - <field-type-def type="id-long" sql-type="TEXT" java-type="String"/> >> - <field-type-def type="id-vlong" sql-type="TEXT" java-type="String"/> >> - >> + <field-type-def type="id" sql-type="VARCHAR(20)" java-type="String"/> >> + <field-type-def type="id-long" sql-type="VARCHAR(60)" >> java-type="String"/> >> + <field-type-def type="id-vlong" sql-type="VARCHAR(255)" >> java-type="String"/> >> + >> <field-type-def type="indicator" sql-type="CHAR(1)" >> sql-type-alias="BPCHAR" java-type="String"/> >> - <field-type-def type="very-short" sql-type="TEXT" java-type="String"/> >> - <field-type-def type="short-varchar" sql-type="TEXT" >> java-type="String"/> >> - <field-type-def type="long-varchar" sql-type="TEXT" java-type="String"/> >> + <field-type-def type="very-short" sql-type="VARCHAR(10)" >> java-type="String"/> >> + <field-type-def type="short-varchar" sql-type="VARCHAR(60)" >> java-type="String"/> >> + <field-type-def type="long-varchar" sql-type="VARCHAR(255)" >> java-type="String"/> >> <field-type-def type="very-long" sql-type="TEXT" java-type="String"/> >> - >> + >> <field-type-def type="comment" sql-type="TEXT" java-type="String"/> >> <field-type-def type="description" sql-type="TEXT" java-type="String"/> >> - <field-type-def type="name" sql-type="TEXT" java-type="String"/> >> - <field-type-def type="value" sql-type="TEXT" java-type="String"/> >> - >> + <field-type-def type="name" sql-type="VARCHAR(100)" java-type="String"/> >> + <field-type-def type="value" sql-type="VARCHAR(255)" >> java-type="String"/> >> + >> <!-- Specialized Types --> >> - <field-type-def type="credit-card-number" sql-type="TEXT" >> java-type="String"/> >> - <field-type-def type="credit-card-date" sql-type="TEXT" >> java-type="String"/> >> - <field-type-def type="email" sql-type="TEXT" java-type="String"/> >> - <field-type-def type="url" sql-type="TEXT" java-type="String"/> >> - <field-type-def type="id-ne" sql-type="TEXT" java-type="String"/> >> - <field-type-def type="id-long-ne" sql-type="TEXT" java-type="String"/> >> - <field-type-def type="id-vlong-ne" sql-type="TEXT" java-type="String"/> >> - <field-type-def type="tel-number" sql-type="TEXT" java-type="String"/> >> + <field-type-def type="credit-card-number" sql-type="VARCHAR(19)" >> java-type="String"/> >> + <field-type-def type="credit-card-date" sql-type="VARCHAR(4)" >> java-type="String"/> >> + <field-type-def type="email" sql-type="VARCHAR(254)" >> java-type="String"/> >> + <field-type-def type="url" sql-type="VARCHAR(2000)" java-type="String"/> >> + <field-type-def type="id-ne" sql-type="VARCHAR(20)" java-type="String"/> >> + <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" >> java-type="String"/> >> + <field-type-def type="id-vlong-ne" sql-type="VARCHAR(255)" >> java-type="String"/> >> + <field-type-def type="tel-number" sql-type="VARCHAR(60)" >> java-type="String"/> >> </fieldtypemodel> >> >> Modified: ofbiz/trunk/framework/entity/fieldtype/fieldtypesybase.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/fieldtype/fieldtypesybase.xml?rev=1529674&r1=1529673&r2=1529674&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/entity/fieldtype/fieldtypesybase.xml (original) +++ >> ofbiz/trunk/framework/entity/fieldtype/fieldtypesybase.xml Sun Oct 6 >> 20:03:12 2013 @@ -52,9 +52,9 @@ under the License. >> <field-type-def type="value" sql-type="VARCHAR(255)" >> java-type="String"/> >> >> <!-- Specialized Types --> >> - <field-type-def type="credit-card-number" sql-type="VARCHAR(255)" >> java-type="String"/> >> - <field-type-def type="credit-card-date" sql-type="VARCHAR(20)" >> java-type="String"/> >> - <field-type-def type="email" sql-type="VARCHAR(255)" >> java-type="String"/> >> + <field-type-def type="credit-card-number" sql-type="VARCHAR(19)" >> java-type="String"/> >> + <field-type-def type="credit-card-date" sql-type="VARCHAR(4)" >> java-type="String"/> >> + <field-type-def type="email" sql-type="VARCHAR(254)" >> java-type="String"/> >> <field-type-def type="url" sql-type="VARCHAR(2000)" >> java-type="String"/> >> <field-type-def type="id-ne" sql-type="VARCHAR(20)" >> java-type="String"/> >> <field-type-def type="id-long-ne" sql-type="VARCHAR(60)" >> java-type="String"/>
