diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 83913a3..8cef047 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -31,7 +31,7 @@ jobs: uses: docker/build-push-action@v2 with: context: . - platforms: linux/amd64 + platforms: linux/amd64,linux/arm/v7 file: ./Dockerfile.cryptopump push: true tags: ${{ secrets.DOCKER_HUB_USERNAME }}/cryptopump:latest @@ -45,5 +45,14 @@ jobs: push: true tags: ${{ secrets.DOCKER_HUB_USERNAME }}/cryptopump_db:latest + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + platforms: linux/arm/v7 + file: ./Dockerfile.mariadb + push: true + tags: ${{ secrets.DOCKER_HUB_USERNAME }}/cryptopump_mariadb:latest + - name: Image digest run: echo ${{ steps.docker_build.outputs.digest }} \ No newline at end of file diff --git a/Dockerfile.mariadb b/Dockerfile.mariadb new file mode 100644 index 0000000..17191d7 --- /dev/null +++ b/Dockerfile.mariadb @@ -0,0 +1,2 @@ +FROM yobasystems/alpine-mariadb:10.4.17-armhf +COPY /mysql/cryptopump-mariadb.sql /docker-entrypoint-initdb.d/init.sql \ No newline at end of file diff --git a/README.md b/README.md index 29bb04e..81b21ae 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ CryptoPump is a cryptocurrency trading tool that focuses on extremely high speed Do not risk money which you are afraid to lose. USE THE SOFTWARE AT YOUR OWN RISK. THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR TRADING RESULTS. Always start by running a this trading tool in Dry-run or TestNet and do not engage money before you understand how it works and what profit/loss you should expect. -#### - CryptoPump is now available as a self-contained Docker container set. Check it out at https://hub.docker.com/repository/docker/andreleibovici/cryptopump +#### - CryptoPump is now available as a self-contained Docker container set for linux/amd64 and linux/arm/v7 (Raspberry Pi). Check it out at https://hub.docker.com/repository/docker/andreleibovici/cryptopump - CryptoPump is a cryptocurrency trading tool that focuses on extremely high speed and flexibility. The algorithms utilize Go Language and the exchange WebSockets to react in real-time to market movements based on Bollinger statistical analysis and pre-defined profit margins. diff --git a/algorithms/algorithms.go b/algorithms/algorithms.go index 2f4ebab..d296778 100644 --- a/algorithms/algorithms.go +++ b/algorithms/algorithms.go @@ -3,8 +3,6 @@ package algorithms import ( "encoding/json" "errors" - "fmt" - "strings" "sync" "time" @@ -578,50 +576,33 @@ func WsUserDataServe( LogLevel: "DebugLevel", }.Do() - switch { - case strings.Contains(err.Error(), "1001"): - /* -1001 DISCONNECTED Internal error; unable to process your request. Please try again. */ - - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ - - case strings.Contains(err.Error(), "1006"): - /* -1006 UNEXPECTED_RESP An unexpected response was received from the message bus. Execution status unknown. */ - /* Error Codes for Binance https://github.com/binance/binance-spot-api-docs/blob/master/errors.md */ - - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ + } - case strings.Contains(err.Error(), "read: operation timed out"): - /* read tcp X.X.X.X:port->X.X.X.X:port: read: operation timed out */ + for { - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ + doneC, stopC, err = exchange.WsUserDataServe(configData, sessionData, wsHandler, errHandler) /* Start websocket channel */ - case strings.Contains(err.Error(), "read: connection reset by peer"): - /* read tcp X.X.X.X:port->X.X.X.X:port: read: connection reset by peer */ + if err != nil { /* If websocket channel is not connected */ - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ + panic(err) /* Panic */ } - Channel{}.SetTrue(sessionData) /* Set all goroutine channels to stop */ - Channel{ - name: "WsUserDataServe", - }.Stop(stopC, wg, configData, sessionData) /* Stop goroutine channel */ - - /* Retrieve NEW WsUserDataServe listen key for user stream service when there's an error */ - sessionData.ListenKey, err = exchange.GetUserStreamServiceListenKey(configData, sessionData) - - } - - doneC, stopC, err = exchange.WsUserDataServe(configData, sessionData, wsHandler, errHandler) + <-doneC - if err != nil { + logger.LogEntry{ /* Log Entry */ + Config: configData, + Market: nil, + Session: sessionData, + Order: &types.Order{}, + Message: functions.GetFunctionName() + " - " + "websocket channel disconnected, trying to re-establish", + LogLevel: "DebugLevel", + }.Do() - fmt.Println(err) + time.Sleep(time.Second / 3) /* Sleep for 3 seconds */ } - <-doneC - } // WsKline The Kline/Candlestick Stream push updates to the current klines/candlestick every second. @@ -696,52 +677,33 @@ func WsKline( LogLevel: "DebugLevel", }.Do() - switch { - case strings.Contains(err.Error(), "1006"): - /* -1006 UNEXPECTED_RESP An unexpected response was received from the message bus. Execution status unknown. */ - /* Error Codes for Binance https://github.com/binance/binance-spot-api-docs/blob/master/errors.md */ - - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ - - case strings.Contains(err.Error(), "EOF"): - /* -unexpected EOF An unexpected response was received from the message bus. Execution status unknown. */ - - return - - case strings.Contains(err.Error(), "1001"): - /* -1001 DISCONNECTED Internal error; unable to process your request. Please try again. */ - - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ + } - case strings.Contains(err.Error(), "read: operation timed out"): - /* read tcp X.X.X.X:port->X.X.X.X:port: read: operation timed out */ + for { - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ + doneC, stopC, err = exchange.WsKlineServe(configData, sessionData, wsHandler, errHandler) /* Start websocket channel */ - case strings.Contains(err.Error(), "read: connection reset by peer"): - /* read tcp X.X.X.X:port->X.X.X.X:port: read: connection reset by peer */ + if err != nil { /* If websocket channel is not connected */ - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ + panic(err) /* Panic */ } - Channel{}.SetTrue(sessionData) /* Set all goroutine channels to stop */ - Channel{ - name: "WsKline", - }.Stop(stopC, wg, configData, sessionData) /* Stop goroutine channel */ - - } - - doneC, stopC, err = exchange.WsKlineServe(configData, sessionData, wsHandler, errHandler) + <-doneC - if err != nil { + logger.LogEntry{ /* Log Entry */ + Config: configData, + Market: marketData, + Session: sessionData, + Order: &types.Order{}, + Message: functions.GetFunctionName() + " - " + "websocket channel disconnected, trying to re-establish", + LogLevel: "DebugLevel", + }.Do() - fmt.Println(err) + time.Sleep(time.Second / 3) /* Sleep for 3 seconds */ } - <-doneC - } // WsBookTicker Pushes any update to the best bid or asks price or quantity in real-time for a specified symbol @@ -854,59 +816,33 @@ func WsBookTicker( LogLevel: "DebugLevel", }.Do() - switch { - case strings.Contains(err.Error(), "1006"): - /* -1006 UNEXPECTED_RESP An unexpected response was received from the message bus. Execution status unknown. */ - /* Error Codes for Binance https://github.com/binance/binance-spot-api-docs/blob/master/errors.md */ - - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ - - case strings.Contains(err.Error(), "1008"): - /* websocket: close 1008 (policy violation): Pong timeout */ - /* 1008 indicates that an endpoint is terminating the connection - because it has received a message that violates its policy. This - is a generic status code that can be returned when there is no - other more suitable status code (e.g., 1003 or 1009) or if there - is a need to hide specific details about the policy. */ - - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ - - return - - case strings.Contains(err.Error(), "EOF"): - /* -unexpected EOF An unexpected response was received from the message bus. Execution status unknown. */ - - return + } - case strings.Contains(err.Error(), "read: operation timed out"): - /* read tcp X.X.X.X:port->X.X.X.X:port: read: operation timed out */ + for { - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ + doneC, stopC, err = exchange.WsBookTickerServe(configData, sessionData, wsHandler, errHandler) /* Start websocket channel */ - case strings.Contains(err.Error(), "read: connection reset by peer"): - /* read tcp X.X.X.X:port->X.X.X.X:port: read: connection reset by peer */ + if err != nil { /* If websocket channel is not connected */ - exchange.GetClient(configData, sessionData) /* Reconnect exchange client */ + panic(err) /* Panic */ } - Channel{}.SetTrue(sessionData) /* Set all goroutine channels to stop */ - Channel{ - name: "WsBookTicker", - }.Stop(stopC, wg, configData, sessionData) /* Stop goroutine channel */ - - } + <-doneC - doneC, stopC, err = exchange.WsBookTickerServe(configData, sessionData, wsHandler, errHandler) - - if err != nil { + logger.LogEntry{ /* Log Entry */ + Config: configData, + Market: marketData, + Session: sessionData, + Order: &types.Order{}, + Message: functions.GetFunctionName() + " - " + "websocket channel disconnected, trying to re-establish", + LogLevel: "DebugLevel", + }.Do() - fmt.Println(err) + time.Sleep(time.Second / 3) /* Sleep for 3 seconds */ } - <-doneC - } // BuyDecisionTree BUY decision routine diff --git a/documentation/HowToInstall.md b/documentation/HowToInstall.md index d54e94f..659f348 100644 --- a/documentation/HowToInstall.md +++ b/documentation/HowToInstall.md @@ -1,9 +1,11 @@ ## HOW TO INSTALL -Cryptopump can be used on Windows and Linux (with a MYSQL database is present and usable) or in a self-contained Docker environment. +Cryptopump can be used on Windows or Linux (with a MySQL or MariaDB database) or in a self-contained Docker environment. ### DOCKER: +#### - CryptoPump is now available as a self-contained Docker container set for linux/amd64 and linux/arm/v7 (Raspberry Pi). Check it out at https://hub.docker.com/repository/docker/andreleibovici/cryptopump + This is the easiest way to get CryptoPump up and running. The Docker Compose file provides all the necessary components to run the system. 1 - Create a directory for the project. diff --git a/documentation/docker-compose-rpi-example.yml b/documentation/docker-compose-rpi-example.yml new file mode 100644 index 0000000..37db671 --- /dev/null +++ b/documentation/docker-compose-rpi-example.yml @@ -0,0 +1,47 @@ +version: '3.6' + +services: + + cryptopump_db: + image: andreleibovici/cryptopump_mariadb:latest + container_name: cryptopump_db + environment: + MYSQL_ROOT_PASSWORD: password # change this + ports: + - "3306:3306" + tty: true + cap_add: + - SYS_NICE # CAP_SYS_NICE + volumes: + - db_data:/var/lib/mysql # database files + - /etc/localtime:/etc/localtime:ro # timezone + networks: + - backend + + cryptopump_app: + image: andreleibovici/cryptopump:latest + container_name: cryptopump_app + restart: always + environment: + - DB_USER=root + - DB_PASS=password # change this + - DB_TCP_HOST=cryptopump_db + - DB_PORT=3306 + - DB_NAME=cryptopump + ports: + - "8080-8090:8080-8090" + tty: true + volumes: + - config_data:/go/src/cryptopump/config # config files + - /etc/localtime:/etc/localtime:ro # timezone + networks: + - backend + depends_on: + - cryptopump_db + +networks: + backend: + +volumes: + db_data: + config_data: \ No newline at end of file diff --git a/exchange/binance.go b/exchange/binance.go index 4c61be4..b908519 100644 --- a/exchange/binance.go +++ b/exchange/binance.go @@ -158,8 +158,8 @@ func binanceMapExchangeInfo(sessionData *types.Session, from *binance.ExchangeIn func binanceGetClient( configData *types.Config) *binance.Client { - binance.WebsocketKeepalive = false - binance.WebsocketTimeout = time.Second * 30 + binance.WebsocketKeepalive = false /* Disable websocket keepalive */ + binance.WebsocketTimeout = time.Second * 100 /* Set websocket timeout */ /* If the -test.v flag is set, the testnet API is used */ if flag.Lookup("test.v") != nil { diff --git a/mysql/cryptopump-mariadb.sql b/mysql/cryptopump-mariadb.sql new file mode 100644 index 0000000..16beb25 --- /dev/null +++ b/mysql/cryptopump-mariadb.sql @@ -0,0 +1,654 @@ +-- MySQL dump 10.13 Distrib 8.0.28, for macos12.0 (x86_64) +-- +-- Host: 127.0.0.1 Database: cryptopump +-- ------------------------------------------------------ +-- Server version 5.5.5-10.5.11-MariaDB + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Current Database: `cryptopump` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `cryptopump` /*!40100 DEFAULT CHARACTER SET utf8mb4 */; + +USE `cryptopump`; + +-- +-- Table structure for table `global` +-- + +DROP TABLE IF EXISTS `global`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `global` ( + `ID` int(11) NOT NULL AUTO_INCREMENT, + `Profit` float NOT NULL, + `ProfitNet` float NOT NULL, + `ProfitPct` float NOT NULL, + `TransactTime` varchar(45) NOT NULL, + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 MAX_ROWS=1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `global` +-- + +LOCK TABLES `global` WRITE; +/*!40000 ALTER TABLE `global` DISABLE KEYS */; +/*!40000 ALTER TABLE `global` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `orders` +-- + +DROP TABLE IF EXISTS `orders`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `orders` ( + `ClientOrderId` varchar(45) NOT NULL, + `CummulativeQuoteQty` float NOT NULL, + `ExecutedQuantity` float NOT NULL, + `OrderID` bigint(20) NOT NULL, + `OrderIDSource` bigint(20) NOT NULL, + `Price` float NOT NULL, + `Side` varchar(45) NOT NULL, + `Status` varchar(45) NOT NULL, + `Symbol` varchar(45) NOT NULL, + `TransactTime` bigint(20) NOT NULL, + `ThreadID` varchar(45) NOT NULL, + `ThreadIDSession` varchar(45) NOT NULL, + PRIMARY KEY (`OrderID`), + UNIQUE KEY `OrderID_UNIQUE` (`OrderID`), + KEY `orders_idx_side_status` (`Side`,`Status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `orders` +-- + +LOCK TABLES `orders` WRITE; +/*!40000 ALTER TABLE `orders` DISABLE KEYS */; +/*!40000 ALTER TABLE `orders` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `session` +-- + +DROP TABLE IF EXISTS `session`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `session` ( + `ID` int(11) NOT NULL AUTO_INCREMENT, + `ThreadID` varchar(45) NOT NULL, + `ThreadIDSession` varchar(45) NOT NULL, + `Exchange` varchar(45) NOT NULL, + `FiatSymbol` varchar(45) NOT NULL, + `FiatFunds` float NOT NULL, + `DiffTotal` float NOT NULL, + `Status` tinyint(4) NOT NULL, + PRIMARY KEY (`ID`), + UNIQUE KEY `ThreadID_UNIQUE` (`ThreadID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `session` +-- + +LOCK TABLES `session` WRITE; +/*!40000 ALTER TABLE `session` DISABLE KEYS */; +/*!40000 ALTER TABLE `session` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `thread` +-- + +DROP TABLE IF EXISTS `thread`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `thread` ( + `ID` int(11) NOT NULL AUTO_INCREMENT, + `ThreadID` varchar(45) NOT NULL, + `ThreadIDSession` varchar(45) NOT NULL, + `OrderID` bigint(20) DEFAULT NULL, + `CummulativeQuoteQty` float NOT NULL, + `Price` float NOT NULL, + `ExecutedQuantity` float NOT NULL, + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `thread` +-- + +LOCK TABLES `thread` WRITE; +/*!40000 ALTER TABLE `thread` DISABLE KEYS */; +/*!40000 ALTER TABLE `thread` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Dumping routines for database 'cryptopump' +-- +/*!50003 DROP PROCEDURE IF EXISTS `DeleteSession` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `DeleteSession`(IN in_ThreadID varchar(45)) BEGIN DECLARE ThreadID varchar(45); SET SQL_SAFE_UPDATES = 0; SET ThreadID = in_ThreadID; DELETE FROM session WHERE session.ThreadID = in_ThreadID; SET SQL_SAFE_UPDATES = 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `DeleteThreadTransactionAll` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `DeleteThreadTransactionAll`() BEGIN SET SQL_SAFE_UPDATES = 0; DELETE FROM thread; SET SQL_SAFE_UPDATES = 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `DeleteThreadTransactionByOrderID` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `DeleteThreadTransactionByOrderID`(IN in_param_OrderID bigint) BEGIN DECLARE declared_in_param_OrderID bigint; SET SQL_SAFE_UPDATES = 0; SET declared_in_param_OrderID = in_param_OrderID; DELETE FROM thread WHERE thread.OrderID = in_param_OrderID; SET SQL_SAFE_UPDATES = 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetGlobal` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetGlobal`() BEGIN SELECT `global`.`Profit` AS `Profit`, `global`.`ProfitNet` AS `ProfitNet`, `global`.`ProfitPct` AS `ProfitPct`, `global`.`TransactTime` AS `TransactTime` FROM `global` WHERE `global`.`ID` = 1 LIMIT 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetLastOrderTransactionPrice` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetLastOrderTransactionPrice`(IN in_param_ThreadID varchar(45), IN in_param_Side varchar(45)) BEGIN DECLARE declared_in_param_ThreadID CHAR(45); DECLARE declared_in_param_Side CHAR(45); SET declared_in_param_ThreadID = in_param_ThreadID; SET declared_in_param_Side = in_param_Side; SELECT `orders`.`Price` AS `Price` FROM `orders` WHERE (`orders`.`ThreadID` = declared_in_param_ThreadID AND `orders`.`Side` = declared_in_param_Side AND (`orders`.`Status` <> 'CANCELED' OR `orders`.`Status` IS NULL)) ORDER BY from_unixtime((`orders`.`TransactTime` / 1000)) DESC LIMIT 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetLastOrderTransactionSide` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetLastOrderTransactionSide`(IN in_param_ThreadID varchar(45)) BEGIN DECLARE declared_in_param_ThreadID CHAR(45); SET declared_in_param_ThreadID = in_param_ThreadID; SELECT `orders`.`Side` AS `Side` FROM `orders` WHERE (`orders`.`ThreadID` = declared_in_param_ThreadID AND `orders`.`Status` = 'FILLED') ORDER BY from_unixtime((`orders`.`TransactTime` / 1000)) DESC LIMIT 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetOrderByOrderID` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetOrderByOrderID`(IN in_param_OrderID bigint, IN in_param_ThreadID varchar(45)) BEGIN DECLARE declared_in_param_orderid BIGINT; DECLARE declared_in_param_threadid CHAR(50); SET declared_in_param_orderid = in_param_orderid; SET declared_in_param_threadid = in_param_threadid; SELECT `orders`.`orderid` AS `OrderID`, `orders`.`price` AS `Price`, `orders`.`executedquantity` AS `ExecutedQuantity`, `orders`.`cummulativequoteqty` AS `CummulativeQuoteQty`, `orders`.`transacttime` AS `TransactTime` FROM `orders` WHERE (`orders`.`orderid` = declared_in_param_orderid AND `orders`.`threadid` = declared_in_param_threadid) LIMIT 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetOrderSymbol` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetOrderSymbol`(IN in_param varchar(45)) BEGIN DECLARE declared_in_param CHAR(45); SET declared_in_param = in_param; SELECT Symbol from orders WHERE orders.ThreadID = declared_in_param ORDER BY TransactTime DESC LIMIT 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetOrderTransactionCount` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetOrderTransactionCount`(IN in_param_ThreadID varchar(45), IN in_param_Side varchar(45), IN in_param_Minutes int) BEGIN DECLARE declared_in_param_ThreadID CHAR(45); DECLARE declared_in_param_Side CHAR(45); DECLARE declared_in_param_Minutes int; SET declared_in_param_ThreadID = in_param_ThreadID; SET declared_in_param_Side = in_param_Side; SET declared_in_param_Minutes = in_param_Minutes; SELECT COALESCE(count(*),0) AS `count` FROM `orders` WHERE (`orders`.`Side` = declared_in_param_Side AND `orders`.`Status` = 'FILLED' AND str_to_date(date_format(CAST(from_unixtime((`orders`.`TransactTime` / 1000)) AS DATETIME), '%Y-%m-%d %H:%i'), '%Y-%m-%d %H:%i') BETWEEN str_to_date(date_format(CAST(date_add(now(6), INTERVAL declared_in_param_Minutes minute) AS DATETIME), '%Y-%m-%d %H:%i'), '%Y-%m-%d %H:%i') AND str_to_date(date_format(CAST(now(6) AS DATETIME), '%Y-%m-%d %H:%i'), '%Y-%m-%d %H:%i') AND `orders`.`ThreadID` = declared_in_param_ThreadID); END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetOrderTransactionPending` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetOrderTransactionPending`(IN in_param_ThreadID varchar(45)) BEGIN DECLARE declared_in_param_ThreadID CHAR(45); SET declared_in_param_ThreadID = in_param_ThreadID; SELECT `orders`.`OrderID` AS `OrderID`, `orders`.`Symbol` AS `Symbol` FROM `orders` WHERE (`orders`.`ThreadID` = declared_in_param_ThreadID AND (`orders`.`Status` <> 'FILLED' OR `orders`.`Status` IS NULL) AND (`orders`.`Status` <> 'CANCELED' OR `orders`.`Status` IS NULL) AND `orders`.`Status` IS NOT NULL AND (`orders`.`Status` <> '' OR `orders`.`Status` IS NULL)) ORDER BY from_unixtime((`orders`.`TransactTime` / 1000)) ASC LIMIT 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetOrderTransactionSideLastTwo` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetOrderTransactionSideLastTwo`(IN in_param_ThreadID varchar(45)) BEGIN DECLARE declared_in_param_ThreadID CHAR(45); SET declared_in_param_ThreadID = in_param_ThreadID; SELECT `A`.`Side` AS `Last`, `B`.`Side` AS `SecondLast` FROM ( (SELECT `orders`.`Side` AS `Side` FROM `orders` WHERE (`orders`.`ThreadID` = declared_in_param_ThreadID AND (`orders`.`Status` <> 'CANCELED' OR `orders`.`Status` IS NULL)) ORDER BY from_unixtime((`orders`.`TransactTime` / 1000)) DESC LIMIT 1) A INNER JOIN (SELECT `orders`.`Side` AS `Side` FROM `orders` WHERE (`orders`.`ThreadID` = declared_in_param_ThreadID AND (`orders`.`Status` <> 'CANCELED' OR `orders`.`Status` IS NULL)) ORDER BY from_unixtime((`orders`.`TransactTime` / 1000)) DESC LIMIT 1,1) B ); END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetOrderTransactionTimeByOrderID` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetOrderTransactionTimeByOrderID`(IN in_param_OrderID bigint) BEGIN DECLARE declared_in_param_OrderID bigint; SET declared_in_param_OrderID = in_param_OrderID; SELECT `orders`.`TransactTime` AS `TransactTime` FROM `orders` WHERE `orders`.`OrderID` = declared_in_param_OrderID LIMIT 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetProfit` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetProfit`() BEGIN SELECT SUM(`source`.`Profit`) AS `profit`, SUM(`source`.`Profit`) + (`source`.`Diff`) AS `netprofit`, AVG(`source`.`Percentage`) AS `avg` FROM (SELECT `orders`.`Side` AS `Side`, `Orders`.`Side` AS `Orders__Side`, `orders`.`Status` AS `Status`, `Orders`.`Status` AS `Orders__Status`, `orders`.`ThreadID` AS `ThreadID`, `Orders`.`CummulativeQuoteQty` AS `Orders__CummulativeQuoteQty`, `orders`.`CummulativeQuoteQty` AS `CummulativeQuoteQty`, (`Orders`.`CummulativeQuoteQty` - `orders`.`CummulativeQuoteQty`) AS `Profit`, ((`Orders`.`CummulativeQuoteQty` - `orders`.`CummulativeQuoteQty`) / CASE WHEN `Orders`.`CummulativeQuoteQty` = 0 THEN NULL ELSE `Orders`.`CummulativeQuoteQty` END) AS `Percentage`, (SELECT sum(`session`.`DiffTotal`) AS `sum` FROM `session`) AS `Diff` FROM `orders` INNER JOIN `orders` `Orders` ON `orders`.`OrderID` = `Orders`.`OrderIDSource` WHERE ( `orders`.`Side` = 'BUY' ) AND ( `orders`.`Status` = 'FILLED' ) ) `source` WHERE ( 1 = 1 AND `source`.`Orders__Side` = 'SELL' AND 1 = 1 AND `source`.`Orders__Status` = 'FILLED' ); END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetProfitByThreadID` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetProfitByThreadID`(IN in_param_ThreadID varchar(45)) BEGIN DECLARE declared_in_param_ThreadID CHAR(50); SET declared_in_param_ThreadID = in_param_ThreadID; SELECT SUM(`source`.`Profit`) + (`source`.`Diff`) AS `sum`, AVG(`source`.`Percentage`) AS `avg` FROM (SELECT `orders`.`Side` AS `Side`, `Orders`.`Side` AS `Orders__Side`, `orders`.`Status` AS `Status`, `Orders`.`Status` AS `Orders__Status`, `orders`.`ThreadID` AS `ThreadID`, `Orders`.`CummulativeQuoteQty` AS `Orders__CummulativeQuoteQty`, `orders`.`CummulativeQuoteQty` AS `CummulativeQuoteQty`, (`Orders`.`CummulativeQuoteQty` - `orders`.`CummulativeQuoteQty`) AS `Profit`, ((`Orders`.`CummulativeQuoteQty` - `orders`.`CummulativeQuoteQty`) / CASE WHEN `Orders`.`CummulativeQuoteQty` = 0 THEN NULL ELSE `Orders`.`CummulativeQuoteQty` END) AS `Percentage`, (SELECT SUM(`session`.`DiffTotal`) AS `sum` FROM `session` WHERE `session`.`ThreadID` = declared_in_param_ThreadID) AS `Diff` FROM `orders` INNER JOIN `orders` `Orders` ON `orders`.`OrderID` = `Orders`.`OrderIDSource`) `source` WHERE (`source`.`Side` = 'BUY' AND `source`.`Orders__Side` = 'SELL' AND `source`.`Status` = 'FILLED' AND `source`.`Orders__Status` = 'FILLED' AND `source`.`ThreadID` = declared_in_param_ThreadID); END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetSessionStatus` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetSessionStatus`() BEGIN SELECT `session`.`ThreadID` AS `ThreadID`, `session`.`Status` AS `Status` FROM cryptopump.session WHERE `session`.`Status` = 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetThreadCount` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetThreadCount`() BEGIN SELECT COUNT(DISTINCT `session`.`ThreadID`) AS `count` FROM `cryptopump`.`session`; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetThreadLastTransaction` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetThreadLastTransaction`(IN in_param_ThreadID varchar(45)) BEGIN DECLARE declared_in_param_ThreadID CHAR(50); SET declared_in_param_ThreadID = in_param_ThreadID; SELECT `thread`.`CummulativeQuoteQty` AS `CummulativeQuoteQty`, `thread`.`OrderID` AS `OrderID`, `thread`.`Price` AS `Price`, `thread`.`ExecutedQuantity` AS `ExecutedQuantity`, `Orders`.`TransactTime` AS `TransactTime` FROM `thread` LEFT JOIN `orders` `Orders` ON `thread`.`OrderID` = `Orders`.`OrderID` WHERE (`thread`.`ThreadID` = declared_in_param_ThreadID) ORDER BY `thread`.`Price` ASC LIMIT 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetThreadTransactionAmount` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetThreadTransactionAmount`() BEGIN SELECT SUM(`thread`.`CummulativeQuoteQty`) AS `sum` FROM `cryptopump`.`thread`; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetThreadTransactionByPrice` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetThreadTransactionByPrice`(IN in_param_ThreadID varchar(45), IN in_param_Price float) BEGIN DECLARE declared_in_param_ThreadID CHAR(50); DECLARE declared_in_param_Price FLOAT; SET declared_in_param_ThreadID = in_param_ThreadID; SET declared_in_param_Price = in_param_Price; SELECT `thread`.`CummulativeQuoteQty` AS `CummulativeQuoteQty`, `thread`.`OrderID` AS `OrderID`, `thread`.`Price` AS `Price`, `thread`.`ExecutedQuantity` AS `ExecutedQuantity`, `Orders`.`TransactTime` AS `TransactTime` FROM `thread` LEFT JOIN `orders` `Orders` ON `thread`.`OrderID` = `Orders`.`OrderID` WHERE (`thread`.`ThreadID` = declared_in_param_ThreadID AND `thread`.`Price` < declared_in_param_Price) ORDER BY `thread`.`Price` ASC LIMIT 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetThreadTransactionByPriceHigher` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetThreadTransactionByPriceHigher`(IN in_param_ThreadID varchar(45), IN in_param_Price float) BEGIN DECLARE declared_in_param_ThreadID CHAR(50); DECLARE declared_in_param_Price FLOAT; SET declared_in_param_ThreadID = in_param_ThreadID; SET declared_in_param_Price = in_param_Price; SELECT `thread`.`CummulativeQuoteQty` AS `CummulativeQuoteQty`, `thread`.`OrderID` AS `OrderID`, `thread`.`Price` AS `Price`, `thread`.`ExecutedQuantity` AS `ExecutedQuantity`, `Orders`.`TransactTime` AS `TransactTime` FROM `thread` LEFT JOIN `orders` `Orders` ON `thread`.`OrderID` = `Orders`.`OrderID` WHERE (`thread`.`ThreadID` = declared_in_param_ThreadID AND `thread`.`Price` > declared_in_param_Price) ORDER BY `thread`.`Price` DESC LIMIT 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetThreadTransactionByThreadID` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetThreadTransactionByThreadID`(IN in_param_ThreadID varchar(45)) BEGIN DECLARE declared_in_param_ThreadID CHAR(50); SET declared_in_param_ThreadID = in_param_ThreadID; SELECT `thread`.`OrderID` AS `OrderID`, `thread`.`CummulativeQuoteQty` AS `CummulativeQuoteQty`, `thread`.`Price` AS `Price`, `thread`.`ExecutedQuantity` AS `ExecutedQuantity` FROM `thread` LEFT JOIN `orders` `Orders` ON `thread`.`OrderID` = `Orders`.`OrderID` WHERE `thread`.`ThreadID` = declared_in_param_ThreadID ORDER BY `thread`.`Price` ASC; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetThreadTransactionCount` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetThreadTransactionCount`(IN in_param varchar(45)) BEGIN DECLARE declared_in_param CHAR(50); SET declared_in_param = in_param; SELECT count(*) AS count FROM thread WHERE thread.ThreadID = declared_in_param; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetThreadTransactionDistinct` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetThreadTransactionDistinct`() BEGIN SELECT DISTINCT ThreadID, ThreadIDSession FROM thread; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `GetThreadTransactiontUpmarketPriceCount` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `GetThreadTransactiontUpmarketPriceCount`(IN in_param_ThreadID varchar(45), IN in_param_Price float) BEGIN DECLARE declared_in_param_ThreadID CHAR(45); DECLARE declared_in_param_Price float; SET declared_in_param_ThreadID = in_param_ThreadID; SET declared_in_param_Price = in_param_Price; SELECT count(*) AS `count` FROM `thread` WHERE (`thread`.`Price` < declared_in_param_Price AND `thread`.`ThreadID` = declared_in_param_ThreadID); END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `SaveGlobal` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `SaveGlobal`(in_Profit float, in_ProfitNet float, in_ProfitPct float, in_TransactTime bigint) BEGIN INSERT INTO global (Profit, ProfitNet, ProfitPct, TransactTime) VALUES (in_Profit, in_ProfitNet, in_ProfitPct, in_TransactTime); END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `SaveOrder` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `SaveOrder`(ClientOrderId varchar(45), CummulativeQuoteQty float, ExecutedQuantity float, OrderID bigint, OrderIDSource bigint, Price float, Side varchar(45), Status varchar(45), Symbol varchar(45), TransactTime bigint, ThreadID varchar(45), ThreadIDSession varchar(45)) BEGIN INSERT INTO orders (ClientOrderId, CummulativeQuoteQty, ExecutedQuantity, OrderID, OrderIDSource, Price, Side, Status, Symbol, TransactTime, ThreadID, ThreadIDSession) VALUES (ClientOrderId, CummulativeQuoteQty, ExecutedQuantity, OrderID, OrderIDSource, Price, Side, Status, Symbol, TransactTime, ThreadID, ThreadIDSession); END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `SaveSession` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `SaveSession`(in_ThreadID varchar(45), in_ThreadIDSession varchar(45), in_Exchange varchar(45), in_FiatSymbol varchar(45), in_FiatFunds float, in_DiffTotal float, in_Status tinyint(1)) BEGIN INSERT INTO session (ThreadID, ThreadIDSession, Exchange, FiatSymbol, FiatFunds, DiffTotal, Status) VALUES (in_ThreadID, in_ThreadIDSession, in_Exchange, in_FiatSymbol, in_FiatFunds, in_DiffTotal, in_Status); END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `SaveThreadTransaction` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `SaveThreadTransaction`(ThreadID varchar(45), ThreadIDSession varchar(45), OrderID bigint, CummulativeQuoteQty float, Price float, ExecutedQuantity float) BEGIN INSERT INTO thread (ThreadID, ThreadIDSession, OrderID, CummulativeQuoteQty, Price, ExecutedQuantity) VALUES (ThreadID, ThreadIDSession, OrderID, CummulativeQuoteQty, Price, ExecutedQuantity); END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `UpdateGlobal` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `UpdateGlobal`(in_Profit float, in_ProfitNet float, in_ProfitPct float, in_TransactTime bigint) BEGIN SET SQL_SAFE_UPDATES = 0; UPDATE global SET Profit = in_Profit, ProfitNet = in_ProfitNet, ProfitPct = in_ProfitPct, TransactTime = in_TransactTime WHERE ID = 1; SET SQL_SAFE_UPDATES = 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `UpdateOrder` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `UpdateOrder`(in_OrderID bigint, CummulativeQuoteQty float, ExecutedQuantity float, Price float, Status varchar(45)) BEGIN SET SQL_SAFE_UPDATES = 0; UPDATE orders SET CummulativeQuoteQty = CummulativeQuoteQty, ExecutedQuantity = ExecutedQuantity, Price = Price, Status = Status WHERE OrderID = in_OrderID; SET SQL_SAFE_UPDATES = 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `UpdateSession` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; + +CREATE DEFINER=`root`@`%` PROCEDURE `UpdateSession`(in_ThreadID varchar(45), in_ThreadIDSession varchar(45), in_Exchange varchar(45), in_FiatSymbol varchar(45), in_FiatFunds float, in_DiffTotal float, in_Status tinyint(1)) BEGIN SET SQL_SAFE_UPDATES = 0; UPDATE `session` SET `session`.`FiatFunds` = in_FiatFunds, `session`.`DiffTotal` = in_DiffTotal, `session`.`Status` = in_Status WHERE `session`.`ThreadID` = in_ThreadID; SET SQL_SAFE_UPDATES = 1; END; + +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2022-01-29 14:42:47 diff --git a/mysql/cryptopump.sql b/mysql/cryptopump.sql index 995557b..1b7c070 100644 --- a/mysql/cryptopump.sql +++ b/mysql/cryptopump.sql @@ -1,6 +1,6 @@ CREATE DATABASE IF NOT EXISTS `cryptopump` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */; USE `cryptopump`; --- MySQL dump 10.13 Distrib 8.0.27, for macos11 (x86_64) +-- MySQL dump 10.13 Distrib 8.0.28, for macos11 (x86_64) -- -- Host: 127.0.0.1 Database: cryptopump -- ------------------------------------------------------ @@ -78,7 +78,7 @@ CREATE TABLE `session` ( `Status` tinyint(1) NOT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `ThreadID_UNIQUE` (`ThreadID`) -) ENGINE=InnoDB AUTO_INCREMENT=1565 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -97,7 +97,7 @@ CREATE TABLE `thread` ( `Price` float NOT NULL, `ExecutedQuantity` float NOT NULL, PRIMARY KEY (`ID`) -) ENGINE=InnoDB AUTO_INCREMENT=9028 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -966,4 +966,4 @@ DELIMITER ; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2021-12-26 8:08:18 +-- Dump completed on 2022-02-01 18:48:08