1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package KelpBench::DBI;
- use v5.36;
- use Kelp::Base 'Kelp';
- use DBI;
- attr dbh => sub {
- DBI->connect(
- "dbi:MariaDB:database=hello_world;host=tfb-database;port=3306",
- 'benchmarkdbuser',
- 'benchmarkdbpass',
- { RaiseError => 1, PrintError => 0 }
- );
- };
- attr _world => sub ($self) {
- $self->dbh->prepare("SELECT * FROM World WHERE id = ?");
- };
- attr _fortune => sub ($self) {
- $self->dbh->prepare("SELECT * FROM Fortune");
- };
- attr _update => sub ($self) {
- $self->dbh->prepare("UPDATE World SET randomNumber = ? WHERE id = ?");
- };
- sub random_number ($self, $id)
- {
- $self->_world->execute($id);
- return $self->_world->fetchrow_hashref;
- }
- sub fortune ($self)
- {
- $self->_fortune->execute();
- return $self->_fortune->fetchall_arrayref({});
- }
- sub update ($self, $id, $random_number)
- {
- $self->_update->execute($random_number, $id);
- return;
- }
- 1;
|