Exemplo n.º 1
0
  public void testInlineNearMatch() {
    BlobRef r = BlobRef.parse("externalLob(foo)bar");
    assertFalse(r.isExternal());

    r = BlobRef.parse("externalLob(foo)");
    assertFalse(r.isExternal());

    r = BlobRef.parse("externalLob(lf,foo)");
    assertFalse(r.isExternal());

    r = BlobRef.parse("externalLob(lf,foo,1,2)x");
    assertFalse(r.isExternal());
  }
Exemplo n.º 2
0
  private void doExternalTest(final byte[] data, final String filename) throws IOException {

    Configuration conf = new Configuration();
    if (!BaseSqoopTestCase.isOnPhysicalCluster()) {
      conf.set(CommonArgs.FS_DEFAULT_NAME, CommonArgs.LOCAL_FS);
    }
    FileSystem fs = FileSystem.get(conf);
    String tmpDir = System.getProperty("test.build.data", "/tmp/");

    Path tmpPath = new Path(tmpDir);
    Path blobFile = new Path(tmpPath, filename);

    // make any necessary parent dirs.
    Path blobParent = blobFile.getParent();
    if (!fs.exists(blobParent)) {
      fs.mkdirs(blobParent);
    }

    LobFile.Writer lw = LobFile.create(blobFile, conf, false);
    try {
      long off = lw.tell();
      long len = data.length;
      OutputStream os = lw.writeBlobRecord(len);
      os.write(data, 0, data.length);
      os.close();
      lw.close();

      String refString = "externalLob(lf," + filename + "," + off + "," + len + ")";
      BlobRef blob = BlobRef.parse(refString);
      assertTrue(blob.isExternal());
      assertEquals(refString, blob.toString());
      InputStream is = blob.getDataStream(conf, tmpPath);
      assertNotNull(is);

      byte[] buf = new byte[4096];
      int bytes = is.read(buf, 0, 4096);
      is.close();

      assertEquals(data.length, bytes);
      for (int i = 0; i < bytes; i++) {
        assertEquals(data[i], buf[i]);
      }
    } finally {
      fs.delete(blobFile, false);
    }
  }
Exemplo n.º 3
0
  public void testEmptyFile() {
    BlobRef r = BlobRef.parse("externalLob()");
    assertFalse(r.isExternal());

    r = BlobRef.parse("externalLob(lf,,0,0)");
    assertTrue(r.isExternal());
    assertEquals("externalLob(lf,,0,0)", r.toString());
  }
Exemplo n.º 4
0
 public void testInline() throws IOException {
   BlobRef r = BlobRef.parse("foo");
   assertFalse(r.isExternal());
 }
Exemplo n.º 5
0
 public void testEmptyStr() {
   BlobRef r = BlobRef.parse("");
   assertFalse(r.isExternal());
 }