|
14 | 14 | importorg.postgresql.util.*;
|
15 | 15 |
|
16 | 16 |
|
17 |
| -/* $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc1/Attic/AbstractJdbc1Connection.java,v 1.14 2003/02/04 09:20:08 barry Exp $ |
| 17 | +/* $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc1/Attic/AbstractJdbc1Connection.java,v 1.15 2003/02/05 11:12:39 davec Exp $ |
18 | 18 | * This class defines methods of the jdbc1 specification. This class is
|
19 | 19 | * extended by org.postgresql.jdbc2.AbstractJdbc2Connection which adds the jdbc2
|
20 | 20 | * methods. The real Connection class (for jdbc1) is org.postgresql.jdbc1.Jdbc1Connection
|
@@ -1159,6 +1159,56 @@ public String getDBVersionNumber()
|
1159 | 1159 | returndbVersionNumber;
|
1160 | 1160 | }
|
1161 | 1161 |
|
| 1162 | +// Parse a "dirty" integer surrounded by non-numeric characters |
| 1163 | +privatestaticintintegerPart(StringdirtyString) |
| 1164 | +{ |
| 1165 | +intstart,end; |
| 1166 | + |
| 1167 | +for (start =0;start <dirtyString.length() && !Character.isDigit(dirtyString.charAt(start)); ++start) |
| 1168 | +; |
| 1169 | + |
| 1170 | +for (end =start;end <dirtyString.length() &&Character.isDigit(dirtyString.charAt(end)); ++end) |
| 1171 | +; |
| 1172 | + |
| 1173 | +if (start ==end) |
| 1174 | +return0; |
| 1175 | + |
| 1176 | +returnInteger.parseInt(dirtyString.substring(start,end)); |
| 1177 | +} |
| 1178 | + |
| 1179 | +/* |
| 1180 | + * Get server major version |
| 1181 | + */ |
| 1182 | +publicintgetServerMajorVersion() |
| 1183 | +{ |
| 1184 | +try |
| 1185 | +{ |
| 1186 | +StringTokenizerversionTokens =newStringTokenizer(dbVersionNumber,".");// aaXbb.ccYdd |
| 1187 | +returnintegerPart(versionTokens.nextToken());// return X |
| 1188 | +} |
| 1189 | +catch (NoSuchElementExceptione) |
| 1190 | +{ |
| 1191 | +return0; |
| 1192 | +} |
| 1193 | +} |
| 1194 | + |
| 1195 | +/* |
| 1196 | + * Get server minor version |
| 1197 | + */ |
| 1198 | +publicintgetServerMinorVersion() |
| 1199 | +{ |
| 1200 | +try |
| 1201 | +{ |
| 1202 | +StringTokenizerversionTokens =newStringTokenizer(dbVersionNumber,".");// aaXbb.ccYdd |
| 1203 | +versionTokens.nextToken();// Skip aaXbb |
| 1204 | +returnintegerPart(versionTokens.nextToken());// return Y |
| 1205 | +} |
| 1206 | +catch (NoSuchElementExceptione) |
| 1207 | +{ |
| 1208 | +return0; |
| 1209 | +} |
| 1210 | +} |
| 1211 | + |
1162 | 1212 | /**
|
1163 | 1213 | * Is the server we are connected to running at least this version?
|
1164 | 1214 | * This comparison method will fail whenever a major or minor version
|
|