Java API

    注意:

    • 删除接口 - 不再兼容
    • 废弃接口 - 保持兼容性Version 3.0

    None.

    Version 2.10

    • com.sequoiadb.base.Sequoiadb 内容变更:

      • 删除getConnection方法,IConnection是内部网络通信接口,不再对外开放。
      • 删除getDataCenter方法。
      • 删除setServerAddress方法,该方法无意义。
      • 废弃getServerAddress方法,增加getHost、getPort方法。
      • 废弃changeConnectionOptions方法。
      • 废弃disconnect方法。
      • 废弃com.sequoiadb.net.ConfigOptions相关的构造方法,增加com.sequoiadb.base.ConfigOptions相关的构造方法。
      • 废弃isEndianConvert方法,增加getByteOrder方法。
      • closeAllCursors方法在连接已关闭时不再报错。
      • 实现java.io.Closeable接口,增加close方法,在JDK1.7上支持资源自动释放。新增的close方法取代disconnect接口。
      • 增加getLastUseTime方法,该接口主要被数据源使用。
      • 增加close方法取代原来disconnect的功能。
      • 增加sync方法控制数据持久化。
      • setSessionAttr接口增加可以从多个 Instance 中选出目标 Instance 的功能。
    • com.sequoiadb.base.DBCollection 内容变更:

      • getCollection方法要获取的collection不存在时,不再返回null而是抛出异常。
      • 增加openLob(ObjectId id, int mode)方法,其中mode取值为DBLob.SDB_LOB_READ或DBLob.SDB_LOB_WRITE。
      • 增加truncateLob方法。
      • 增加enableSharding方法,对集合启用分区功能
      • 增加disableSharding方法,对集合关闭分区功能
      • 增加enableCompression方法,对集合启用压缩功能
      • 增加disableCompression方法,对集合关闭压缩功能
      • 增加setAttributes方法,对集合的属性进行修改
    • com.sequoiadb.base.DBCursor 内容变更:

      • 实现java.io.Closeable接口,在JDK1.7上支持资源自动释放。
      • getNext和getNextRaw方法可以混合交替使用。
      • 废弃hasNextRaw接口,可使用hasNext取代该接口。
    • com.sequoiadb.base.DBLob 内容变更:

      • 增加lockAndSeek方法。
      • 增加getModificationTime方法。
      • seek方法原来只能在读lob模式下使用,现在该方法支持在创建的lob或写lob模式下使用。
      • 修复isDomainExist接口可能存在游标泄露的情况(SEQUOIADBMAINSTREAM-3264)。
      • 增加addGroups方法,向域中添加数据组
      • 增加setGroups方法,对域设置数据组
      • 增加removeGroups方法,移除属于域的某些数据组
      • 增加setAttributes方法,设置域的属性
    • com.sequoiadb.base.ReplicaGroup 内容变更:

      • 废弃getNodeNum接口,该接口描述的节点状态信息不准确。
      • getSlave方法增加可指定节点位置的参数。
    • com.sequoiadb.base.Node 内容变更:

      • 废弃getStatus接口,该接口描述的节点状态信息不准确。
    • 废弃com.sequoiadb.base.SequoiadbDatasource 类,增加com.sequoiadb.datasource.SequoiadbDatasource 类。

    • com.sequoiadb.datasource.DatasourceOptions 内容变更:

      • setSyncCoordInterval(int syncCoordInterval)接口正常的输入参数syncCoordInterval 的值若小于60,000,该接口自动将输入值改为60,000。
      • 增加getPreferedInstance/setPreferedInstance接口,使连接池支持设置回话属性。
    • 删除 com.sequoiadb.base.DataCenter 接口,待相关功能发布之后再提供接口。

    • org.bson.BSONObject 接口实现 java.io.Serializable 接口。

    • org.bson.types.BSONTimestamp 支持从 java.util.Date和java.sql.Timestamp 构造,并增加转换为 java.util.Date和java.sql.Timestamp 的方法。

    • com.sequoiadb.base.CollectionSpace 内容变更

      • 增加alter方法,对集合空间的属性进行修改
      • 增加setAttributes方法,对集合空间的属性进行修改
      • 增加setDomain方法,修改集合空间所属的域
      • 增加removeDomain方法,移除集合空间所属的域Version 1.10
    • DBCollection类新添加的接口:

      • createLob,创建一个大对象。
      • openLob,打开一个已存在的大对象。
      • removeLob,删除一个大对象。
      • listLobs,列出所有大对象。
    • 增加大对象类DBLob,用于操作大对象:

      • write,向一个大对象写入数据。
      • read,从大对象中读取数据。
      • seek,指定读取数据的偏移。
      • close,关闭一个大对象。
      • getID,获取大对象的标识ID。
      • getSize,获取大对象的大小。
      • getCreateTime,获取大对象的创建时间。Version 1.8
    • Sequoiadb 类新添加的接口:

      • isValid,判断当前连接是否有效。
      • createCollectionSpace,提供一个 BSONObject 的选项,使创建集合空间更加灵活。
      • backup,备份支持更多的选项。
      • evalJS,执行javascript代码。
      • createDomain,创建域。
      • getDomain,获取域。
      • dropDomain,删除域。
      • isDomainExist,域是否存在。
      • listDomain,列出所有域。
    • DBCollection 类新添加的接口:

      • alterCollection,修改集合(表)属性setMainKeys,设置主键。此接口只与 save 接口配合使用,它设置的主键并不对其他接口起作用。
      • save,可使用默认的主键"_id"或者指定其他主键,同时插入或更新多条记录。
    • 添加 Domain 类用于与域相关的操作。

    • SequoiadbDatasource类新添加的接口:

      • SequoiadbDatasource,可提供多个地址的构造器,便于机器负载均衡。
      • getIdleConnNum,获取当前可用的连接数量。
      • getUsedConnNum,获取当前已使用的连接数量。
      • getNormalAddrNum,获取当前正常的地址数量。
      • getAbnormalAddrNum,获取当前异常的地址数量。
      • setRecaptureConnPeriod,设置周期检测异常地址是否重新可用的时间。
      • getRecaptureConnPeriod,获取周期检测异常地址是否重新可用的时间。Version 1.6
    • 添加类Node来取代原来的类ReplicaGroup。类 ReplicaNode 以及与它们相关的方法将在 version 2.x 中被弃用。详情请查看相关 。