Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/java.sql/share/classes/java/sql/DataTruncation.java
41153 views
1
/*
2
* Copyright (c) 1996, 2020, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
package java.sql;
27
28
/**
29
* An exception thrown as a {@code DataTruncation} exception
30
* (on writes) or reported as a
31
* {@code DataTruncation} warning (on reads)
32
* when a data values is unexpectedly truncated for reasons other than its having
33
* exceeded {@code MaxFieldSize}.
34
*
35
* <P>The SQLstate for a {@code DataTruncation} during read is {@code 01004}.
36
* <P>The SQLstate for a {@code DataTruncation} during write is {@code 22001}.
37
*
38
* @since 1.1
39
*/
40
41
public class DataTruncation extends SQLWarning {
42
43
/**
44
* Creates a {@code DataTruncation} object
45
* with the SQLState initialized
46
* to 01004 when {@code read} is set to {@code true} and 22001
47
* when {@code read} is set to {@code false},
48
* the reason set to "Data truncation", the
49
* vendor code set to 0, and
50
* the other fields set to the given values.
51
* The {@code cause} is not initialized, and may subsequently be
52
* initialized by a call to the
53
* {@link Throwable#initCause(java.lang.Throwable)} method.
54
*
55
* @param index The index of the parameter or column value
56
* @param parameter true if a parameter value was truncated
57
* @param read true if a read was truncated
58
* @param dataSize the original size of the data
59
* @param transferSize the size after truncation
60
*/
61
public DataTruncation(int index, boolean parameter,
62
boolean read, int dataSize,
63
int transferSize) {
64
super("Data truncation", read == true?"01004":"22001");
65
this.index = index;
66
this.parameter = parameter;
67
this.read = read;
68
this.dataSize = dataSize;
69
this.transferSize = transferSize;
70
71
}
72
73
/**
74
* Creates a {@code DataTruncation} object
75
* with the SQLState initialized
76
* to 01004 when {@code read} is set to {@code true} and 22001
77
* when {@code read} is set to {@code false},
78
* the reason set to "Data truncation", the
79
* vendor code set to 0, and
80
* the other fields set to the given values.
81
*
82
* @param index The index of the parameter or column value
83
* @param parameter true if a parameter value was truncated
84
* @param read true if a read was truncated
85
* @param dataSize the original size of the data
86
* @param transferSize the size after truncation
87
* @param cause the underlying reason for this {@code DataTruncation}
88
* (which is saved for later retrieval by the {@code getCause()} method);
89
* may be null indicating the cause is non-existent or unknown.
90
*
91
* @since 1.6
92
*/
93
public DataTruncation(int index, boolean parameter,
94
boolean read, int dataSize,
95
int transferSize, Throwable cause) {
96
super("Data truncation", read == true?"01004":"22001",cause);
97
this.index = index;
98
this.parameter = parameter;
99
this.read = read;
100
this.dataSize = dataSize;
101
this.transferSize = transferSize;
102
}
103
104
/**
105
* Retrieves the index of the column or parameter that was truncated.
106
*
107
* <P>This may be -1 if the column or parameter index is unknown, in
108
* which case the {@code parameter} and {@code read} fields should be ignored.
109
*
110
* @return the index of the truncated parameter or column value
111
*/
112
public int getIndex() {
113
return index;
114
}
115
116
/**
117
* Indicates whether the value truncated was a parameter value or
118
* a column value.
119
*
120
* @return {@code true} if the value truncated was a parameter;
121
* {@code false} if it was a column value
122
*/
123
public boolean getParameter() {
124
return parameter;
125
}
126
127
/**
128
* Indicates whether or not the value was truncated on a read.
129
*
130
* @return {@code true} if the value was truncated when read from
131
* the database; {@code false} if the data was truncated on a write
132
*/
133
public boolean getRead() {
134
return read;
135
}
136
137
/**
138
* Gets the number of bytes of data that should have been transferred.
139
* This number may be approximate if data conversions were being
140
* performed. The value may be {@code -1} if the size is unknown.
141
*
142
* @return the number of bytes of data that should have been transferred
143
*/
144
public int getDataSize() {
145
return dataSize;
146
}
147
148
/**
149
* Gets the number of bytes of data actually transferred.
150
* The value may be {@code -1} if the size is unknown.
151
*
152
* @return the number of bytes of data actually transferred
153
*/
154
public int getTransferSize() {
155
return transferSize;
156
}
157
158
/**
159
* @serial
160
*/
161
private int index;
162
163
/**
164
* @serial
165
*/
166
private boolean parameter;
167
168
/**
169
* @serial
170
*/
171
private boolean read;
172
173
/**
174
* @serial
175
*/
176
private int dataSize;
177
178
/**
179
* @serial
180
*/
181
private int transferSize;
182
183
/**
184
* @serial
185
*/
186
private static final long serialVersionUID = 6464298989504059473L;
187
188
}
189
190