结果集大小默认限制

时间:2018-09-17 23:27:42

标签: scala oracle11g akka-stream slick-3.0 alpakka

我想知道在执行带有精巧的akka​​流集成的DBAction时是否存在默认结果集大小。

确实(我正在使用akka-stream slick)。当我编写以下查询时:

Slick.source(sql"""select * FROM DRUG""".as[(Map[String,String])])

val tableRows =
    Slick.source(sql"""select * FROM DRUG""".as[(Map[String,String])])
      .map{e => RawData("DRUG", "/Users/xxxx/xxxx/WSP1WS5-DRUG-auto-model.ttl", "OBJECT", "", e)}
      .mapAsyncUnordered(8){value =>
        Future{
          println(s"Writing {${value.toString}}")
          val kryo = kryoPool.obtain()
          val outStream = new ByteArrayOutputStream()
          val output = new Output(outStream, 4096)
          kryo.writeClassAndObject(output, value)
          output.close()
          kryoPool.free(kryo)
          new ProducerRecord[String, Array[Byte]]("test", outStream.toByteArray)
        }
      }
      .runWith(Producer.plainSink(producerSettings))

我的查询返回多达400条记录,然后就挂在那里。该表中有大约5k条记录。那是正常的吗?

尽管如此,我仍然可以通过使用以下语句来全部检索它们:

  

Slick.source(sql“”“ select * FROM DRUG,其中ROWNUM <=   1000000000“”“。as [(Map [String,String])])

我正在使用的数据库是oracle。因此,我想知道是导致这种情况的是Oracle,slick还是akka-stream集成。

对此有何建议?

0 个答案:

没有答案