[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Long Pathes on Windows and SQLite

From: Branko Čibej <brane_at_wandisco.com>
Date: Thu, 22 Aug 2013 15:04:41 +0200

On 22.08.2013 14:26, Markus Schaber wrote:
> Hi,
> Some days ago, I stumbled across a problem, and could analyze it a little bit those days.
> Windows has a general limit on the path length of 260 characters on some APIs, while others allow a length of about 32k characters (with some restrictions).
> Most (if not all) of the SVN codebase seems to work fine with those long pathes.

Yes, APR takes care to use the Unicode APIs and use \\?.

> However, it seems that SQLite is not (yet) long path clean:


> I already mentioned this problem on IRC, where Bert meant that it is an issue in SQLite itself which has its own windows abstracton layer.
> Now, some questions arise:
> 1) Is this issue worth to file a bug report in the SVN database? (Up to now, none of our customers has been bitten by that issue, but it is very likely that one will show up sooner or later...)

IMO it's a good idea to track this, but I propose you also file the
report to SQLite (and put a link to that report in our report).

> And for the folks more experienced with SQLite:
> 2) Is the SQLite project open and responsive for bug reports?
> 3) Is it possible to feed SQLite a "long" path using the \\?\ prefix?

No idea, on either count.

> 4) Is it possible to work around this issue by providing our own SQLite VFS (which may delegate everything except file opening to the default one)?

I haven't looked closely at SQLite's VFS API, but a quick look at the
VFS object indicates that this would probably work -- as a stogap.

It would be a lot better to have a fix in SQLite; it shouldn't be too
hard to create a patch, never mind that the SQLite code is a mess. :)

-- Brane

Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. brane_at_wandisco.com
Received on 2013-08-22 15:05:26 CEST

This is an archived mail posted to the Subversion Dev mailing list.