Building db stuff

This commit is contained in:
Samuel Webb 2024-04-08 20:19:24 -04:00
parent 46f0b5038c
commit dc959607f9
5 changed files with 84 additions and 19 deletions

1
.gitignore vendored
View file

@ -3,4 +3,3 @@ zig-cache/
*.core
static/
.jetzig
src/app/database/

BIN
src/app/database/data.db Normal file

Binary file not shown.

12
src/app/views/search.zig Normal file
View file

@ -0,0 +1,12 @@
const std = @import("std");
const jetzig = @import("jetzig");
const search = @import("../../db.zig");
pub fn index(request: *jetzig.Request, data: *jetzig.Data) !jetzig.View {
var root = try data.object();
const params = try request.params();
const query = params.get("q");
try root.put("q",query);
//try root.put("q", data.string("Welcome"));
return request.render(.ok);
}

View file

@ -0,0 +1,54 @@
const std = @import("std");
const sql = @import("sqlite");
pub fn loadDb(path: []u8) !sql.sqlite.Db{
try sql.sqlite.Db.init(.{
.mode = sql.sqlite.Db.Mode{ .File = path},
.open_flags = .{
.write = true,
.create = true,
},
.threading_mode = .MultiThread,
});
}
const addArtist = \\INSERT INTO artists ('artist', 'plays', 'url') VALUES (?,?)
;
const addTrack = \\INSERT INTO tracks ('artist', 'track', 'album', 'plays', 'url') VALUES (?,?,?,?)
;
const getArtist = \\SELECT artist, plays FROM artists WHERE artist == ?
;
const getTrack = \\SELECT artist, track, album, plays FROM tracks WHERE track == ?
;
const getTrackSearch = \\SELECT url FROM artists WHERE artist == ?
;
const getArtistSearch = \\SELECT url FROM artists WHERE artist == ?
;
pub var db = loadDb("/home/swebb/Source/zuletzt/src/app/database/data.db");
pub fn search(query: []const u8) !void{
var artistSearch = try db.prepare(getArtistSearch);
defer artistSearch.deinit();
var trackSearch = try db.prepare(getTrackSearch);
defer trackSearch.deinit();
const artistResults = try artistSearch.one(
struct {
artist: [128:0]u8,
plays: usize,
},
.{},
.{ .artist = query},
);
if (artistResults) |r|{
std.log.debug("Artist: {}, Plays: {}", .{r.name, r.plays});
}
}

View file

@ -87,35 +87,35 @@ pub const jetzig_options = struct {
};
pub fn main() !void {
var db = try sqlite.Db.init(.{
.mode = sqlite.Db.Mode{ .File = "/home/swebb/Source/zuletzt/src/app/database/data.db" },
.open_flags = .{
.write = true,
.create = true,
},
.threading_mode = .MultiThread,
});
//var db = try sqlite.Db.init(.{
// .mode = sqlite.Db.Mode{ .File = "/home/swebb/Source/zuletzt/src/app/database/data.db" },
// .open_flags = .{
// .write = true,
// .create = true,
// },
// .threading_mode = .MultiThread,
//});
//const create =
// \\CREATE TABLE artists ('artist', 'plays')
//;
const query =
\\INSERT INTO artists ('artist', 'plays') VALUES (?,?)
;
//const query =
// \\INSERT INTO artists ('artist', 'plays') VALUES (?,?)
//;
//var build = try db.prepare(create);
//defer build.deinit();
//try build.exec(.{},.{});
var stmt = try db.prepare(query);
defer stmt.deinit();
//var stmt = try db.prepare(query);
//defer stmt.deinit();
try stmt.exec(.{}, .{
.artist = "Wilco",
.plays = 2500,
});
//try stmt.exec(.{}, .{
// .artist = "Wilco",
// .plays = 2500,
//});
var gpa = std.heap.GeneralPurposeAllocator(.{}){};