···11+-- name: InsertPost :exec
22+insert or ignore into posts (uri, create_ts, likes) values (?, ?, ?);
33+44+-- name: InsertLang :exec
55+insert or ignore into langs (uri, lang) values (?, ?);
66+77+-- name: UpdateLikes :exec
88+update posts set likes = likes + 1 where uri = ?;
+13
cmd/mostliked/schema.sql
···11+create table if not exists posts (
22+ uri text primary key,
33+ create_ts int not null,
44+ likes int not null
55+);
66+77+create table if not exists langs (
88+ uri text primary key,
99+ lang text not null,
1010+ foreign key(uri) references posts(uri) on delete cascade
1111+);
1212+1313+create index if not exists ts_idx on posts(create_ts);
···11+// Code generated by sqlc. DO NOT EDIT.
22+// versions:
33+// sqlc v1.27.0
44+55+package mostliked
66+77+type Lang struct {
88+ Uri string
99+ Lang string
1010+}
1111+1212+type Post struct {
1313+ Uri string
1414+ CreateTs int64
1515+ Likes int64
1616+}