!7 lib 1011900 // h2 static Connection conn; import java.sql.*; import java.lang.reflect.Array; p { Class.forName("org.h2.Driver"); conn = DriverManager.getConnection("jdbc:h2:tcp://localhost/~/test", "sa", ""); print(symbolToID(print("hello")); print(symbolToID(print("world")); conn.close(); } static int symbolToID(S symbol) { ResultSet rs = conn.createStatement().executeQuery("select id from symbol where name=" + sqlQuote(symbol)); try { if (rs.next()) ret rs.getInt("id"); } finally { rs.close(); } PreparedStatement statement = connection.prepareStatement("insert into symbol set name=" + sqlQuote(symbol), Statement.RETURN_GENERATED_KEYS); statement.executeUpdate(); ResultSet generatedKeys = statement.getGeneratedKeys(); try { assertTrue(generatedKeys.next()); ret generatedKeys.getInt(1); } finally { generatedKeys.close(); } }