2 // Mono.Data.PostgreSqlClient.PgSqlError.cs
5 // Rodrigo Moya (rodrigo@ximian.com)
6 // Daniel Morgan (danmorg@sc.rr.com)
8 // (C) Ximian, Inc 2002
12 // Permission is hereby granted, free of charge, to any person obtaining
13 // a copy of this software and associated documentation files (the
14 // "Software"), to deal in the Software without restriction, including
15 // without limitation the rights to use, copy, modify, merge, publish,
16 // distribute, sublicense, and/or sell copies of the Software, and to
17 // permit persons to whom the Software is furnished to do so, subject to
18 // the following conditions:
20 // The above copyright notice and this permission notice shall be
21 // included in all copies or substantial portions of the Software.
23 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
27 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
28 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
29 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33 using System
.Runtime
.InteropServices
;
35 namespace Mono
.Data
.PostgreSqlClient
38 /// Describes an error from a SQL database.
41 public sealed class PgSqlError
47 string procedure
= "";
52 internal PgSqlError(byte theClass
, int lineNumber
,
53 string message
, int number
, string procedure
,
54 string server
, string source
, byte state
) {
55 this.theClass
= theClass
;
56 this.lineNumber
= lineNumber
;
57 this.message
= message
;
59 this.procedure
= procedure
;
69 /// severity level of the error
78 public int LineNumber
{
85 public string Message
{
99 public string Procedure
{
106 public string Server
{
113 public string Source
{
131 public override string ToString ()
135 stackTrace
= " <Stack Trace>";
136 // FIXME: generate the correct SQL error string
137 toStr
= "PgSqlError:" + message
+ stackTrace
;
141 internal void SetClass(byte theClass
) {
142 this.theClass
= theClass
;
145 internal void SetLineNumber(int lineNumber
) {
146 this.lineNumber
= lineNumber
;
149 internal void SetMessage(string message
) {
150 this.message
= message
;
153 internal void SetNumber(int number
) {
154 this.number
= number
;
157 internal void SetProcedure(string procedure
) {
158 this.procedure
= procedure
;
161 internal void SetServer(string server
) {
162 this.server
= server
;
165 internal void SetSource(string source
) {
166 this.source
= source
;
169 internal void SetState(byte state
) {