[Owncloud] SabreDAV 1.6.3 in ownCloud 5?
Diederik de Haas
didi.debian at cknow.org
Fri Jul 20 14:15:45 UTC 2012
On Friday 20 July 2012 15:35:18 Georg Ehrke wrote:
> > Why these arbitrary short lengths for URI?
> > I thought that the maximum length for an URI was 2048, but according to
> > [1] and the standard RFC 2616 [2] there is no real limit on the length
> > of an URI, although 2000/2048 seems to be the practical one.
> >
> > Since it looks like there needs to be a db 'conversion' anyway, why not
> > do it properly?
>
> Evenmore, afaik a varchar's max length is (or was) 255.
Database limitations are a valid reason.
For sqlite the maximum seems to be defined by the value of the preprocessor macro
SQLITE_MAX_LENGTH, which defaults to 1 billion (1,000,000,000) [1]. So unless
that value is changed before compiling, it's quite sufficient to hold an URL/URI.
With MySQL it seems to depend on the version used. See the next quote from
MySQL's documentation [2]:
A variable-length string. M represents the maximum column length in characters.
In MySQL 5.0, the range of M is 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in
MySQL 5.0.3 and later. The effective maximum length of a VARCHAR in MySQL 5.0.3
and later is subject to the maximum row size (65,535 bytes, which is shared
among all columns) and the character set used.
PostgreSQL limit for character string is about 1GB [3].
So if you want to support MySQL prior to 5.0.3, 255 is the limit you should use.
If the required version of MySQL is greater then 5.0.3 then 65,535 is the limit;
quite sufficient to store an URL/URI.
Cheers,
Diederik
[1] http://www.sqlite.org/limits.html
[2] http://dev.mysql.com/doc/refman/5.0/en/string-type-overview.html
[3] http://www.postgresql.org/docs/8.0/static/datatype-character.html
More information about the Owncloud
mailing list