Skip to content

Update official datasetteproject/datasette Docker container to SQLite 3.26.0 #397

@claes

Description

@claes

I try to start datasette on a database that contains the below view

It fails in a way that makes me think it does not support the window functions SQL syntax.

create view general_ledger as
select transactions.account_number, strftime("%Y-%m-%d", verifications.verification_date) as verification_date, verifications.verification_number, verifications.verification_text, 
case when transactions.centi_amount >= 0 and verifications.verification_number > 0 then printf("%.2f", (transactions.centi_amount/100.0))
end as debit,
case when transactions.centi_amount <= 0 and verifications.verification_number > 0 then printf("%.2f", (transactions.centi_amount/100.0)) 
end as credit,
printf("%.2f", sum(transactions.centi_amount) over (partition by transactions.account_number 
    order by verifications.verification_number range between unbounded preceding and current row)/100.0)
from verifications inner join transactions on transactions.verification_id = verifications.id 
order by transactions.account_number, verifications.verification_number;
docker run -p 8001:8001 -v `pwd`:/mnt     datasetteproject/datasette     datasette -p 8001 -h 0.0.0.0 /mnt/ledger.db
Serve! files=('/mnt/ledger.db',) on port 8001
Traceback (most recent call last):
  File "/usr/local/bin/datasette", line 11, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/datasette/cli.py", line 375, in serve
    ds.inspect()
  File "/usr/local/lib/python3.6/site-packages/datasette/app.py", line 308, in inspect
    "views": inspect_views(conn),
  File "/usr/local/lib/python3.6/site-packages/datasette/inspect.py", line 30, in inspect_views
    return [v[0] for v in conn.execute('select name from sqlite_master where type = "view"')]
sqlite3.DatabaseError: malformed database schema (general_ledger) - near "over": syntax error

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions