/*
* Copyright 2004-2014 H2 Group. Multiple-Licensed under the MPL 2.0,
* and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: Cemo
*/
package org.h2.test.db;
import org.h2.test.TestBase;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* Test the MySQL-compatibility REPLACE command.
*
* @author Cemo
*/
public class TestReplace extends TestBase {
/**
* Run just this test.
*
* @param a ignored
*/
public static void main(String... a) throws Exception {
TestBase.createCaller().init().test();
}
@Override
public void test() throws SQLException {
deleteDb("replace");
Connection conn = getConnection("replace");
testReplace(conn);
conn.close();
deleteDb("replace");
}
private void testReplace(Connection conn) throws SQLException {
Statement stat = conn.createStatement();
ResultSet rs;
stat.execute("CREATE TABLE TABLE_WORD (" +
" WORD_ID int(11) NOT NULL AUTO_INCREMENT," +
" WORD varchar(128) NOT NULL," +
" PRIMARY KEY (WORD_ID)" +
");");
stat.execute("REPLACE INTO TABLE_WORD " +
"( WORD ) VALUES ('aaaaaaaaaa')");
stat.execute("REPLACE INTO TABLE_WORD " +
"( WORD ) VALUES ('bbbbbbbbbb')");
stat.execute("REPLACE INTO TABLE_WORD " +
"( WORD_ID, WORD ) VALUES (3, 'cccccccccc')");
rs = stat.executeQuery("SELECT WORD " +
"FROM TABLE_WORD where WORD_ID = 1");
rs.next();
assertEquals("aaaaaaaaaa", rs.getNString(1));
stat.execute("REPLACE INTO TABLE_WORD " +
"( WORD_ID, WORD ) VALUES (1, 'REPLACED')");
rs = stat.executeQuery("SELECT WORD FROM TABLE_WORD where WORD_ID = 1");
rs.next();
assertEquals("REPLACED", rs.getNString(1));
}
}