Skip to content

Commit 92d342c

Browse files
committed
refactor Dialect enum to DialectType
1 parent 22024dc commit 92d342c

File tree

7 files changed

+50
-50
lines changed

7 files changed

+50
-50
lines changed

source/ddbc/common.d

+2-2
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ class ConnectionWrapper : Connection {
9696
}
9797

9898
// a db connection is DialectAware
99-
override Dialect getDialect() {
100-
return base.getDialect();
99+
override DialectType getDialectType() {
100+
return base.getDialectType();
101101
}
102102

103103
override void close() {

source/ddbc/core.d

+8-8
Original file line numberDiff line numberDiff line change
@@ -342,17 +342,17 @@ interface ResultSet : DataSetReader {
342342

343343
}
344344

345-
enum Dialect {
346-
SQLITE, // SQLite has it's own quirks
347-
MYSQL5, // for MySQL & MariaDB
348-
MYSQL8, // todo: add support for MySQL 8
349-
PGSQL, // PL/pgSQL (Procedural Language/PostgreSQL) used by PostgreSQL
350-
TSQL, // T-SQL (Transact-SQL) is Microsoft’s extension of SQL
351-
PLSQL // Oracle (PL/SQL)
345+
enum DialectType : string {
346+
SQLITE = "SQLite", // SQLite has it's own quirks
347+
MYSQL5 = "MySQL 5", // for MySQL & MariaDB
348+
MYSQL8 = "MySQL 8", // todo: add support for MySQL 8
349+
PGSQL = "PL/pgSQL", // PL/pgSQL (Procedural Language/PostgreSQL) used by PostgreSQL
350+
TSQL = "T-SQL", // T-SQL (Transact-SQL) is Microsoft’s extension of SQL
351+
PLSQL = "PL/SQL" // Oracle (PL/SQL)
352352
}
353353

354354
interface DialectAware {
355-
Dialect getDialect();
355+
DialectType getDialectType();
356356
}
357357

358358
// statements are made via a db connection which are also DialectAware

source/ddbc/drivers/mysqlddbc.d

+6-6
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ private:
120120
public:
121121

122122
// db connections are DialectAware
123-
override Dialect getDialect() {
124-
return Dialect.MYSQL5; // TODO: add support for MySQL8
123+
override DialectType getDialectType() {
124+
return DialectType.MYSQL5; // TODO: add support for MySQL8
125125
}
126126

127127
void lock() {
@@ -312,8 +312,8 @@ private:
312312

313313
public:
314314
// statements are DialectAware
315-
override Dialect getDialect() {
316-
return conn.getDialect();
315+
override DialectType getDialectType() {
316+
return conn.getDialectType();
317317
}
318318

319319
void checkClosed() {
@@ -458,8 +458,8 @@ class MySQLPreparedStatement : MySQLStatement, PreparedStatement {
458458
public:
459459

460460
// prepared statements are DialectAware
461-
override Dialect getDialect() {
462-
return conn.getDialect();
461+
override DialectType getDialectType() {
462+
return conn.getDialectType();
463463
}
464464

465465
/// Retrieves a ResultSetMetaData object that contains information about the columns of the ResultSet object that will be returned when this PreparedStatement object is executed.

source/ddbc/drivers/odbcddbc.d

+6-6
Original file line numberDiff line numberDiff line change
@@ -344,8 +344,8 @@ version (USE_ODBC)
344344
public:
345345

346346
// db connections are DialectAware
347-
override Dialect getDialect() {
348-
return Dialect.TSQL; // todo: handle TSQL and PLSQL
347+
override DialectType getDialectType() {
348+
return DialectType.TSQL; // todo: handle TSQL and PLSQL
349349
}
350350

351351
void lock() {
@@ -590,8 +590,8 @@ version (USE_ODBC)
590590

591591
public:
592592
// statements are DialectAware
593-
override Dialect getDialect() {
594-
return conn.getDialect();
593+
override DialectType getDialectType() {
594+
return conn.getDialectType();
595595
}
596596

597597
void checkClosed() {
@@ -994,8 +994,8 @@ version (USE_ODBC)
994994
public:
995995

996996
// prepared statements are DialectAware
997-
override Dialect getDialect() {
998-
return conn.getDialect();
997+
override DialectType getDialectType() {
998+
return conn.getDialectType();
999999
}
10001000

10011001
/// Retrieves a ResultSetMetaData object that contains information about the columns of the ResultSet object that will be returned when this PreparedStatement object is executed.

source/ddbc/drivers/pgsqlddbc.d

+6-6
Original file line numberDiff line numberDiff line change
@@ -244,8 +244,8 @@ version(USE_PGSQL) {
244244
public:
245245

246246
// db connections are DialectAware
247-
override Dialect getDialect() {
248-
return Dialect.PGSQL;
247+
override DialectType getDialectType() {
248+
return DialectType.PGSQL;
249249
}
250250

251251
void lock() {
@@ -422,8 +422,8 @@ version(USE_PGSQL) {
422422
public:
423423

424424
// statements are DialectAware
425-
override Dialect getDialect() {
426-
return conn.getDialect();
425+
override DialectType getDialectType() {
426+
return conn.getDialectType();
427427
}
428428

429429
void checkClosed() {
@@ -791,8 +791,8 @@ version(USE_PGSQL) {
791791
public:
792792

793793
// prepared statements are DialectAware
794-
override Dialect getDialect() {
795-
return conn.getDialect();
794+
override DialectType getDialectType() {
795+
return conn.getDialectType();
796796
}
797797

798798
override void close() {

source/ddbc/drivers/sqliteddbc.d

+6-6
Original file line numberDiff line numberDiff line change
@@ -271,8 +271,8 @@ version(USE_SQLITE) {
271271
public:
272272

273273
// db connections are DialectAware
274-
override Dialect getDialect() {
275-
return Dialect.SQLITE;
274+
override DialectType getDialectType() {
275+
return DialectType.SQLITE;
276276
}
277277

278278
private string getError() {
@@ -409,8 +409,8 @@ version(USE_SQLITE) {
409409

410410
public:
411411
// statements are DialectAware
412-
override Dialect getDialect() {
413-
return conn.getDialect();
412+
override DialectType getDialectType() {
413+
return conn.getDialectType();
414414
}
415415

416416
void checkClosed() {
@@ -551,8 +551,8 @@ version(USE_SQLITE) {
551551
public:
552552

553553
// prepared statements are DialectAware
554-
override Dialect getDialect() {
555-
return conn.getDialect();
554+
override DialectType getDialectType() {
555+
return conn.getDialectType();
556556
}
557557

558558
SqlType sqliteToSqlType(int t) {

source/ddbc/pods.d

+16-16
Original file line numberDiff line numberDiff line change
@@ -1016,21 +1016,21 @@ struct select(T, fieldList...) if (__traits(isPOD, T)) {
10161016
return this;
10171017
}
10181018
ref select limit(string number) {
1019-
switch(this.stmt.getDialect()) {
1020-
case Dialect.SQLITE:
1019+
switch(this.stmt.getDialectType()) {
1020+
case DialectType.SQLITE:
10211021
limitSQL = " LIMIT " ~ number; // SQLite
10221022
break;
1023-
case Dialect.MYSQL5:
1023+
case DialectType.MYSQL5:
10241024
limitSQL = " LIMIT " ~ number; // todo: check this
10251025
break;
1026-
case Dialect.MYSQL8:
1026+
case DialectType.MYSQL8:
10271027
warningf("MYSQL8 dialect is unsupported. Cannot set LIMIT to '%s'", number);
10281028
break;
1029-
case Dialect.PGSQL:
1029+
case DialectType.PGSQL:
10301030
limitSQL = " LIMIT " ~ number; // Postgres
10311031
break;
1032-
case Dialect.TSQL:
1033-
case Dialect.PLSQL:
1032+
case DialectType.TSQL:
1033+
case DialectType.PLSQL:
10341034
limitSQL = " FETCH NEXT " ~ number ~ " ROWS ONLY";
10351035
break;
10361036
default: assert(0); // ensure all dialects are handled
@@ -1042,22 +1042,22 @@ struct select(T, fieldList...) if (__traits(isPOD, T)) {
10421042
return this;
10431043
}
10441044
ref select offset(string number) {
1045-
switch(this.stmt.getDialect()) {
1046-
case Dialect.SQLITE:
1045+
switch(this.stmt.getDialectType()) {
1046+
case DialectType.SQLITE:
10471047
// SQLite also allows syntax of 'LIMIT <skip>, <count>' but that's not as convenient
10481048
offsetSQL = " OFFSET " ~ number; // SQLite
10491049
break;
1050-
case Dialect.MYSQL5:
1050+
case DialectType.MYSQL5:
10511051
offsetSQL = " OFFSET " ~ number; // todo: check this
10521052
break;
1053-
case Dialect.MYSQL8:
1053+
case DialectType.MYSQL8:
10541054
warningf("MYSQL8 dialect is unsupported. Cannot set OFFSET to '%s'", number);
10551055
break;
1056-
case Dialect.PGSQL:
1056+
case DialectType.PGSQL:
10571057
offsetSQL = " OFFSET " ~ number; // Postgres
10581058
break;
1059-
case Dialect.TSQL:
1060-
case Dialect.PLSQL:
1059+
case DialectType.TSQL:
1060+
case DialectType.PLSQL:
10611061
offsetSQL = " OFFSET " ~ number ~ " ROWS ";
10621062
break;
10631063
default: assert(0); // ensure all dialects are handled
@@ -1079,8 +1079,8 @@ struct select(T, fieldList...) if (__traits(isPOD, T)) {
10791079
if((limitSQL || offsetSQL) && !orderBySQL) {
10801080
warning("when using LIMIT and/or OFFSET then ORDER BY should be used");
10811081
}
1082-
switch(this.stmt.getDialect()) {
1083-
case Dialect.TSQL:
1082+
switch(this.stmt.getDialectType()) {
1083+
case DialectType.TSQL:
10841084
if(limitSQL && !offsetSQL) {
10851085
offset(0); // SQL Server requires offset if limit is used
10861086
}

0 commit comments

Comments
 (0)