def test_execute_statement_with_mismatched_params_when_sql_has_more(self):
        self._populate_map()
        statement = SqlStatement(
            "SELECT * FROM %s WHERE __key > ? AND this > ?" % self.map_name)
        statement.parameters = [5]
        result = self.client.sql.execute_statement(statement)

        with self.assertRaises(HazelcastSqlError):
            for _ in result:
                pass
    def test_execute_statement_with_copy(self):
        self._populate_map()
        statement = SqlStatement("SELECT __key FROM %s WHERE this >= ?" %
                                 self.map_name)
        statement.parameters = [9]
        copy_statement = statement.copy()
        statement.clear_parameters()

        result = self.client.sql.execute_statement(copy_statement)
        self.assertEqual([9], [row.get_object_with_index(0) for row in result])

        result = self.client.sql.execute_statement(statement)
        with self.assertRaises(HazelcastSqlError):
            for _ in result:
                pass