Skip to content

Commit a3aea05

Browse files
committed
1) 1.1.0.
2) SqlBuilder.setQuotingSymbol().
1 parent 678095a commit a3aea05

File tree

5 files changed

+28
-13
lines changed

5 files changed

+28
-13
lines changed

README.md

+15-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
A simple SQL query builder. It executes built queries if an executing function is set.
1+
A simple SQL query builder. It executes built queries if an executing function is set.
22

33
1. <a name="cusage"></a>[Usage](#usage)
44
2. <a name="cversionHistory"></a>[Version history](#versionHistory)
@@ -22,14 +22,15 @@ This is the "entry point" of the builder. It contains only `static` methods and
2222
import SqlBuilder from "simple-sql-query-builder";
2323

2424
1. <a name="csqlBuilderSetDebug"></a> [setDebug()](#sqlBuilderSetDebug)
25-
2. <a name="csqlBuilderSetSqlExecutor"></a>[setSqlExecutor()](#sqlBuilderSetSqlExecutor)
26-
3. <a name="csqlBuilderExecuteSql"></a>[executeSql()](#sqlBuilderExecuteSql)
27-
4. <a name="csqlBuilderCreateTable"></a>[createTable()](#sqlBuilderCreateTable)
28-
5. <a name="csqlBuilderInsert"></a>[insert()](#sqlBuilderInsert)
29-
6. <a name="csqlBuilderSelect"></a>[select()](#sqlBuilderSelect)
30-
7. <a name="csqlBuilderUpdate"></a>[update()](#sqlBuilderUpdate)
31-
8. <a name="csqlBuilderDelete"></a>[delete()](#sqlBuilderDelete)
32-
9. <a name="csqlBuilderStaticFields"></a>[static fields](#sqlBuilderStaticFields)
25+
2. <a name="csqlBuilderSetQuotingSymbol"></a>[setQuotingSymbol()](#sqlBuilderSetQuotingSymbol)
26+
3. <a name="csqlBuilderSetSqlExecutor"></a>[setSqlExecutor()](#sqlBuilderSetSqlExecutor)
27+
4. <a name="csqlBuilderExecuteSql"></a>[executeSql()](#sqlBuilderExecuteSql)
28+
5. <a name="csqlBuilderCreateTable"></a>[createTable()](#sqlBuilderCreateTable)
29+
6. <a name="csqlBuilderInsert"></a>[insert()](#sqlBuilderInsert)
30+
7. <a name="csqlBuilderSelect"></a>[select()](#sqlBuilderSelect)
31+
8. <a name="csqlBuilderUpdate"></a>[update()](#sqlBuilderUpdate)
32+
9. <a name="csqlBuilderDelete"></a>[delete()](#sqlBuilderDelete)
33+
10. <a name="csqlBuilderStaticFields"></a>[static fields](#sqlBuilderStaticFields)
3334

3435
<!-- -->
3536

@@ -39,6 +40,10 @@ This is the "entry point" of the builder. It contains only `static` methods and
3940

4041
SqlBuilder.setDebug(debug);
4142

43+
- <a name="sqlBuilderSetQuotingSymbol"></a>[setQuotingSymbol()<i class="icon-up"></i>](#csqlBuilderSetQuotingSymbol)
44+
45+
Sets a quoting symbol to be used in queries. Defaults to `"`.
46+
4247
- <a name="sqlBuilderSetSqlExecutor"></a>[setSqlExecutor()<i class="icon-up"></i>](#csqlBuilderSetSqlExecutor)
4348

4449
Sets a function to be used to execute sql statements.
@@ -440,6 +445,7 @@ The following methods return `this` to allow method chaining.
440445

441446
Version number|Changes
442447
-|-
448+
v1.1.0|[`SqlBuilder.setQuotingSymbol()`](#sqlBuilderSetQuotingSymbol) added.
443449
v1.0.4|Imports fixed.
444450
v1.0.3|`client-side-common-utils` deprecated; switched to `simple-common-utils`.
445451
v1.0.2|1.&nbsp;Readme updated.<br>2.&nbsp; `SELECT` and `DELETE` queries weren't terminated with `;`. Fixed.

js/Condition.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import {
22
StaticUtils,
33
ArrayStringifier
44
} from "simple-common-utils";
5+
import SqlBuilder from "./SqlBuilder";
56

67
export default class Condition {
78
constructor(column, whereBuilder) {
@@ -46,7 +47,7 @@ export default class Condition {
4647

4748
operator(operator, value, quoteIfString = true) {
4849
this.operator = operator;
49-
this.value = StaticUtils.safeQuoteIfString(value, quoteIfString);
50+
this.value = StaticUtils.safeQuoteIfString(value, quoteIfString, SqlBuilder.getQuotingSymbol());
5051

5152
return this.whereBuilder;
5253
}

js/InsertUpdateBuilder.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
ArrayStringifier
44
} from "simple-common-utils";
55
import BuilderWithWhere from "./BuilderWithWhere";
6+
import SqlBuilder from "./SqlBuilder";
67

78
export default class InsertUpdateBuilder extends BuilderWithWhere {
89
constructor(insert, table) {
@@ -15,8 +16,7 @@ export default class InsertUpdateBuilder extends BuilderWithWhere {
1516

1617
columnValue(column, value, add = true, quoteIfString = true) {
1718
if (add) {
18-
this.pairs.push([column, value == "NULL" || !quoteIfString ?
19-
value : StaticUtils.quoteIfString(value)]);
19+
this.pairs.push([column, value == "NULL" || !quoteIfString ? value : StaticUtils.quoteIfString(value, SqlBuilder.getQuotingSymbol())]);
2020
}
2121

2222
return this;

js/SqlBuilder.js

+8
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ export default class SqlBuilder {
1414
SqlBuilder.debug = debug;
1515
}
1616

17+
static getQuotingSymbol() {
18+
return SqlBuilder._quotingSymbol;
19+
}
20+
21+
static setQuotingSymbol(quotingSymbol) {
22+
SqlBuilder._quotingSymbol = quotingSymbol;
23+
}
24+
1725
static setSqlExecutor(sqlExecutor) {
1826
SqlBuilder.sqlExecutor = sqlExecutor;
1927
}

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "simple-sql-query-builder",
3-
"version": "1.0.4",
3+
"version": "1.1.0",
44
"description": "A simple SQL query builder.",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)