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

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

?? blobregressiontest.java

?? 用于JAVA數據庫連接.解壓就可用,方便得很
?? JAVA
字號:
/* Copyright (C) 2002-2004 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.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.BufferedOutputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.StringReader;import java.sql.Blob;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.Statement;import java.util.Properties;import testsuite.BaseTestCase;/** * Tests fixes for BLOB handling. *  * @author Mark Matthews * @version $Id: BlobRegressionTest.java,v 1.1.2.19 2005/03/09 18:16:16 *          mmatthews Exp $ */public class BlobRegressionTest extends BaseTestCase {	/**	 * Creates a new BlobRegressionTest.	 * 	 * @param name	 *            name of the test to run	 */	public BlobRegressionTest(String name) {		super(name);	}	/**	 * Runs all test cases in this test suite	 * 	 * @param args	 */	public static void main(String[] args) {		junit.textui.TestRunner.run(BlobRegressionTest.class);	}	/**	 * 	 * 	 * @throws Exception	 *             ...	 */	public void testBug2670() throws Exception {		if (!isRunningOnJdk131()) {			try {				byte[] blobData = new byte[32];				for (int i = 0; i < blobData.length; i++) {					blobData[i] = 1;				}				this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug2670");				this.stmt						.executeUpdate("CREATE TABLE testBug2670(blobField LONGBLOB)");				PreparedStatement pStmt = this.conn						.prepareStatement("INSERT INTO testBug2670 (blobField) VALUES (?)");				pStmt.setBytes(1, blobData);				pStmt.executeUpdate();				this.rs = this.stmt						.executeQuery("SELECT blobField FROM testBug2670");				this.rs.next();				Blob blob = this.rs.getBlob(1);				//				// Test mid-point insertion				//				blob.setBytes(4, new byte[] { 2, 2, 2, 2 });				byte[] newBlobData = blob.getBytes(1L, (int) blob.length());				assertTrue("Blob changed length",						blob.length() == blobData.length);				assertTrue(						"New data inserted wrongly",						((newBlobData[3] == 2) && (newBlobData[4] == 2)								&& (newBlobData[5] == 2) && (newBlobData[6] == 2)));				//				// Test end-point insertion				//				blob.setBytes(32, new byte[] { 2, 2, 2, 2 });				assertTrue("Blob length should be 3 larger",						blob.length() == (blobData.length + 3));			} finally {				this.stmt						.executeUpdate("DROP TABLE IF EXISTS testUpdateLongBlob");			}		}	}	/**	 * 	 * 	 * @throws Exception	 *             ...	 */	public void testUpdateLongBlobGT16M() throws Exception {		if (versionMeetsMinimum(4, 0)) {			try {				byte[] blobData = new byte[18 * 1024 * 1024]; // 18M blob				this.stmt						.executeUpdate("DROP TABLE IF EXISTS testUpdateLongBlob");				this.stmt						.executeUpdate("CREATE TABLE testUpdateLongBlob(blobField LONGBLOB)");				this.stmt						.executeUpdate("INSERT INTO testUpdateLongBlob (blobField) VALUES (NULL)");				PreparedStatement pStmt = this.conn						.prepareStatement("UPDATE testUpdateLongBlob SET blobField=?");				pStmt.setBytes(1, blobData);				pStmt.executeUpdate();			} finally {				this.stmt						.executeUpdate("DROP TABLE IF EXISTS testUpdateLongBlob");			}		}	}	/**	 * 	 * @throws Exception	 */	public void testUpdatableBlobsWithCharsets() throws Exception {		byte[] smallBlob = new byte[32];		for (byte i = 0; i < smallBlob.length; i++) {			smallBlob[i] = i;		}		try {			this.stmt					.executeUpdate("DROP TABLE IF EXISTS testUpdatableBlobsWithCharsets");			this.stmt					.executeUpdate("CREATE TABLE testUpdatableBlobsWithCharsets(pk INT NOT NULL PRIMARY KEY, field1 BLOB)");			PreparedStatement pStmt = this.conn					.prepareStatement("INSERT INTO testUpdatableBlobsWithCharsets (pk, field1) VALUES (1, ?)");			pStmt.setBinaryStream(1, new ByteArrayInputStream(smallBlob),					smallBlob.length);			pStmt.executeUpdate();			Statement updStmt = this.conn					.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,							ResultSet.CONCUR_UPDATABLE);			this.rs = updStmt					.executeQuery("SELECT pk, field1 FROM testUpdatableBlobsWithCharsets");			System.out.println(this.rs);			this.rs.next();			for (byte i = 0; i < smallBlob.length; i++) {				smallBlob[i] = (byte) (i + 32);			}			this.rs.updateBinaryStream(2, new ByteArrayInputStream(smallBlob),					smallBlob.length);			this.rs.updateRow();			ResultSet newRs = this.stmt					.executeQuery("SELECT field1 FROM testUpdatableBlobsWithCharsets");			newRs.next();			byte[] updatedBlob = newRs.getBytes(1);			for (byte i = 0; i < smallBlob.length; i++) {				byte origValue = smallBlob[i];				byte newValue = updatedBlob[i];				assertTrue("Original byte at position " + i + ", " + origValue						+ " != new value, " + newValue, origValue == newValue);			}		} finally {			this.stmt					.executeUpdate("DROP TABLE IF EXISTS testUpdatableBlobsWithCharsets");		}	}	public void testBug5490() throws Exception {		try {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug5490");			this.stmt.executeUpdate("CREATE TABLE testBug5490"					+ "(pk INT NOT NULL PRIMARY KEY, blobField BLOB)");			String sql = "insert into testBug5490 values(?,?)";			int blobFileSize = 871;			File blobFile = newTempBinaryFile("Bug5490", blobFileSize);			PreparedStatement pStmt = this.conn.prepareStatement(sql,					ResultSet.TYPE_SCROLL_INSENSITIVE,					ResultSet.CONCUR_READ_ONLY);			pStmt.setInt(1, 2);			FileInputStream fis = new FileInputStream(blobFile);			pStmt.setBinaryStream(2, fis, blobFileSize);			pStmt.execute();			fis.close();			pStmt.close();			this.rs = this.stmt					.executeQuery("SELECT blobField FROM testBug5490");			this.rs.next();			byte[] returned = this.rs.getBytes(1);			assertEquals(blobFileSize, returned.length);		} finally {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug5490");		}	}	/**	 * Tests BUG#8096 where emulated locators corrupt binary data when using	 * server-side prepared statements.	 * 	 * @throws Exception	 *             if the test fails.	 */	public void testBug8096() throws Exception {		if (!isRunningOnJdk131()) {			int dataSize = 256;			Properties props = new Properties();			props.setProperty("emulateLocators", "true");			Connection locatorConn = getConnectionWithProps(props);			String createTable = "CREATE TABLE testBug8096 (ID VARCHAR(10) "					+ "PRIMARY KEY, DATA LONGBLOB)";			String select = "SELECT ID, 'DATA' AS BLOB_DATA FROM testBug8096 "					+ "WHERE ID = ?";			String insert = "INSERT INTO testBug8096 (ID, DATA) VALUES (?, '')";			String id = "1";			byte[] testData = new byte[dataSize];			for (int i = 0; i < testData.length; i++) {				testData[i] = (byte) i;			}			try {				this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug8096");				this.stmt.executeUpdate(createTable);				PreparedStatement ps = locatorConn.prepareStatement(insert);				ps.setString(1, id);				ps.execute();				ps = locatorConn.prepareStatement(select);				ps.setString(1, id);				this.rs = ps.executeQuery();				if (this.rs.next()) {					Blob b = rs.getBlob("BLOB_DATA");					b.setBytes(1, testData);				}				this.rs.close();				ps.close();				ps = locatorConn.prepareStatement(select);				ps.setString(1, id);				this.rs = ps.executeQuery();				byte[] result = null;				if (this.rs.next()) {					Blob b = this.rs.getBlob("BLOB_DATA");					result = b.getBytes(1, dataSize - 1);				}				this.rs.close();				ps.close();				assertNotNull(result);				for (int i = 0; i < result.length && i < testData.length; i++) {					// Will print out all of the values that don't match.					// All negative values will instead be replaced with 63.					if (result[i] != testData[i]) {						assertEquals("At position " + i, testData[i], result[i]);					}				}			} finally {				this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug8096");			}		}	}	/**	 * Tests fix for BUG#9040 - PreparedStatement.addBatch() doesn't work with	 * server-side prepared statements and streaming BINARY data.	 * 	 * @throws Exception	 *             if the test fails.	 */	public void testBug9040() throws Exception {		try {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug9040");			this.stmt.executeUpdate("create table if not exists testBug9040 "					+ "(primary_key int not null primary key, "					+ "data mediumblob)");			this.pstmt = this.conn					.prepareStatement("replace into testBug9040 (primary_key, data) values(?,?)");			int primaryKey = 1;			byte[] data = "First Row".getBytes();			this.pstmt.setInt(1, primaryKey);			this.pstmt.setBinaryStream(2, new ByteArrayInputStream(data),					data.length);			this.pstmt.addBatch();			primaryKey = 2;			data = "Second Row".getBytes();			this.pstmt.setInt(1, primaryKey);			this.pstmt.setBinaryStream(2, new ByteArrayInputStream(data),					data.length);			this.pstmt.addBatch();			this.pstmt.executeBatch();		} finally {			this.stmt.executeUpdate("DROP TABLE IF EXISTS testBug9040");			if (this.pstmt != null) {				this.pstmt.close();			}		}	}	public void testBug10850() throws Exception {		String tableName = "testBug10850";		createTable(tableName, "(field1 TEXT)");		PreparedStatement pStmt = null;		try {			pStmt = this.conn.prepareStatement("INSERT INTO " +			tableName + " VALUES (?)");			pStmt.setCharacterStream(1, new StringReader(""), 0);			pStmt.executeUpdate();			assertEquals("0", getSingleIndexedValueWithQuery(1,					"SELECT LENGTH(field1) FROM " + tableName).toString());			this.stmt.executeUpdate("TRUNCATE TABLE " + tableName);			pStmt.clearParameters();			pStmt.setBinaryStream(1, new ByteArrayInputStream(new byte[0]), 0);			pStmt.executeUpdate();			assertEquals("0", getSingleIndexedValueWithQuery(1,					"SELECT LENGTH(field1) FROM " + tableName).toString());			this.stmt.executeUpdate("TRUNCATE TABLE " + tableName);		} finally {			if (pStmt != null) {				pStmt.close();			}		}	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产成人91porn| 国产目拍亚洲精品99久久精品| 国产精品乱码一区二区三区软件 | 中文字幕av在线一区二区三区| 成人国产免费视频| 欧美视频一区二区三区四区 | 中文字幕亚洲在| 91免费视频大全| 一级特黄大欧美久久久| 在线精品视频免费观看| 亚洲二区在线观看| 精品99999| 成人国产亚洲欧美成人综合网| 中文字幕在线免费不卡| 91久久精品网| 国产专区综合网| 国产欧美一区二区在线| 91丨九色丨尤物| 免费亚洲电影在线| 久久久不卡网国产精品二区| 粉嫩欧美一区二区三区高清影视| 亚洲精品va在线观看| 精品国产亚洲在线| 在线观看91av| 色悠悠亚洲一区二区| 国产精品99久久久久久久vr | 欧美一卡二卡在线观看| 成人免费的视频| 国产一区二区三区久久悠悠色av| 亚洲毛片av在线| 国产日韩av一区| 精品精品欲导航| 精品国产乱码久久久久久老虎| 日本大香伊一区二区三区| 日韩电影免费在线看| 一区二区三区国产| 亚洲欧美激情在线| 欧美少妇xxx| 国产精品1024| 国产精品99久久不卡二区| 日本系列欧美系列| 九九久久精品视频| 久久er99精品| 福利一区二区在线| voyeur盗摄精品| 国产ts人妖一区二区| 亚洲图片欧美色图| 亚洲第一久久影院| 视频一区二区三区中文字幕| 亚洲一区二区综合| 另类小说欧美激情| 成人免费毛片a| 欧美日韩亚洲不卡| 精品国产不卡一区二区三区| 欧美大片免费久久精品三p| 国产亚洲欧洲997久久综合| 国产精品久久久久一区二区三区共| 中文字幕一区二| 久久97超碰色| 成人国产精品免费| 欧美tickling挠脚心丨vk| 亚洲三级免费电影| 国产99精品在线观看| 欧美日韩美女一区二区| 成人欧美一区二区三区1314| 日韩国产欧美在线播放| 色8久久精品久久久久久蜜| 精品处破学生在线二十三| 亚洲激情图片小说视频| 狠狠网亚洲精品| 欧美精品国产精品| 亚洲国产综合色| 在线免费观看日本欧美| 国产精品污污网站在线观看| 日韩国产在线一| 欧美色男人天堂| 一区二区三区四区视频精品免费 | 日本二三区不卡| 中文字幕国产一区二区| 麻豆国产欧美日韩综合精品二区 | 精品国产免费人成电影在线观看四季| 一区二区三区电影在线播| 国产91高潮流白浆在线麻豆| 精品欧美一区二区久久| 麻豆国产一区二区| 欧美精品一区视频| 国产一区在线精品| 亚洲乱码一区二区三区在线观看| 粉嫩aⅴ一区二区三区四区五区| 欧美tickle裸体挠脚心vk| 国内一区二区视频| 国产亚洲精品超碰| 白白色亚洲国产精品| 亚洲精品免费视频| 精品成人一区二区三区| 不卡高清视频专区| 久久成人久久鬼色| 亚洲精品中文在线影院| 日韩免费性生活视频播放| 成人app下载| 日韩一区欧美二区| 国产精品美女久久久久久久| 欧美日韩在线三级| 成人免费黄色大片| 亚洲影院在线观看| 欧美日韩在线亚洲一区蜜芽| 国产一区二区三区日韩| 午夜精品久久久久久不卡8050| 国产三级欧美三级日产三级99| 欧美影院午夜播放| 一本大道av伊人久久综合| 国产91精品在线观看| 狠狠色丁香久久婷婷综合_中 | 欧美日韩精品久久久| 国产精品99久久久久久久vr| 一区二区三区四区激情| 国产婷婷色一区二区三区四区| 欧美日韩成人在线一区| 欧美日韩国产成人在线91| 99久久综合精品| 色综合欧美在线视频区| 91欧美一区二区| 色综合久久88色综合天天6| 99re这里只有精品视频首页| 成年人网站91| 色综合天天在线| 欧美日韩国产在线观看| 在线电影国产精品| 久久免费偷拍视频| 国产精品久久久久aaaa| 亚洲最色的网站| 美女尤物国产一区| 国产69精品一区二区亚洲孕妇| 顶级嫩模精品视频在线看| 91在线看国产| 精品国产乱码久久久久久闺蜜| 国产日产欧美精品一区二区三区| 亚洲欧洲中文日韩久久av乱码| 亚洲一二三四久久| 91在线观看美女| 日韩成人午夜电影| 成人av高清在线| 精品日韩一区二区三区| 一区二区成人在线视频| 国产一区视频网站| 91久久奴性调教| 26uuu久久天堂性欧美| 亚洲女与黑人做爰| 免费成人结看片| 欧美日本韩国一区| 亚洲三级免费电影| 91在线精品秘密一区二区| 久久综合久久综合久久| 美腿丝袜亚洲一区| 欧美日韩精品一区二区天天拍小说| 日本一区二区三级电影在线观看 | 一区二区三区中文字幕精品精品 | 国产99久久久国产精品免费看 | 一区二区三区不卡视频| 国产精品综合视频| 久久久久久久久岛国免费| 久久99久久久久久久久久久| 欧美精品视频www在线观看| 一片黄亚洲嫩模| 欧美日韩中文字幕一区二区| 亚洲成人一区二区在线观看| 成人av资源站| 亚洲免费观看视频| 欧美人牲a欧美精品| 久99久精品视频免费观看| 欧美电影免费观看完整版| 国产99久久久久| 午夜天堂影视香蕉久久| 欧美三级中文字幕在线观看| 中文字幕第一区| 欧美精品1区2区3区| 狠狠色2019综合网| 亚洲欧美日韩在线播放| 666欧美在线视频| 欧美日韩一区二区三区不卡| 亚洲综合激情另类小说区| 欧美精品在线一区二区| 国产一区二区三区四区在线观看| 欧美韩国日本不卡| 欧美精品自拍偷拍| 色噜噜久久综合| 国产精品白丝jk黑袜喷水| 日日夜夜一区二区| 亚洲图片激情小说| 欧美精品一区男女天堂| 欧美男生操女生| 欧美日韩中字一区| 色综合久久久久久久| 成人一区二区三区中文字幕| 亚洲高清中文字幕| 亚洲影视在线观看| 亚洲影院理伦片| 午夜精品久久久久久久| 一区二区三区精品视频在线| 国产三级精品在线|