[PATCH] Make LNT compatible with PostgreSQL

Yi Kong kongy.dev at gmail.com
Wed Jul 2 13:09:09 PDT 2014


On 2 July 2014 18:59, Chris Matthews <chris.matthews at apple.com> wrote:
> Yep, so we use Postgres internally extensively.

Given that pgsql is already well tested internally, should we switch
from SQLite on public server ASAP? The frequent server crash is
causing some annoyance.

> Right now, if you make an empty postgres db, and just use the URL in the LNT
> config file, it will create the tables on first run.  That is how I have
> been doing it. This patch is adding a command line option to do the same
> thing.
>
> I think if we are going to expose support for Postgres to users, which I
> agree we should, we need a new section in the documentation explaining how
> to do it, and at least a smoke test in test suite to make sure we don’t
> break support, and a test to make sure the create call works with a postgres
> URLs.
>
> Yi, can you add those things to your patch, or in subsequent patches?
>
> It would also be important to have a section of docs on how to migrate from
> sqlite to Postgres, as I assume that is the path most users would end up
> taking.

Sure.

> We do also have to be careful.  There are situations I have found were the
> same flask queries don’t return the same results on sqlite and Postgres.  I
> have not hit this in LNT, but in development of LNT extensions, so it is
> something to watch out for!
>
> On Jul 2, 2014, at 9:17 AM, Daniel Dunbar <daniel at zuster.org> wrote:
>
> We run our internal LNT against Postgres and have done so for quite a while,
> Chris can you check this patch and see why we don't need it? Is it just
> because we manually updated the configuration?
>
>  - Daniel
>
> On Wednesday, July 2, 2014, Yi Kong <kongy.dev at gmail.com> wrote:
>>
>> Patch...
>>
>> On 2 July 2014 17:13, Yi Kong <kongy.dev at gmail.com> wrote:
>> > Public LLVM perf server suffers from frequent database locking issues.
>> > SQLite is suspected to cause the problem as it is not designed for
>> > multi-user system like LNT.
>> >
>> > The patch makes LNT compatible with PostgreSQL. Although theoretically
>> > MySQL should work as well, it's not tested.
>> >
>> > SQLite is still supported and used by default, since setting up
>> > PostgreSQL is difficult and unnecessary if deployed locally.
>> >
>> > To use PostgreSQL, you need to create a pgdb manually:
>> >     CREATE DATABASE "lnt.db";
>> > And run:
>> >     lnt create SANDBOX --db-dir postgresql://user@localhost
>> >
>> > Cheers,
>> > Yi
>
>




More information about the llvm-commits mailing list