Red.git | docs/coverage/report-data/ | Red-Statement.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>RaCoCo result: Red::Statement</title>
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">
<style>
pre.code::before {
counter-reset: listing;
}
pre.code span {
counter-increment: listing;
}
pre.code span::before {
content: counter(listing) ". ";
}
.coverage-green {
background-color: #32CD32;
/*color-blind
background-color: #00CED1;
/**/
}
.coverage-red {
background-color: #fa8072;
}
.coverage-purple {
background-color: #9370DB;
}
</style>
</head>
<body>
<div class="container">
<div class="row mt-5 mb-3">
<div class="col-12">
<div class="page-header">
<h1>Red::Statement 76.4%</h1>
</div>
</div>
</div>
<div class="row justify-content-md-center">
<div class="col-md-10">
<pre class="code">
<span class="coverage-green">#| Base role to DB statements</span>
<span class="coverage-no">#| Returned by .query</span>
<span class="coverage-green">unit role Red::Statement;</span>
<span class="coverage-no">has $.statement;</span>
<span class="coverage-no">has @.binds is rw;</span>
<span class="coverage-no">has $.driver is required;</span>
<span class="coverage-red">has Bool $!predefined-bind = False;</span>
<span class="coverage-no"></span>
<span class="coverage-no"># How to execute a query must be implemented</span>
<span class="coverage-red">method stt-exec($, *@) { ... }</span>
<span class="coverage-no"></span>
<span class="coverage-green">method predefined-bind { $!predefined-bind = True }</span>
<span class="coverage-no"></span>
<span class="coverage-no">#| Execute the pre-prepared query</span>
<span class="coverage-green">method execute(*@binds) is hidden-from-backtrace {</span>
<span class="coverage-green"> CATCH {</span>
<span class="coverage-green"> default {</span>
<span class="coverage-green"> $!driver.map-exception($_).throw</span>
<span class="coverage-no"> }</span>
<span class="coverage-no"> }</span>
<span class="coverage-green"> $!statement = self.stt-exec: $!statement, |@binds;</span>
<span class="coverage-green"> self</span>
<span class="coverage-no">}</span>
<span class="coverage-no"></span>
<span class="coverage-red">method prepare($query) { $!driver.prepare: $query }</span>
<span class="coverage-no"></span>
<span class="coverage-no">#| How to get a row must be implemented</span>
<span class="coverage-red">method stt-row($ --> Hash()) { ... }</span>
<span class="coverage-no"></span>
<span class="coverage-no">#| Get the next row</span>
<span class="coverage-green">method row {</span>
<span class="coverage-green"> my \resp = self.stt-row: $!statement;</span>
<span class="coverage-green"> note resp if $*RED-DEBUG-RESPONSE;</span>
<span class="coverage-green"> resp</span>
<span class="coverage-no">}</span>
</pre>
</div>
</div>
</div>
</body>
</html>