Skip to content

Commit 25f0291

Browse files
committed
start of simple inline docs
1 parent 806236e commit 25f0291

10 files changed

Lines changed: 59 additions & 19 deletions

File tree

Lines changed: 50 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module std.database.front;
1+
module std.database.BasicDatabase;
22
import std.experimental.logger;
33
import std.database.exception;
44
import std.datetime;
@@ -17,19 +17,33 @@ import std.variant;
1717
import std.range.primitives;
1818
import std.database.option;
1919

20-
public import std.database.array;
20+
/**
21+
BasicDatabase: a common and generic front-end for database access
22+
23+
Typically, this interface is impliclity used when import a specific database
24+
driver as shown in this simple example:
25+
26+
---
27+
import std.database.sqlite;
28+
auto db = createDatabase("file:///testdb");
29+
auto rows = db.connection.query("select name,score from score").rows;
30+
foreach (r; rows) {
31+
writeln(r[0].as!string,",",r[1].as!int);
32+
}
33+
---
2134
22-
/*
23-
require a specific minimum version of DMD (2.071)
24-
can't use yet because DMD is reporting wrong version
35+
For advanced usage, you can also explicitly instantiate a BasicDatabase
36+
with a driver:
37+
---
38+
import std.database;
39+
alias DB = BasicDatabase!(MyDriver!MyPolicy, MyPolicy);
40+
---
2541
26-
import std.compiler;
27-
static assert(
28-
name != "Digital Mars D" ||
29-
(version_major == 2 && version_minor == 70));
30-
*/
42+
*/
3143

3244

45+
public import std.database.array;
46+
3347
enum ValueType {
3448
Int,
3549
String,
@@ -53,6 +67,10 @@ enum Feature {
5367

5468
alias FeatureArray = Feature[];
5569

70+
/**
71+
A root type for interacting with databases. It's primary purpose is act as
72+
a factory for database connections. This type can be shared across threads.
73+
*/
5674
struct BasicDatabase(D,P) {
5775
alias Driver = D;
5876
alias Policy = P;
@@ -125,6 +143,9 @@ auto ref driverDatabase() {return data_.database;}
125143
}
126144
}
127145

146+
/**
147+
Holds a connection to the database.
148+
*/
128149
struct BasicConnection(D,P) {
129150
alias Driver = D;
130151
alias Policy = P;
@@ -205,6 +226,9 @@ data_ = Data(&db.data_.refCountedPayload(),uri);
205226

206227
}
207228

229+
/**
230+
Manages statement details such as query execution and input binding.
231+
*/
208232
struct BasicStatement(D,P) {
209233
alias Driver = D;
210234
alias Policy = P;
@@ -314,6 +338,10 @@ struct BasicStatement(D,P) {
314338
}
315339

316340

341+
/**
342+
An internal class for result access and iteration. See the RowSet type for range based access
343+
to results
344+
*/
317345
struct BasicResult(D,P) {
318346
alias Driver = D;
319347
alias Policy = P;
@@ -371,6 +399,9 @@ package:
371399
}
372400
}
373401

402+
/**
403+
A range over result column information
404+
*/
374405
struct BasicColumnSet(D,P) {
375406
alias Driver = D;
376407
alias Policy = P;
@@ -415,6 +446,9 @@ struct BasicColumn(D,P) {
415446
}
416447

417448

449+
/**
450+
A input range over the results of a query.
451+
*/
418452
struct BasicRowSet(D,P) {
419453
alias Driver = D;
420454
alias Policy = P;
@@ -485,6 +519,9 @@ struct BasicRowSet(D,P) {
485519
void popFront() {result_.next();}
486520
}
487521

522+
/**
523+
A row accessor for the current row in a RowSet input range.
524+
*/
488525
struct BasicRow(D,P) {
489526
alias Driver = D;
490527
alias Policy = P;
@@ -524,6 +561,9 @@ struct BasicRow(D,P) {
524561
}
525562

526563

564+
/**
565+
A value accessor for an indexed value in the current row in a RowSet input range.
566+
*/
527567
struct BasicValue(D,P) {
528568
alias Driver = D;
529569
alias Policy = P;

src/std/database/freetds/database.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import std.typecons;
1414
import std.container.array;
1515
import std.experimental.logger;
1616
public import std.database.allocator;
17-
import std.database.front;
17+
import std.database.BasicDatabase;
1818
import std.datetime;
1919

2020
struct DefaultPolicy {

src/std/database/mysql/database.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ version(Windows) {
2020
import std.database.mysql.bindings;
2121
import std.database.exception;
2222
import std.database.allocator;
23-
import std.database.front;
23+
import std.database.BasicDatabase;
2424
import std.container.array;
2525
import std.experimental.logger;
2626
import std.string;

src/std/database/odbc/database.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import std.typecons;
1616
import std.container.array;
1717
import std.experimental.logger;
1818
public import std.database.allocator;
19-
import std.database.front;
19+
import std.database.BasicDatabase;
2020
import std.datetime;
2121

2222
//alias long SQLLEN;

src/std/database/oracle/database.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import std.container.array;
1616

1717
import std.datetime;
1818

19-
import std.database.front;
19+
import std.database.BasicDatabase;
2020

2121
struct DefaultPolicy {
2222
alias Allocator = MyMallocator;

src/std/database/poly/database.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public import std.database.exception;
1010
import std.stdio;
1111
import std.typecons;
1212
import std.container.array;
13-
import std.database.front;
13+
import std.database.BasicDatabase;
1414
import std.database.allocator;
1515
import std.database.source;
1616
import std.database.common;

src/std/database/postgres/database.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import std.database.source;
1212
import std.database.allocator;
1313
import std.container.array;
1414
import std.experimental.logger;
15-
import std.database.front;
15+
import std.database.BasicDatabase;
1616

1717
import std.stdio;
1818
import std.typecons;

src/std/database/rowset.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module std.database.rowset;
2-
import std.database.front;
2+
import std.database.BasicDatabase;
33
import std.datetime;
44
import std.container.array;
55

src/std/database/sqlite/database.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import std.database.source;
1313
import std.database.allocator;
1414
import std.database.pool;
1515
import std.experimental.logger;
16-
import std.database.front;
16+
import std.database.BasicDatabase;
1717

1818
import std.container.array;
1919
import std.datetime;

src/std/database/testsuite.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import std.stdio;
55
import std.experimental.logger;
66
import std.datetime;
77

8-
import std.database.front: Feature;
8+
import std.database.BasicDatabase: Feature;
99

1010
void testAll(Database) (string source) {
1111

0 commit comments

Comments
 (0)