Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/share/classes/java/sql/DataTruncation.java
38829 views
1
/*
2
* Copyright (c) 1996, 2013, 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</code> exception
30
* (on writes) or reported as a
31
* <code>DataTruncation</code> warning (on reads)
32
* when a data values is unexpectedly truncated for reasons other than its having
33
* exceeded <code>MaxFieldSize</code>.
34
*
35
* <P>The SQLstate for a <code>DataTruncation</code> during read is <code>01004</code>.
36
* <P>The SQLstate for a <code>DataTruncation</code> during write is <code>22001</code>.
37
*/
38
39
public class DataTruncation extends SQLWarning {
40
41
/**
42
* Creates a <code>DataTruncation</code> object
43
* with the SQLState initialized
44
* to 01004 when <code>read</code> is set to <code>true</code> and 22001
45
* when <code>read</code> is set to <code>false</code>,
46
* the reason set to "Data truncation", the
47
* vendor code set to 0, and
48
* the other fields set to the given values.
49
* The <code>cause</code> is not initialized, and may subsequently be
50
* initialized by a call to the
51
* {@link Throwable#initCause(java.lang.Throwable)} method.
52
* <p>
53
*
54
* @param index The index of the parameter or column value
55
* @param parameter true if a parameter value was truncated
56
* @param read true if a read was truncated
57
* @param dataSize the original size of the data
58
* @param transferSize the size after truncation
59
*/
60
public DataTruncation(int index, boolean parameter,
61
boolean read, int dataSize,
62
int transferSize) {
63
super("Data truncation", read == true?"01004":"22001");
64
this.index = index;
65
this.parameter = parameter;
66
this.read = read;
67
this.dataSize = dataSize;
68
this.transferSize = transferSize;
69
70
}
71
72
/**
73
* Creates a <code>DataTruncation</code> object
74
* with the SQLState initialized
75
* to 01004 when <code>read</code> is set to <code>true</code> and 22001
76
* when <code>read</code> is set to <code>false</code>,
77
* the reason set to "Data truncation", the
78
* vendor code set to 0, and
79
* the other fields set to the given values.
80
* <p>
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</code>
88
* (which is saved for later retrieval by the <code>getCause()</code> 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</code> and <code>read</code> 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</code> if the value truncated was a parameter;
121
* <code>false</code> 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</code> if the value was truncated when read from
131
* the database; <code>false</code> 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</code> 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</code> 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