亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? metadataregressiontest.java

?? 用于JAVA數據庫連接.解壓就可用,方便得很
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
/* Copyright (C) 2002-2007 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as  published by the Free Software Foundation. There are special exceptions to the terms and conditions of the GPL  as it is applied to this software. View the full text of the  exception in file EXCEPTIONS-CONNECTOR-J in the directory of this  software distribution. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */package testsuite.regression;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverPropertyInfo;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;import java.sql.Types;import java.util.HashMap;import java.util.Properties;import testsuite.BaseTestCase;import com.mysql.jdbc.Driver;import com.mysql.jdbc.Field;import com.mysql.jdbc.NonRegisteringDriver;import com.mysql.jdbc.SQLError;/** * Regression tests for DatabaseMetaData *  * @author Mark Matthews * @version $Id: MetaDataRegressionTest.java,v 1.1.2.1 2005/05/13 18:58:38 *          mmatthews Exp $ */public class MetaDataRegressionTest extends BaseTestCase {	/**	 * Creates a new MetaDataRegressionTest.	 * 	 * @param name	 *            the name of the test	 */	public MetaDataRegressionTest(String name) {		super(name);	}	/**	 * Runs all test cases in this test suite	 * 	 * @param args	 */	public static void main(String[] args) {		junit.textui.TestRunner.run(MetaDataRegressionTest.class);	}	/**	 * DOCUMENT ME!	 * 	 * @throws Exception	 *             ...	 */	public void testBug2607() throws Exception {		try {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug2607");			this.stmt					.executeUpdate("CREATE TABLE testBug2607 (field1 INT PRIMARY KEY)");			this.rs = this.stmt.executeQuery("SELECT field1 FROM testBug2607");			ResultSetMetaData rsmd = this.rs.getMetaData();			assertTrue(!rsmd.isAutoIncrement(1));		} finally {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug2607");		}	}	/**	 * Tests fix for BUG#2852, where RSMD is not returning correct (or matching)	 * types for TINYINT and SMALLINT.	 * 	 * @throws Exception	 *             if the test fails.	 */	public void testBug2852() throws Exception {		try {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug2852");			this.stmt					.executeUpdate("CREATE TABLE testBug2852 (field1 TINYINT, field2 SMALLINT)");			this.stmt.executeUpdate("INSERT INTO testBug2852 VALUES (1,1)");			this.rs = this.stmt.executeQuery("SELECT * from testBug2852");			assertTrue(this.rs.next());			ResultSetMetaData rsmd = this.rs.getMetaData();			assertTrue(rsmd.getColumnClassName(1).equals(					this.rs.getObject(1).getClass().getName()));			assertTrue("java.lang.Integer".equals(rsmd.getColumnClassName(1)));			assertTrue(rsmd.getColumnClassName(2).equals(					this.rs.getObject(2).getClass().getName()));			assertTrue("java.lang.Integer".equals(rsmd.getColumnClassName(2)));		} finally {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug2852");		}	}	/**	 * Tests fix for BUG#2855, where RSMD is not returning correct (or matching)	 * types for FLOAT.	 * 	 * @throws Exception	 *             if the test fails.	 */	public void testBug2855() throws Exception {		try {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug2855");			this.stmt.executeUpdate("CREATE TABLE testBug2855 (field1 FLOAT)");			this.stmt.executeUpdate("INSERT INTO testBug2855 VALUES (1)");			this.rs = this.stmt.executeQuery("SELECT * from testBug2855");			assertTrue(this.rs.next());			ResultSetMetaData rsmd = this.rs.getMetaData();			assertTrue(rsmd.getColumnClassName(1).equals(					this.rs.getObject(1).getClass().getName()));			assertTrue("java.lang.Float".equals(rsmd.getColumnClassName(1)));		} finally {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug2855");		}	}	/**	 * Tests fix for BUG#3570 -- inconsistent reporting of column type	 * 	 * @throws Exception	 *             if an error occurs	 */	public void testBug3570() throws Exception {		String createTableQuery = " CREATE TABLE testBug3570(field_tinyint TINYINT"				+ ",field_smallint SMALLINT"				+ ",field_mediumint MEDIUMINT"				+ ",field_int INT"				+ ",field_integer INTEGER"				+ ",field_bigint BIGINT"				+ ",field_real REAL"				+ ",field_float FLOAT"				+ ",field_decimal DECIMAL"				+ ",field_numeric NUMERIC"				+ ",field_double DOUBLE"				+ ",field_char CHAR(3)"				+ ",field_varchar VARCHAR(255)"				+ ",field_date DATE"				+ ",field_time TIME"				+ ",field_year YEAR"				+ ",field_timestamp TIMESTAMP"				+ ",field_datetime DATETIME"				+ ",field_tinyblob TINYBLOB"				+ ",field_blob BLOB"				+ ",field_mediumblob MEDIUMBLOB"				+ ",field_longblob LONGBLOB"				+ ",field_tinytext TINYTEXT"				+ ",field_text TEXT"				+ ",field_mediumtext MEDIUMTEXT"				+ ",field_longtext LONGTEXT"				+ ",field_enum ENUM('1','2','3')"				+ ",field_set SET('1','2','3'))";		try {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug3570");			this.stmt.executeUpdate(createTableQuery);			ResultSet dbmdRs = this.conn.getMetaData().getColumns(					this.conn.getCatalog(), null, "testBug3570", "%");			this.rs = this.stmt.executeQuery("SELECT * FROM testBug3570");			ResultSetMetaData rsmd = this.rs.getMetaData();			while (dbmdRs.next()) {				String columnName = dbmdRs.getString(4);				int typeFromGetColumns = dbmdRs.getInt(5);				int typeFromRSMD = rsmd.getColumnType(this.rs						.findColumn(columnName));				//				// TODO: Server needs to send these types correctly....				//				if (!"field_tinyblob".equals(columnName)						&& !"field_tinytext".equals(columnName)) {					assertTrue(columnName + " -> type from DBMD.getColumns("							+ typeFromGetColumns							+ ") != type from RSMD.getColumnType("							+ typeFromRSMD + ")",							typeFromGetColumns == typeFromRSMD);				}			}		} finally {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug3570");		}	}	/**	 * Tests char/varchar bug	 * 	 * @throws Exception	 *             if any errors occur	 */	public void testCharVarchar() throws Exception {		try {			this.stmt.execute("DROP TABLE IF EXISTS charVarCharTest");			this.stmt.execute("CREATE TABLE charVarCharTest ("					+ "  TableName VARCHAR(64)," + "  FieldName VARCHAR(64),"					+ "  NextCounter INTEGER);");			String query = "SELECT TableName, FieldName, NextCounter FROM charVarCharTest";			this.rs = this.stmt.executeQuery(query);			ResultSetMetaData rsmeta = this.rs.getMetaData();			assertTrue(rsmeta.getColumnTypeName(1).equalsIgnoreCase("VARCHAR"));			// is "CHAR", expected "VARCHAR"			assertTrue(rsmeta.getColumnType(1) == 12);			// is 1 (java.sql.Types.CHAR), expected 12 (java.sql.Types.VARCHAR)		} finally {			this.stmt.execute("DROP TABLE IF EXISTS charVarCharTest");		}	}	/**	 * Tests fix for BUG#1673, where DatabaseMetaData.getColumns() is not	 * returning correct column ordinal info for non '%' column name patterns.	 * 	 * @throws Exception	 *             if the test fails for any reason	 */	public void testFixForBug1673() throws Exception {		try {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug1673");			this.stmt					.executeUpdate("CREATE TABLE testBug1673 (field_1 INT, field_2 INT)");			DatabaseMetaData dbmd = this.conn.getMetaData();			int ordinalPosOfCol2Full = 0;			this.rs = dbmd.getColumns(this.conn.getCatalog(), null,					"testBug1673", null);			while (this.rs.next()) {				if (this.rs.getString(4).equals("field_2")) {					ordinalPosOfCol2Full = this.rs.getInt(17);				}			}			int ordinalPosOfCol2Scoped = 0;			this.rs = dbmd.getColumns(this.conn.getCatalog(), null,					"testBug1673", "field_2");			while (this.rs.next()) {				if (this.rs.getString(4).equals("field_2")) {					ordinalPosOfCol2Scoped = this.rs.getInt(17);				}			}			assertTrue("Ordinal position in full column list of '"					+ ordinalPosOfCol2Full					+ "' != ordinal position in pattern search, '"					+ ordinalPosOfCol2Scoped + "'.",					(ordinalPosOfCol2Full != 0)							&& (ordinalPosOfCol2Scoped != 0)							&& (ordinalPosOfCol2Scoped == ordinalPosOfCol2Full));		} finally {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug1673");		}	}	/**	 * Tests bug reported by OpenOffice team with getColumns and LONGBLOB	 * 	 * @throws Exception	 *             if any errors occur	 */	public void testGetColumns() throws Exception {		try {			this.stmt					.execute("CREATE TABLE IF NOT EXISTS longblob_regress(field_1 longblob)");			DatabaseMetaData dbmd = this.conn.getMetaData();			ResultSet dbmdRs = null;			try {				dbmdRs = dbmd.getColumns("", "", "longblob_regress", "%");				while (dbmdRs.next()) {					dbmdRs.getInt(7);				}			} finally {				if (dbmdRs != null) {					try {						dbmdRs.close();					} catch (SQLException ex) {						;					}				}			}		} finally {			this.stmt.execute("DROP TABLE IF EXISTS longblob_regress");		}	}	/**	 * Tests fix for Bug#	 * 	 * @throws Exception	 *             if an error occurs	 */	public void testGetColumnsBug1099() throws Exception {		try {			this.stmt					.executeUpdate("DROP TABLE IF EXISTS testGetColumnsBug1099");			DatabaseMetaData dbmd = this.conn.getMetaData();			this.rs = dbmd.getTypeInfo();			StringBuffer types = new StringBuffer();			HashMap alreadyDoneTypes = new HashMap();			while (this.rs.next()) {				String typeName = this.rs.getString("TYPE_NAME");				String createParams = this.rs.getString("CREATE_PARAMS");				if ((typeName.indexOf("BINARY") == -1)						&& !typeName.equals("LONG VARCHAR")) {					if (!alreadyDoneTypes.containsKey(typeName)) {						alreadyDoneTypes.put(typeName, null);						if (types.length() != 0) {							types.append(", \n");						}						int typeNameLength = typeName.length();						StringBuffer safeTypeName = new StringBuffer(								typeNameLength);						for (int i = 0; i < typeNameLength; i++) {							char c = typeName.charAt(i);							if (Character.isWhitespace(c)) {								safeTypeName.append("_");							} else {								safeTypeName.append(c);							}						}						types.append(safeTypeName.toString());						types.append("Column ");						types.append(typeName);						if (typeName.indexOf("CHAR") != -1) {							types.append(" (1)");						} else if (typeName.equalsIgnoreCase("enum")								|| typeName.equalsIgnoreCase("set")) {							types.append("('a', 'b', 'c')");						}					}				}			}			this.stmt.executeUpdate("CREATE TABLE testGetColumnsBug1099("					+ types.toString() + ")");			dbmd.getColumns(null, this.conn.getCatalog(),					"testGetColumnsBug1099", "%");		} finally {			this.stmt					.executeUpdate("DROP TABLE IF EXISTS testGetColumnsBug1099");		}	}	/**	 * Tests whether or not unsigned columns are reported correctly in	 * DBMD.getColumns	 * 	 * @throws Exception	 */	public void testGetColumnsUnsigned() throws Exception {		try {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testGetUnsignedCols");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品三级日韩久久| 一区二区三区四区在线播放| 1000精品久久久久久久久| 亚洲电影你懂得| 色婷婷av一区| 亚洲成国产人片在线观看| 色先锋资源久久综合| 亚洲欧美国产77777| 波多野结衣中文字幕一区 | 美女一区二区视频| 亚洲综合一区二区三区| 国内精品第一页| 国产精品视频免费看| 99国产麻豆精品| 亚洲小说春色综合另类电影| 欧美欧美欧美欧美| 精品一区二区免费看| 日本一区二区不卡视频| 成人网页在线观看| 一区二区三区在线视频观看| 欧美三级韩国三级日本一级| 亚洲一区二区三区爽爽爽爽爽| 欧美亚州韩日在线看免费版国语版| 亚洲一级片在线观看| 久久亚洲一区二区三区四区| 成人黄色电影在线| 久久66热re国产| 日韩经典中文字幕一区| 一区二区三区加勒比av| 中文字幕在线免费不卡| 国产亚洲成年网址在线观看| 成人黄色一级视频| 五月天激情小说综合| 亚洲一区二区三区视频在线播放| 日韩一区有码在线| 国产精品网站导航| 亚洲精品成a人| 亚洲三级电影全部在线观看高清| 久久夜色精品国产欧美乱极品| 精品国产伦一区二区三区观看方式| 欧美性色黄大片| 欧美一级日韩一级| 精品国产网站在线观看| 中文字幕国产一区二区| 亚洲日本一区二区三区| 香蕉久久一区二区不卡无毒影院 | 国产精品日韩精品欧美在线| 日本一区二区三区四区| 亚洲视频在线一区观看| 亚洲一区二区三区自拍| 久久黄色级2电影| caoporn国产一区二区| 欧美撒尿777hd撒尿| 色哦色哦哦色天天综合| 欧美视频中文一区二区三区在线观看 | 在线观看91精品国产入口| 在线不卡a资源高清| 国产精品久久久久9999吃药| 午夜精品久久久久久不卡8050| 久草这里只有精品视频| 日本电影亚洲天堂一区| 国产欧美一区二区精品忘忧草| 亚洲国产精品久久人人爱蜜臀| 黄色日韩网站视频| 88在线观看91蜜桃国自产| 亚洲三级在线观看| 国产激情91久久精品导航| 欧美日韩dvd在线观看| 亚洲一区二区在线播放相泽| 国产成人在线观看| 国产日产欧产精品推荐色| 日韩电影免费一区| 欧洲激情一区二区| 亚洲综合在线电影| 91香蕉视频在线| 亚洲精品一区二区在线观看| 亚洲欧美偷拍三级| 91在线云播放| 亚洲欧美综合网| 成人一道本在线| 国产精品激情偷乱一区二区∴| 精品一区二区三区视频| 精品国产99国产精品| 久99久精品视频免费观看| 精品国产a毛片| 成人开心网精品视频| 国产精品卡一卡二| 欧美三级蜜桃2在线观看| 日韩电影在线一区二区三区| 欧美一区二区性放荡片| 日本麻豆一区二区三区视频| 日韩欧美一卡二卡| 国产精品18久久久久久久网站| 亚洲国产电影在线观看| 91久久精品午夜一区二区| 毛片av中文字幕一区二区| 久久久午夜精品理论片中文字幕| 不卡av电影在线播放| 日韩在线a电影| 亚洲美女视频一区| 欧美日韩精品福利| 日本最新不卡在线| 国产精品传媒入口麻豆| 欧美性生活大片视频| 成人午夜在线播放| 日韩中文欧美在线| 亚洲大尺度视频在线观看| 欧美激情一区不卡| 久久午夜老司机| 日韩欧美三级在线| 5858s免费视频成人| 91精品办公室少妇高潮对白| jlzzjlzz亚洲日本少妇| 国产福利电影一区二区三区| 久久精品99国产精品| 三级在线观看一区二区| 亚洲福利国产精品| 亚洲第一电影网| 日韩成人免费电影| 裸体一区二区三区| 久久国产精品免费| 蜜臀久久久99精品久久久久久| 亚洲一区二区三区三| 亚洲免费av观看| 日韩和的一区二区| 老司机免费视频一区二区三区| 婷婷综合另类小说色区| 一区在线播放视频| 亚洲视频资源在线| 亚洲一卡二卡三卡四卡无卡久久| 亚洲福利视频导航| 老司机午夜精品| 色综合视频一区二区三区高清| 在线观看欧美黄色| 欧美不卡一区二区| 中文字幕在线播放不卡一区| 亚洲一区二区欧美日韩| 美国三级日本三级久久99| av在线这里只有精品| 日韩三级在线观看| 亚洲男同1069视频| 国产成人8x视频一区二区| 色94色欧美sute亚洲线路一ni| 日韩欧美另类在线| 天天色天天操综合| 波多野结衣欧美| 久久婷婷国产综合精品青草| 亚洲成av人片在线| 91视频观看免费| 自拍av一区二区三区| 国产99久久久国产精品免费看| 欧美在线免费观看亚洲| 中文天堂在线一区| 国产成人在线视频网址| 精品91自产拍在线观看一区| 婷婷成人综合网| 99久久er热在这里只有精品15 | 日韩电影在线观看网站| 欧美视频第二页| 亚洲午夜久久久久中文字幕久| 99精品欧美一区二区蜜桃免费| 国产三级久久久| av亚洲产国偷v产偷v自拍| 日本一区二区成人| 91香蕉视频mp4| 一区二区三区四区视频精品免费 | 欧美亚洲尤物久久| 亚洲一二三四久久| 欧美成人一区二区三区在线观看| 亚洲第一综合色| 日韩欧美一区二区在线视频| 精一区二区三区| 亚洲天堂成人网| 欧美一级欧美三级| 国产综合色在线视频区| 亚洲同性gay激情无套| 欧美午夜宅男影院| 国产精品资源站在线| 国产精品成人网| 风间由美性色一区二区三区| 国产精品国产三级国产aⅴ入口| 色综合久久久久| 国产一区二区三区四区在线观看| 国产精品久久久久久久浪潮网站 | 久久狠狠亚洲综合| 亚洲黄色小说网站| 国产精品理论片| xfplay精品久久| 日韩精品专区在线影院重磅| 成人免费视频网站在线观看| 日韩精品一二区| 亚洲图片你懂的| 国产精品免费人成网站| 日韩精品一区二| 这里是久久伊人| 717成人午夜免费福利电影| 欧美性大战久久| 欧美天堂一区二区三区| 欧美性大战久久久久久久| 一本色道久久综合亚洲91|