· 4 years ago · May 04, 2021, 06:22 AM
1[5:10 AM, 4/30/2021] Boss: None has filled in his task for the week. You have a grace of 11am today after which ...
2[11:05 AM, 4/30/2021] Boss: -- ELMAH - Error Logging Modules and Handlers for ASP.NET
3-- Copyright (c) 2004-9 Atif Aziz. All rights reserved.
4--
5-- Author(s):
6--
7-- Nick Berardi, http://www.coderjournal.com
8--
9-- Licensed under the Apache License, Version 2.0 (the "License");
10-- you may not use this file except in compliance with the License.
11-- You may obtain a copy of the License at
12--
13-- http://www.apache.org/licenses/LICENSE-2.0
14--
15-- Unless required by applicable law or agreed to in writing, software
16-- distributed under the License is distributed on an "AS IS" BASIS,
17-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18-- See the License for the specific language governing permissions and
19-- limitations under the License.
20
21-- $Id: MySql.sql 785 2011-01-22 01:44:08Z nberardi@gmail.com $
22
23-- ===========================================================================
24-- WARNING!
25-- ---------------------------------------------------------------------------
26--
27-- This script is designed for MySQL 5.1 GA, the script should work with later
28-- versions of MySQL, however earlier versions of MySQL 5.0 and below may cause
29-- issues.
30--
31-- If you continue with the current setup, please report any compatibility
32-- issues you encounter over at:
33--
34-- http://code.google.com/p/elmah/issues/list
35--
36-- ===========================================================================
37
38SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
39SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
40SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
41
42CREATE SCHEMA IF NOT EXISTS `elmah` ;
43USE `elmah`;
44
45-- -----------------------------------------------------
46-- Table `elmah`.`elmah_error`
47-- -----------------------------------------------------
48CREATE TABLE IF NOT EXISTS `elmah`.`elmah_error` (
49 `ErrorId` CHAR(36) NOT NULL ,
50 `Application` VARCHAR(60) NOT NULL ,
51 `Host` VARCHAR(50) NOT NULL ,
52 `Type` VARCHAR(100) NOT NULL ,
53 `Source` VARCHAR(60) NOT NULL ,
54 `Message` VARCHAR(500) NOT NULL ,
55 `User` VARCHAR(50) NOT NULL ,
56 `StatusCode` INT(10) NOT NULL ,
57 `TimeUtc` DATETIME NOT NULL ,
58 `Sequence` INT(10) NOT NULL AUTO_INCREMENT ,
59 `AllXml` TEXT NOT NULL ,
60 PRIMARY KEY (`Sequence`) ,
61 UNIQUE INDEX `IX_ErrorId` (`ErrorId`(8) ASC) ,
62 INDEX `IX_ELMAH_Error_App_Time_Seql` (`Application`(10) ASC, `TimeUtc` DESC, `Sequence` DESC) ,
63 INDEX `IX_ErrorId_App` (`ErrorId`(8) ASC, `Application`(10) ASC) )
64ENGINE = MyISAM
65DEFAULT CHARACTER SET = utf8
66CHECKSUM = 1
67DELAY_KEY_WRITE = 1
68ROW_FORMAT = DYNAMIC;
69
70
71DELIMITER //
72
73USE elmah//
74
75CREATE PROCEDURE `elmah`.`elmah_GetErrorXml` (
76 IN Id CHAR(36),
77 IN App VARCHAR(60)
78)
79NOT DETERMINISTIC
80READS SQL DATA
81BEGIN
82 SELECT `AllXml`
83 FROM `elmah_error`
84 WHERE `ErrorId` = Id AND `Application` = App;
85END//
86
87USE elmah//
88
89CREATE PROCEDURE `elmah`.`elmah_GetErrorsXml` (
90 IN App VARCHAR(60),
91 IN PageIndex INT(10),
92 IN PageSize INT(10),
93 OUT TotalCount INT(10)
94)
95NOT DETERMINISTIC
96READS SQL DATA
97BEGIN
98
99 SELECT count(*) INTO TotalCount
100 FROM `elmah_error`
101 WHERE `Application` = App;
102
103 SET @index = PageIndex * PageSize;
104 SET @count = PageSize;
105 SET @app = App;
106 PREPARE STMT FROM '
107 SELECT
108 `ErrorId`,
109 `Application`,
110 `Host`,
111 `Type`,
112 `Source`,
113 `Message`,
114 `User`,
115 `StatusCode`,
116 CONCAT(`TimeUtc`, '' Z'') AS `TimeUtc`
117 FROM
118 `elmah_error` error
119 WHERE
120 `Application` = ?
121 ORDER BY
122 `TimeUtc` DESC,
123 `Sequence` DESC
124 LIMIT
125 ?, ?';
126 EXECUTE STMT USING @app, @index, @count;
127
128END//
129
130USE elmah//
131
132CREATE PROCEDURE `elmah`.`elmah_LogError` (
133 IN ErrorId CHAR(36),
134 IN Application varchar(60),
135 IN Host VARCHAR(30),
136 IN Type VARCHAR(100),
137 IN Source VARCHAR(60),
138 IN Message VARCHAR(500),
139 IN User VARCHAR(50),
140 IN AllXml TEXT,
141 IN StatusCode INT(10),
142 IN TimeUtc DATETIME
143)
144NOT DETERMINISTIC
145MODIFIES SQL DATA
146BEGIN
147 INSERT INTO `elmah_error` (
148 `ErrorId`,
149 `Application`,
150 `Host`,
151 `Type`,
152 `Source`,
153 `Message`,
154 `User`,
155 `AllXml`,
156 `StatusCode`,
157 `TimeUtc`
158 ) VALUES (
159 ErrorId,
160 Application,
161 Host,
162 Type,
163 Source,
164 Message,
165 User,
166 AllXml,
167 StatusCode,
168 TimeUtc
169 );
170END//
171
172DELIMITER ;
173
174
175SET SQL_MODE=@OLD_SQL_MODE;
176SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
177SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;