@breautek/storm 8.0.0 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/Application.html +66 -64
- package/docs/classes/BackendAuthenticationMiddleware.html +3 -3
- package/docs/classes/CORSMiddleware.html +3 -3
- package/docs/classes/ConfigLoader.html +3 -3
- package/docs/classes/Database.html +2 -2
- package/docs/classes/DatabaseCastObject.html +2 -2
- package/docs/classes/DatabaseConnection.html +21 -19
- package/docs/classes/DatabaseQueryError.html +5 -5
- package/docs/classes/DeadLockError.html +5 -5
- package/docs/classes/DiskSpaceError.html +5 -5
- package/docs/classes/DropTemporaryTableQuery.html +6 -6
- package/docs/classes/DuplicateEntryError.html +5 -5
- package/docs/classes/EntityNotFoundError.html +5 -5
- package/docs/classes/ExpiredTokenError.html +5 -5
- package/docs/classes/Handler.html +2 -2
- package/docs/classes/InternalError.html +5 -5
- package/docs/classes/InvalidCredentialsError.html +5 -5
- package/docs/classes/InvalidValueError.html +5 -5
- package/docs/classes/LineString.html +2 -2
- package/docs/classes/LockWaitTimeoutError.html +5 -5
- package/docs/classes/ManagedDatabaseConnection.html +4 -2
- package/docs/classes/Middleware.html +2 -2
- package/docs/classes/MissingConfigError.html +5 -5
- package/docs/classes/MissingParameterError.html +5 -5
- package/docs/classes/MySQLConnection.html +28 -20
- package/docs/classes/MySQLDatabase.html +2 -2
- package/docs/classes/NotImplementedError.html +5 -5
- package/docs/classes/Point.html +2 -2
- package/docs/classes/Polygon.html +2 -2
- package/docs/classes/Query.html +6 -6
- package/docs/classes/RawError.html +5 -5
- package/docs/classes/RawQuery.html +6 -6
- package/docs/classes/Request.html +2 -2
- package/docs/classes/Response.html +2 -2
- package/docs/classes/ResponseData.html +2 -2
- package/docs/classes/ServiceProvider.html +2 -2
- package/docs/classes/ServiceResponse.html +2 -2
- package/docs/classes/SetSessionVariableQuery.html +6 -6
- package/docs/classes/StormError.html +5 -5
- package/docs/classes/TemporaryTableQuery.html +6 -6
- package/docs/classes/TimeoutError.html +24 -0
- package/docs/classes/Token.html +2 -2
- package/docs/classes/TokenManager.html +2 -2
- package/docs/classes/Transaction.html +2 -2
- package/docs/classes/UnauthorizedAccessError.html +5 -5
- package/docs/enums/ErrorCode.html +2 -2
- package/docs/enums/ExitCode.html +2 -2
- package/docs/enums/HTTPMethod.html +2 -2
- package/docs/enums/IsolationLevel.html +2 -2
- package/docs/enums/JWTError.html +2 -2
- package/docs/enums/StatusCode.html +2 -2
- package/docs/functions/getInstance.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +2 -0
- package/docs/interfaces/IAdditionalErrorDetails.html +1 -1
- package/docs/interfaces/ICloudwatchConfig.html +2 -2
- package/docs/interfaces/ICloudwatchCredentials.html +2 -2
- package/docs/interfaces/ICloudwatchStreamConfig.html +2 -2
- package/docs/interfaces/IConfig.html +2 -2
- package/docs/interfaces/IDatabaseConfig.html +2 -2
- package/docs/interfaces/IDatabaseConnection.html +4 -2
- package/docs/interfaces/IDatabasePosition.html +4 -0
- package/docs/interfaces/IErrorResponse.html +2 -2
- package/docs/interfaces/IFormData.html +2 -2
- package/docs/interfaces/IHandler.html +2 -2
- package/docs/interfaces/IInsertQueryResult.html +2 -2
- package/docs/interfaces/IJWTVerifyOptions.html +2 -2
- package/docs/interfaces/IOKPacket.html +2 -2
- package/docs/interfaces/IParameterMap.html +1 -1
- package/docs/interfaces/IQueryable.html +2 -2
- package/docs/interfaces/IRequestResponse.html +2 -2
- package/docs/interfaces/IServiceHeaders.html +1 -1
- package/docs/interfaces/ISetSessionVariableQueryInput.html +2 -2
- package/docs/interfaces/IStormCLIArgs.html +2 -2
- package/docs/interfaces/ITemporaryTableQueryInput.html +2 -2
- package/docs/interfaces/IUpdateQueryResult.html +2 -2
- package/docs/types/IDeleteQueryResult.html +1 -1
- package/docs/types/IHandlerError.html +1 -1
- package/docs/types/IHandlerResponse.html +1 -1
- package/docs/types/IStoredProcedureResult.html +1 -1
- package/docs/types/TCoordinate.html +1 -1
- package/lib/Database.d.ts +3 -2
- package/lib/Database.js +2 -2
- package/lib/Database.js.map +1 -1
- package/lib/DatabaseConnection.d.ts +5 -0
- package/lib/DatabaseConnection.js.map +1 -1
- package/lib/IDatabaseConnection.d.ts +5 -0
- package/lib/IDatabasePosition.d.ts +7 -0
- package/lib/IDatabasePosition.js +18 -0
- package/lib/IDatabasePosition.js.map +1 -0
- package/lib/ManagedDatabaseConnection.d.ts +2 -0
- package/lib/ManagedDatabaseConnection.js +4 -0
- package/lib/ManagedDatabaseConnection.js.map +1 -1
- package/lib/MySQLConnection.d.ts +9 -0
- package/lib/MySQLConnection.js +20 -0
- package/lib/MySQLConnection.js.map +1 -1
- package/lib/MySQLDatabase.d.ts +3 -1
- package/lib/MySQLDatabase.js +26 -3
- package/lib/MySQLDatabase.js.map +1 -1
- package/lib/TimeoutError.d.ts +13 -0
- package/lib/TimeoutError.js +43 -0
- package/lib/TimeoutError.js.map +1 -0
- package/lib/api.d.ts +2 -0
- package/lib/api.js +4 -2
- package/lib/api.js.map +1 -1
- package/lib/private/ConnectionReplicationWaiter.d.ts +24 -0
- package/lib/private/ConnectionReplicationWaiter.js +92 -0
- package/lib/private/ConnectionReplicationWaiter.js.map +1 -0
- package/lib/private/GetBinLogPositionQuery.d.ts +12 -0
- package/lib/private/GetBinLogPositionQuery.js +49 -0
- package/lib/private/GetBinLogPositionQuery.js.map +1 -0
- package/lib/private/GetMasterPositionQuery.d.ts +11 -0
- package/lib/private/GetMasterPositionQuery.js +32 -0
- package/lib/private/GetMasterPositionQuery.js.map +1 -0
- package/lib/private/GetSlavePositionQuery.d.ts +11 -0
- package/lib/private/GetSlavePositionQuery.js +32 -0
- package/lib/private/GetSlavePositionQuery.js.map +1 -0
- package/package.json +10 -10
- package/src/Database.ts +4 -3
- package/src/DatabaseConnection.ts +6 -0
- package/src/IDatabaseConnection.ts +6 -0
- package/src/IDatabasePosition.ts +23 -0
- package/src/ManagedDatabaseConnection.ts +6 -0
- package/src/MySQLConnection.ts +27 -0
- package/src/MySQLDatabase.ts +32 -4
- package/src/TimeoutError.ts +44 -0
- package/src/api.ts +2 -0
- package/src/private/ConnectionReplicationWaiter.ts +110 -0
- package/src/private/GetBinLogPositionQuery.ts +59 -0
- package/src/private/GetMasterPositionQuery.ts +37 -0
- package/src/private/GetSlavePositionQuery.ts +37 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IStoredProcedureResult | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@breautek/storm</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">@breautek/storm</a></li><li><a href="IStoredProcedureResult.html">IStoredProcedureResult</a></li></ul><h1>Type alias IStoredProcedureResult<T></h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">IStored<wbr/>Procedure<wbr/>Result</span><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IStoredProcedureResult.html#T">T</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-symbol">...</span><a class="tsd-signature-type tsd-kind-type-parameter" href="IStoredProcedureResult.html#T">T</a><span class="tsd-signature-symbol">, </span><a href="../interfaces/IOKPacket.html" class="tsd-signature-type tsd-kind-interface">IOKPacket</a><span class="tsd-signature-symbol">]</span></div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="T" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">T</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">[]</span> = <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">[]</span></span></li></ul></section><div class="tsd-comment tsd-typography"><h4>Since</h4><p>7.1.0</p>
|
|
2
2
|
<h4>Remarks</h4><p>Symbol introduced in 7.1.0 but did not accurately represent the actual call
|
|
3
3
|
result. Symbol was (breakingly) changed in 7.1.1 to fix this issue.</p>
|
|
4
|
-
</div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/
|
|
4
|
+
</div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/0e0576f1dd79b105994ce322aa8a9a497b870d22/src/IStoredProcedureResult.ts#L27">src/IStoredProcedureResult.ts:27</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@breautek/storm</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>TCoordinate | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@breautek/storm</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">@breautek/storm</a></li><li><a href="TCoordinate.html">TCoordinate</a></li></ul><h1>Type alias TCoordinate</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">TCoordinate</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span>x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span>y<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>TCoordinate | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@breautek/storm</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">@breautek/storm</a></li><li><a href="TCoordinate.html">TCoordinate</a></li></ul><h1>Type alias TCoordinate</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">TCoordinate</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span>x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span>y<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/0e0576f1dd79b105994ce322aa8a9a497b870d22/src/TCoordinate.ts#L17">src/TCoordinate.ts:17</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@breautek/storm</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
package/lib/Database.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DatabaseConnection } from './DatabaseConnection';
|
|
2
|
+
import { IDatabasePosition } from './IDatabasePosition';
|
|
2
3
|
export declare abstract class Database<TDatabaseConfig, TConnectionAPI> {
|
|
3
4
|
private $clusterConfigMap;
|
|
4
5
|
constructor();
|
|
@@ -6,11 +7,11 @@ export declare abstract class Database<TDatabaseConfig, TConnectionAPI> {
|
|
|
6
7
|
removeMaster(): void;
|
|
7
8
|
addSlave(slaveID: string, config: TDatabaseConfig): string;
|
|
8
9
|
removeSlave(slaveID: string): void;
|
|
9
|
-
getConnection(requireWriteAccess?: boolean, nodeID?: string): Promise<DatabaseConnection<TConnectionAPI>>;
|
|
10
|
+
getConnection(requireWriteAccess?: boolean, nodeID?: string, requiredPosition?: IDatabasePosition): Promise<DatabaseConnection<TConnectionAPI>>;
|
|
10
11
|
destroy(): Promise<void>;
|
|
11
12
|
protected abstract _destroy(): Promise<void>;
|
|
12
13
|
protected abstract _addNode(name: string, config: TDatabaseConfig): void;
|
|
13
14
|
protected abstract _removeNode(name: string): void;
|
|
14
|
-
protected abstract _getConnection(query: string, requireWriteAccess: boolean): Promise<DatabaseConnection<TConnectionAPI>>;
|
|
15
|
+
protected abstract _getConnection(query: string, requireWriteAccess: boolean, requiredPosition?: IDatabasePosition): Promise<DatabaseConnection<TConnectionAPI>>;
|
|
15
16
|
abstract escape(query: string): string;
|
|
16
17
|
}
|
package/lib/Database.js
CHANGED
|
@@ -50,7 +50,7 @@ class Database {
|
|
|
50
50
|
delete this.$clusterConfigMap[slaveID];
|
|
51
51
|
this._removeNode(slaveID);
|
|
52
52
|
}
|
|
53
|
-
getConnection(requireWriteAccess = false, nodeID) {
|
|
53
|
+
getConnection(requireWriteAccess = false, nodeID, requiredPosition) {
|
|
54
54
|
let query = 'SLAVE*';
|
|
55
55
|
if (nodeID) {
|
|
56
56
|
query = nodeID;
|
|
@@ -58,7 +58,7 @@ class Database {
|
|
|
58
58
|
else if (requireWriteAccess) {
|
|
59
59
|
query = 'MASTER';
|
|
60
60
|
}
|
|
61
|
-
return this._getConnection(query, requireWriteAccess);
|
|
61
|
+
return this._getConnection(query, requireWriteAccess, requiredPosition);
|
|
62
62
|
}
|
|
63
63
|
destroy() {
|
|
64
64
|
return this._destroy();
|
package/lib/Database.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Database.js","sourceRoot":"","sources":["../src/Database.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;AAEF,mDAA6B;AAE7B,yCAAyC;
|
|
1
|
+
{"version":3,"file":"Database.js","sourceRoot":"","sources":["../src/Database.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;AAEF,mDAA6B;AAE7B,yCAAyC;AAGzC,MAAM,WAAW,GAAW,QAAQ,CAAC;AACrC,MAAM,GAAG,GAAW,UAAU,CAAC;AAE/B,MAAsB,QAAQ;IAG1B;QACI,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAChC,CAAC;IAEM,SAAS,CAAC,MAAuB;QACpC,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,mBAAmB,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAEM,QAAQ,CAAC,OAAe,EAAE,MAAuB;QACpD,IAAI,EAAE,GAAG,SAAS,IAAI,CAAC,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;QAEzC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE1B,OAAO,EAAE,CAAC;IACd,CAAC;IAEM,WAAW,CAAC,OAAe;QAC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,IAAA,sBAAW,GAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,OAAO,iCAAiC,CAAC,CAAC;YACtF,OAAO;QACX,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,aAAa,CAAC,qBAA8B,KAAK,EAAE,MAAe,EAAE,gBAAoC;QAC3G,IAAI,KAAK,GAAW,QAAQ,CAAC;QAE7B,IAAI,MAAM,EAAE,CAAC;YACT,KAAK,GAAG,MAAM,CAAC;QACnB,CAAC;aACI,IAAI,kBAAkB,EAAE,CAAC;YAC1B,KAAK,GAAG,QAAQ,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC5E,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CAOJ;AA9DD,4BA8DC"}
|
|
@@ -3,6 +3,7 @@ import { Readable } from 'stream';
|
|
|
3
3
|
import { IDatabaseConnection } from './IDatabaseConnection';
|
|
4
4
|
import { IQueryable } from './IQueryable';
|
|
5
5
|
import { IsolationLevel } from './IsolationLevel';
|
|
6
|
+
import { IDatabasePosition } from './IDatabasePosition';
|
|
6
7
|
export declare const LINGER_WARNING: number;
|
|
7
8
|
export declare const DEFAULT_QUERY_TIMEOUT: number;
|
|
8
9
|
/**
|
|
@@ -148,4 +149,8 @@ export declare abstract class DatabaseConnection<TAPI> implements IDatabaseConne
|
|
|
148
149
|
* @returns `Readable`
|
|
149
150
|
*/
|
|
150
151
|
protected abstract _stream(query: string, params?: any, streamOptions?: any): Readable;
|
|
152
|
+
/**
|
|
153
|
+
* @since 8.1.0
|
|
154
|
+
*/
|
|
155
|
+
abstract getCurrentDatabasePosition(): Promise<IDatabasePosition>;
|
|
151
156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseConnection.js","sourceRoot":"","sources":["../src/DatabaseConnection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,yCAEoB;
|
|
1
|
+
{"version":3,"file":"DatabaseConnection.js","sourceRoot":"","sources":["../src/DatabaseConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { Readable } from 'stream';
|
|
3
3
|
import { IQueryable } from './IQueryable';
|
|
4
4
|
import { IsolationLevel } from './IsolationLevel';
|
|
5
|
+
import { IDatabasePosition } from './IDatabasePosition';
|
|
5
6
|
export interface IDatabaseConnection {
|
|
6
7
|
setInstantiationStack(stack: string): void;
|
|
7
8
|
getInstantiationStack(): string;
|
|
@@ -17,4 +18,8 @@ export interface IDatabaseConnection {
|
|
|
17
18
|
isTransaction(): boolean;
|
|
18
19
|
commit(): Promise<void>;
|
|
19
20
|
rollback(): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* @since 8.1.0
|
|
23
|
+
*/
|
|
24
|
+
getCurrentDatabasePosition(): Promise<IDatabasePosition>;
|
|
20
25
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright 2017-2024 Norman Breau
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
//# sourceMappingURL=IDatabasePosition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDatabasePosition.js","sourceRoot":"","sources":["../src/IDatabasePosition.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE"}
|
|
@@ -3,6 +3,7 @@ import { IDatabaseConnection } from './IDatabaseConnection';
|
|
|
3
3
|
import { Readable } from 'stream';
|
|
4
4
|
import { Query } from './Query';
|
|
5
5
|
import { IsolationLevel } from './IsolationLevel';
|
|
6
|
+
import { IDatabasePosition } from './IDatabasePosition';
|
|
6
7
|
export declare class ManagedDatabaseConnection implements IDatabaseConnection {
|
|
7
8
|
private $connection;
|
|
8
9
|
/**
|
|
@@ -16,6 +17,7 @@ export declare class ManagedDatabaseConnection implements IDatabaseConnection {
|
|
|
16
17
|
constructor(requiresWrite?: boolean);
|
|
17
18
|
setConnection(connection: IDatabaseConnection): void;
|
|
18
19
|
isClosed(): boolean;
|
|
20
|
+
getCurrentDatabasePosition(): Promise<IDatabasePosition>;
|
|
19
21
|
isWriteRequired(): boolean;
|
|
20
22
|
isManaged(): boolean;
|
|
21
23
|
hasConnection(): boolean;
|
|
@@ -60,6 +60,10 @@ class ManagedDatabaseConnection {
|
|
|
60
60
|
return true;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
+
async getCurrentDatabasePosition() {
|
|
64
|
+
let conn = await this.$getConnection();
|
|
65
|
+
return await conn.getCurrentDatabasePosition();
|
|
66
|
+
}
|
|
63
67
|
isWriteRequired() {
|
|
64
68
|
return this.$requiresWrite;
|
|
65
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedDatabaseConnection.js","sourceRoot":"","sources":["../src/ManagedDatabaseConnection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAGF,yCAAuC;
|
|
1
|
+
{"version":3,"file":"ManagedDatabaseConnection.js","sourceRoot":"","sources":["../src/ManagedDatabaseConnection.ts"],"names":[],"mappings":"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"}
|
package/lib/MySQLConnection.d.ts
CHANGED
|
@@ -3,12 +3,21 @@ import { DatabaseConnection } from './DatabaseConnection';
|
|
|
3
3
|
import * as MySQL from 'mysql';
|
|
4
4
|
import { Readable } from 'stream';
|
|
5
5
|
import { IsolationLevel } from './IsolationLevel';
|
|
6
|
+
import { IDatabasePosition } from './IDatabasePosition';
|
|
6
7
|
export declare class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
|
|
7
8
|
private $transaction;
|
|
8
9
|
private $opened;
|
|
10
|
+
private $isMasterConnection;
|
|
9
11
|
constructor(connection: MySQL.PoolConnection, instantiationStack: string, isReadOnly?: boolean);
|
|
12
|
+
/**
|
|
13
|
+
* @internal - Do not use in application code
|
|
14
|
+
*/
|
|
15
|
+
__internal_init(): Promise<void>;
|
|
16
|
+
isMaster(): boolean;
|
|
17
|
+
isReplication(): boolean;
|
|
10
18
|
isTransaction(): boolean;
|
|
11
19
|
isOpen(): boolean;
|
|
20
|
+
getCurrentDatabasePosition(): Promise<IDatabasePosition>;
|
|
12
21
|
protected _query(query: string, params?: any): Promise<any>;
|
|
13
22
|
protected _stream(query: string, params?: any, streamOptions?: any): Readable;
|
|
14
23
|
startTransaction(isolationLevel?: IsolationLevel): Promise<void>;
|
package/lib/MySQLConnection.js
CHANGED
|
@@ -28,6 +28,8 @@ const interfaces_1 = require("@arashi/interfaces");
|
|
|
28
28
|
const DeadLockError_1 = require("./DeadLockError");
|
|
29
29
|
const SetIsolationLevelQuery_1 = require("./private/SetIsolationLevelQuery");
|
|
30
30
|
const LockWaitTimeoutError_1 = require("./LockWaitTimeoutError");
|
|
31
|
+
const GetSlavePositionQuery_1 = require("./private/GetSlavePositionQuery");
|
|
32
|
+
const GetMasterPositionQuery_1 = require("./private/GetMasterPositionQuery");
|
|
31
33
|
const DEFAULT_HIGH_WATERMARK = 512; // in number of result objects
|
|
32
34
|
const TAG = 'MySQLConnection';
|
|
33
35
|
const SQL_FORMATTING_OPTIONS = {
|
|
@@ -52,6 +54,7 @@ class MySQLConnection extends DatabaseConnection_1.DatabaseConnection {
|
|
|
52
54
|
super(connection, isReadOnly, instantiationStack);
|
|
53
55
|
this.$opened = true;
|
|
54
56
|
this.$transaction = false;
|
|
57
|
+
this.$isMasterConnection = null;
|
|
55
58
|
connection.config.queryFormat = function (query, values) {
|
|
56
59
|
if (!values)
|
|
57
60
|
return query;
|
|
@@ -64,12 +67,29 @@ class MySQLConnection extends DatabaseConnection_1.DatabaseConnection {
|
|
|
64
67
|
}.bind(this));
|
|
65
68
|
};
|
|
66
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* @internal - Do not use in application code
|
|
72
|
+
*/
|
|
73
|
+
async __internal_init() {
|
|
74
|
+
let result = await new GetSlavePositionQuery_1.GetSlavePositionQuery().execute(this);
|
|
75
|
+
this.$isMasterConnection = result === null;
|
|
76
|
+
}
|
|
77
|
+
isMaster() {
|
|
78
|
+
return this.$isMasterConnection;
|
|
79
|
+
}
|
|
80
|
+
isReplication() {
|
|
81
|
+
return !this.isMaster();
|
|
82
|
+
}
|
|
67
83
|
isTransaction() {
|
|
68
84
|
return this.$transaction;
|
|
69
85
|
}
|
|
70
86
|
isOpen() {
|
|
71
87
|
return this.$opened;
|
|
72
88
|
}
|
|
89
|
+
async getCurrentDatabasePosition() {
|
|
90
|
+
let statusQuery = this.isReplication() ? new GetSlavePositionQuery_1.GetSlavePositionQuery() : new GetMasterPositionQuery_1.GetMasterPositionQuery();
|
|
91
|
+
return await statusQuery.execute(this);
|
|
92
|
+
}
|
|
73
93
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
74
94
|
_query(query, params) {
|
|
75
95
|
let logger = (0, instance_1.getInstance)().getLogger();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MySQLConnection.js","sourceRoot":"","sources":["../src/MySQLConnection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;AAEF,6DAAwD;AACxD,6DAAwD;AACxD,yCAAuC;AAIvC,2EAAwE;AACxE,uDAAoD;AACpD,2DAAwD;AACxD,oEAA8C;AAE9C,mDAA4C;AAE5C,mDAAgD;AAEhD,6EAAwE;AACxE,iEAA8D;
|
|
1
|
+
{"version":3,"file":"MySQLConnection.js","sourceRoot":"","sources":["../src/MySQLConnection.ts"],"names":[],"mappings":"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"}
|
package/lib/MySQLDatabase.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Database } from './Database';
|
|
2
2
|
import { MySQLConnection } from './MySQLConnection';
|
|
3
3
|
import * as MySQL from 'mysql';
|
|
4
|
+
import { IDatabasePosition } from './IDatabasePosition';
|
|
4
5
|
export declare class MySQLDatabase extends Database<MySQL.PoolConfig, MySQL.PoolConnection> {
|
|
5
6
|
private $cluster;
|
|
6
7
|
constructor();
|
|
@@ -9,5 +10,6 @@ export declare class MySQLDatabase extends Database<MySQL.PoolConfig, MySQL.Pool
|
|
|
9
10
|
protected _addNode(nodeID: string, config: MySQL.PoolConfig): void;
|
|
10
11
|
protected _removeNode(nodeID: string): void;
|
|
11
12
|
protected _destroy(): Promise<void>;
|
|
12
|
-
|
|
13
|
+
private $getConnectionFromPool;
|
|
14
|
+
protected _getConnection(query: string, requireWriteAccess: boolean, position?: IDatabasePosition): Promise<MySQLConnection>;
|
|
13
15
|
}
|
package/lib/MySQLDatabase.js
CHANGED
|
@@ -21,6 +21,7 @@ const Database_1 = require("./Database");
|
|
|
21
21
|
const MySQLConnection_1 = require("./MySQLConnection");
|
|
22
22
|
const MySQL = tslib_1.__importStar(require("mysql"));
|
|
23
23
|
const instance_1 = require("./instance");
|
|
24
|
+
const ConnectionReplicationWaiter_1 = require("./private/ConnectionReplicationWaiter");
|
|
24
25
|
const TAG = 'MySQLDatabase';
|
|
25
26
|
class MySQLDatabase extends Database_1.Database {
|
|
26
27
|
constructor() {
|
|
@@ -61,10 +62,8 @@ class MySQLDatabase extends Database_1.Database {
|
|
|
61
62
|
});
|
|
62
63
|
});
|
|
63
64
|
}
|
|
64
|
-
|
|
65
|
-
(0, instance_1.getInstance)().getLogger().trace(TAG, `Querying connection pool for "${query}".`);
|
|
65
|
+
$getConnectionFromPool(query, requireWriteAccess, instantationStack) {
|
|
66
66
|
return new Promise((resolve, reject) => {
|
|
67
|
-
let instantationStack = new Error().stack;
|
|
68
67
|
this.$cluster.getConnection(query, (error, connection) => {
|
|
69
68
|
if (error) {
|
|
70
69
|
reject(error);
|
|
@@ -74,6 +73,30 @@ class MySQLDatabase extends Database_1.Database {
|
|
|
74
73
|
});
|
|
75
74
|
});
|
|
76
75
|
}
|
|
76
|
+
async _getConnection(query, requireWriteAccess, position) {
|
|
77
|
+
(0, instance_1.getInstance)().getLogger().trace(TAG, `Querying connection pool for "${query}".`);
|
|
78
|
+
let instantationStack = new Error().stack;
|
|
79
|
+
let conn = await this.$getConnectionFromPool(query, requireWriteAccess, instantationStack);
|
|
80
|
+
await conn.__internal_init();
|
|
81
|
+
if (conn.isReplication()) {
|
|
82
|
+
// master connections will not wait on database positions
|
|
83
|
+
// they are guarenteed to be at the tip.
|
|
84
|
+
// readonly, or otherwise known as replication connections
|
|
85
|
+
// may have replication lag. If we have a desired position target,
|
|
86
|
+
// then await for the connection to catch up to that target.
|
|
87
|
+
if (position && position.page && position.position) {
|
|
88
|
+
let waiter = new ConnectionReplicationWaiter_1.ConnectionReplicationWaiter(conn);
|
|
89
|
+
try {
|
|
90
|
+
await waiter.wait(position);
|
|
91
|
+
}
|
|
92
|
+
catch (ex) {
|
|
93
|
+
conn.close(true);
|
|
94
|
+
throw ex;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return conn;
|
|
99
|
+
}
|
|
77
100
|
}
|
|
78
101
|
exports.MySQLDatabase = MySQLDatabase;
|
|
79
102
|
//# sourceMappingURL=MySQLDatabase.js.map
|
package/lib/MySQLDatabase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MySQLDatabase.js","sourceRoot":"","sources":["../src/MySQLDatabase.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;AAEF,yCAAoC;AACpC,uDAAkD;AAClD,qDAA+B;AAC/B,yCAAuC;AAEvC,MAAM,GAAG,GAAW,eAAe,CAAC;AAEpC,MAAa,aAAc,SAAQ,mBAAgD;IAG/E;QACI,KAAK,EAAE,CAAC;QACR,mEAAmE;QACnE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACpC,oBAAoB,EAAE,QAAQ;YAC9B,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7B,IAAA,sBAAW,GAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6EAA6E;IACtE,MAAM,CAAC,KAAU;QACpB,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,6EAA6E;IACtE,MAAM,CAAC,MAAM,CAAC,KAAU;QAC3B,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,QAAQ,CAAC,MAAc,EAAE,MAAwB;QACvD,IAAA,sBAAW,GAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,oCAAoC,MAAM,GAAG,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAES,WAAW,CAAC,MAAc;QAChC,IAAA,sBAAW,GAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,sCAAsC,MAAM,GAAG,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAES,QAAQ;QACd,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAqB,EAAE,EAAE;gBACxC,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;gBACX,CAAC;gBAED,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;
|
|
1
|
+
{"version":3,"file":"MySQLDatabase.js","sourceRoot":"","sources":["../src/MySQLDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StormError } from './StormError';
|
|
2
|
+
import { ErrorCode } from './ErrorCode';
|
|
3
|
+
import { StatusCode } from './StatusCode';
|
|
4
|
+
/**
|
|
5
|
+
* @since 8.1.0
|
|
6
|
+
*/
|
|
7
|
+
export declare class TimeoutError extends StormError {
|
|
8
|
+
constructor();
|
|
9
|
+
getMessage(): string;
|
|
10
|
+
getCode(): ErrorCode;
|
|
11
|
+
getHTTPCode(): StatusCode;
|
|
12
|
+
getLocaleCode(): string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright 2017-2024 Norman Breau
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TimeoutError = void 0;
|
|
19
|
+
const StormError_1 = require("./StormError");
|
|
20
|
+
const ErrorCode_1 = require("./ErrorCode");
|
|
21
|
+
const StatusCode_1 = require("./StatusCode");
|
|
22
|
+
/**
|
|
23
|
+
* @since 8.1.0
|
|
24
|
+
*/
|
|
25
|
+
class TimeoutError extends StormError_1.StormError {
|
|
26
|
+
constructor() {
|
|
27
|
+
super();
|
|
28
|
+
}
|
|
29
|
+
getMessage() {
|
|
30
|
+
return `The requested resource could not be reached in time.`;
|
|
31
|
+
}
|
|
32
|
+
getCode() {
|
|
33
|
+
return ErrorCode_1.ErrorCode.INTERNAL;
|
|
34
|
+
}
|
|
35
|
+
getHTTPCode() {
|
|
36
|
+
return StatusCode_1.StatusCode.ERR_REQUEST_TIMEOUT;
|
|
37
|
+
}
|
|
38
|
+
getLocaleCode() {
|
|
39
|
+
return '@breautek/storm/TimeoutError/message';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.TimeoutError = TimeoutError;
|
|
43
|
+
//# sourceMappingURL=TimeoutError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeoutError.js","sourceRoot":"","sources":["../src/TimeoutError.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,6CAAwC;AACxC,2CAAsC;AACtC,6CAAwC;AAExC;;GAEG;AACH,MAAa,YAAa,SAAQ,uBAAU;IACxC;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAEM,UAAU;QACb,OAAO,sDAAsD,CAAC;IAClE,CAAC;IAEM,OAAO;QACV,OAAO,qBAAS,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAEM,WAAW;QACd,OAAO,uBAAU,CAAC,mBAAmB,CAAC;IAC1C,CAAC;IAEe,aAAa;QACzB,OAAO,sCAAsC,CAAC;IAClD,CAAC;CACJ;AApBD,oCAoBC"}
|
package/lib/api.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export { IStoredProcedureResult } from './IStoredProcedureResult';
|
|
|
21
21
|
export { ErrorCode } from './ErrorCode';
|
|
22
22
|
export { RawError } from './RawError';
|
|
23
23
|
export { StormError, IErrorResponse, IAdditionalErrorDetails } from './StormError';
|
|
24
|
+
export { TimeoutError } from './TimeoutError';
|
|
24
25
|
export { JWTError } from './JWTError';
|
|
25
26
|
export { MissingParameterError } from './MissingParameterError';
|
|
26
27
|
export { InvalidCredentialsError } from './InvalidCredentialsError';
|
|
@@ -57,6 +58,7 @@ export { IDatabaseConnection } from './IDatabaseConnection';
|
|
|
57
58
|
export { IServiceHeaders } from './IServiceHeaders';
|
|
58
59
|
export { IAuthTokenData } from './IAuthTokenData';
|
|
59
60
|
export { IQueryable } from './IQueryable';
|
|
61
|
+
export { IDatabasePosition } from './IDatabasePosition';
|
|
60
62
|
export { Token } from './Token';
|
|
61
63
|
export { TokenManager } from './TokenManager';
|
|
62
64
|
export { ExitCode } from './ExitCode';
|
package/lib/api.js
CHANGED
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
exports.formidable = exports.Polygon = void 0;
|
|
18
|
+
exports.Point = exports.DatabaseCastObject = exports.ExitCode = exports.TokenManager = exports.Token = exports.BackendAuthenticationMiddleware = exports.ServiceResponse = exports.HTTPMethod = exports.ServiceProvider = exports.CORSMiddleware = exports.Handler = exports.ResponseData = exports.Response = exports.Request = exports.Middleware = exports.StatusCode = exports.LockWaitTimeoutError = exports.DeadLockError = exports.NotImplementedError = exports.DatabaseQueryError = exports.MissingConfigError = exports.DuplicateEntryError = exports.DiskSpaceError = exports.EntityNotFoundError = exports.UnauthorizedAccessError = exports.InvalidValueError = exports.ExpiredTokenError = exports.InternalError = exports.InvalidCredentialsError = exports.MissingParameterError = exports.JWTError = exports.TimeoutError = exports.StormError = exports.RawError = exports.ErrorCode = exports.Transaction = exports.IsolationLevel = exports.SetSessionVariableQuery = exports.RawQuery = exports.DropTemporaryTableQuery = exports.TemporaryTableQuery = exports.Query = exports.ManagedDatabaseConnection = exports.MySQLConnection = exports.MySQLDatabase = exports.DatabaseConnection = exports.Database = exports.ConfigLoader = exports.Application = exports.getInstance = void 0;
|
|
19
|
+
exports.formidable = exports.Polygon = exports.LineString = void 0;
|
|
20
20
|
const tslib_1 = require("tslib");
|
|
21
21
|
// Application
|
|
22
22
|
var instance_1 = require("./instance");
|
|
@@ -58,6 +58,8 @@ var RawError_1 = require("./RawError");
|
|
|
58
58
|
Object.defineProperty(exports, "RawError", { enumerable: true, get: function () { return RawError_1.RawError; } });
|
|
59
59
|
var StormError_1 = require("./StormError");
|
|
60
60
|
Object.defineProperty(exports, "StormError", { enumerable: true, get: function () { return StormError_1.StormError; } });
|
|
61
|
+
var TimeoutError_1 = require("./TimeoutError");
|
|
62
|
+
Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return TimeoutError_1.TimeoutError; } });
|
|
61
63
|
var JWTError_1 = require("./JWTError");
|
|
62
64
|
Object.defineProperty(exports, "JWTError", { enumerable: true, get: function () { return JWTError_1.JWTError; } });
|
|
63
65
|
var MissingParameterError_1 = require("./MissingParameterError");
|
package/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;;AAEF,cAAc;AACd,uCAAuC;AAA/B,uGAAA,WAAW,OAAA;AACnB,6CAGuB;AAFnB,0GAAA,WAAW,OAAA;AAIf,SAAS;AACT,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,WAAW;AACX,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yEAAsE;AAA9D,sIAAA,yBAAyB,OAAA;AACjC,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,6DAAqF;AAA7E,0HAAA,mBAAmB,OAAA;AAC3B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAIhB,qEAAiG;AAAzF,kIAAA,uBAAuB,OAAA;AAC/B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AAInB,SAAS;AACT,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2CAIsB;AAHlB,wGAAA,UAAU,OAAA;AAId,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,iEAA8D;AAAtD,8HAAA,qBAAqB,OAAA;AAC7B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,+DAA4D;AAApD,4HAAA,oBAAoB,OAAA;AAE5B,OAAO;AACP,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qCAAiD;AAAzC,kGAAA,OAAO,OAAA;AACf,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qCAAmE;AAA3D,kGAAA,OAAO,OAAA;AACf,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qFAAkF;AAA1E,kJAAA,+BAA+B,OAAA;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;;AAEF,cAAc;AACd,uCAAuC;AAA/B,uGAAA,WAAW,OAAA;AACnB,6CAGuB;AAFnB,0GAAA,WAAW,OAAA;AAIf,SAAS;AACT,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,WAAW;AACX,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yEAAsE;AAA9D,sIAAA,yBAAyB,OAAA;AACjC,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,6DAAqF;AAA7E,0HAAA,mBAAmB,OAAA;AAC3B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAIhB,qEAAiG;AAAzF,kIAAA,uBAAuB,OAAA;AAC/B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AAInB,SAAS;AACT,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2CAIsB;AAHlB,wGAAA,UAAU,OAAA;AAId,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,iEAA8D;AAAtD,8HAAA,qBAAqB,OAAA;AAC7B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,+DAA4D;AAApD,4HAAA,oBAAoB,OAAA;AAE5B,OAAO;AACP,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qCAAiD;AAAzC,kGAAA,OAAO,OAAA;AACf,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qCAAmE;AAA3D,kGAAA,OAAO,OAAA;AACf,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qFAAkF;AAA1E,kJAAA,+BAA+B,OAAA;AAoBvC,QAAQ;AACR,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,QAAQ;AACR,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAIhB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qCAAkC;AAA1B,kGAAA,OAAO,OAAA;AAEf,cAAc;AACd,+DAAyC;AACjC,gCAAU"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IDatabaseConnection } from '../IDatabaseConnection';
|
|
2
|
+
import { IDatabasePosition } from '../IDatabasePosition';
|
|
3
|
+
export declare class ConnectionReplicationWaiter {
|
|
4
|
+
/**
|
|
5
|
+
* The default retry delay in milliseconds.
|
|
6
|
+
* Defaults to 1 second.
|
|
7
|
+
*
|
|
8
|
+
* This is the value used in between status query iterations.
|
|
9
|
+
*/
|
|
10
|
+
static readonly DEFAULT_RETRY_DELAY: number;
|
|
11
|
+
/**
|
|
12
|
+
* The default timeout delay. Defaults to 120 seconds.
|
|
13
|
+
* If the connection could not reach the target position in time,
|
|
14
|
+
* then the wait will timeout
|
|
15
|
+
*
|
|
16
|
+
* Using `Infinity` will disable the timeout
|
|
17
|
+
*/
|
|
18
|
+
static readonly DEFAULT_TIMEOUT: number;
|
|
19
|
+
private $conn;
|
|
20
|
+
private $retryDelay;
|
|
21
|
+
constructor(conn: IDatabaseConnection, retryDelay?: number);
|
|
22
|
+
private $sleep;
|
|
23
|
+
wait(target: IDatabasePosition, timeout?: number): Promise<void>;
|
|
24
|
+
}
|