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.
32 using System
.Collections
;
34 using System
.Runtime
.InteropServices
;
36 namespace Mono
.Data
.PostgreSqlClient
39 /// Describes an error from a SQL database.
42 public sealed class PgSqlErrorCollection
: ICollection
, IEnumerable
44 ArrayList errorList
= new ArrayList();
46 internal PgSqlErrorCollection() {
49 internal PgSqlErrorCollection(byte theClass
, int lineNumber
,
50 string message
, int number
, string procedure
,
51 string server
, string source
, byte state
) {
53 Add (theClass
, lineNumber
, message
,
55 server
, source
, state
);
63 return errorList
.Count
;
68 public void CopyTo(Array array
, int index
) {
69 throw new NotImplementedException ();
73 bool ICollection
.IsSynchronized
{
75 throw new NotImplementedException ();
80 object ICollection
.SyncRoot
{
82 throw new NotImplementedException ();
87 public IEnumerator
GetEnumerator() {
88 throw new NotImplementedException ();
91 // Index property (indexer)
93 public PgSqlError
this[int index
] {
95 return (PgSqlError
) errorList
[index
];
104 public override string ToString()
106 throw new NotImplementedException ();
110 internal void Add(PgSqlError error
) {
111 errorList
.Add(error
);
114 internal void Add(byte theClass
, int lineNumber
,
115 string message
, int number
, string procedure
,
116 string server
, string source
, byte state
) {
118 PgSqlError error
= new PgSqlError(theClass
,
121 server
, source
, state
);
128 ~
PgSqlErrorCollection()
130 // FIXME: do the destructor - release resources