AS AgentScopeAPI 手册 / API Reference

SessionStateDialect

public interface SessionStateDialect
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:39–196

定义会话状态 Dialect契约的接口。位于 io.agentscope.extensions.jdbc.dialect.table 包。核心成员包括 sessionStateTableName、sessionStateCreateTableDdls、sessionStateUpsert、sessionStateCheckTableExists、sessionStateInsert、sessionStateInsertIfAbsent。

Table-domain dialect interface for the session-state table.

Stores agent state keyed by (session_id, state_key, item_index). Single states use item_index = 0; list states use one row per element.

Method names are prefixed with sessionState to avoid collision when the aggregate class implements multiple table-domain interfaces.

Secondary index: the frequent WHERE session_id = ? and session_id LIKE 'prefix%' queries require an index on session_id. Where the database supports it (MySQL), vendors inline INDEX idx_session (session_id) in the CREATE TABLE statement; the others append an idempotent CREATE INDEX IF NOT EXISTS as a second element of the #sessionStateCreateTableDdls() list.

方法摘要Method Summary

方法Method说明Description
default public String sessionStateTableName()
default
返回 `sessionStateTableName` 结果。
Base table name (without prefix).
public List<String> sessionStateCreateTableDdls()
返回 `sessionStateCreateTableDdls` 结果。
DDL statements (one or more) to create the sessions table.
public BoundSql sessionStateUpsert(String sessionId, String stateKey, int itemIndex, String stateData)
执行 `sessionStateUpsert` 方法。
UPSERT a single state value.
public BoundSql sessionStateCheckTableExists(String tableName)
设置该参数。
Table-existence probe SQL.
default public BoundSql sessionStateInsert(String sessionId, String stateKey, int itemIndex, String stateData)
default
执行会话状态插入相关操作。
INSERT for list items (one row per element).
default public BoundSql sessionStateInsertIfAbsent(String sessionId, String stateKey, int itemIndex, String stateData)
default
执行 `sessionStateInsertIfAbsent` 方法。
INSERT of a single state with `version = 1`.
default public BoundSql sessionStateUpdateIfVersion(String sessionId, String stateKey, int itemIndex, String stateData, long expectedVersion)
default
执行会话状态更新 If 版本相关操作。
Compare-and-swap UPDATE guarded by `version == expectedVersion`.
default public BoundSql sessionStateSelect(String sessionId, String stateKey, int itemIndex)
default
执行会话状态选择相关操作。
Single-state SELECT by item_index.
default public BoundSql sessionStateSelectVersioned(String sessionId, String stateKey, int itemIndex)
default
执行 `sessionStateSelectVersioned` 方法。
Single-state SELECT with optimistic-concurrency version.
default public BoundSql sessionStateSelectList(String sessionId, String stateKey)
default
执行会话状态选择列表相关操作。
Ordered list SELECT.
default public BoundSql sessionStateDeleteByKey(String sessionId, String stateKey)
default
用于状态密钥的删除所有条目。
DELETE all items for a state key.
default public BoundSql sessionStateDeleteSession(String sessionId)
default
设置会话状态删除会话。
DELETE an entire session.
default public BoundSql sessionStateSelectMaxIndex(String sessionId, String stateKey)
default
执行会话状态选择最大索引相关操作。
MAX(item_index) for change detection.
default public BoundSql sessionStateExists(String sessionId)
default
设置该参数。
Session-existence probe.
default public BoundSql sessionStateListSessionIds(String prefixPattern)
default
设置该参数。
List distinct session IDs matching a prefix pattern.
default public char sessionStateLikeEscapeChar()
default
返回 `sessionStateLikeEscapeChar` 结果。
Escape character for LIKE patterns in `#sessionStateListSessionIds`.

方法详情Method Detail

sessionStateTableName

default public String sessionStateTableName()
default

返回 sessionStateTableName 结果。

Base table name (without prefix).

返回Returns String
返回字符串结果。Returns a string.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:42–44

sessionStateCreateTableDdls

public List<String> sessionStateCreateTableDdls()

返回 sessionStateCreateTableDdls 结果。

DDL statements (one or more) to create the sessions table.

返回Returns List<String>
返回列出。Returns list.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:51

sessionStateUpsert

public BoundSql sessionStateUpsert(String sessionId, String stateKey, int itemIndex, String stateData)

执行 sessionStateUpsert 方法。

UPSERT a single state value.

参数Parameters
名称Name类型Type说明Description
sessionIdString会话标识(类型 `String`)。The session id.
stateKeyString状态键(类型 `String`)。The state key.
itemIndexint条目索引(类型 `int`)。The item index.
stateDataString状态数据(类型 `String`)。The state data.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:54

sessionStateCheckTableExists

public BoundSql sessionStateCheckTableExists(String tableName)

设置该参数。

Table-existence probe SQL.

参数Parameters
名称Name类型Type说明Description
tableNameStringtable 名称(类型 `String`)。The table name.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:57

sessionStateInsert

default public BoundSql sessionStateInsert(String sessionId, String stateKey, int itemIndex, String stateData)
default

执行会话状态插入相关操作。

INSERT for list items (one row per element).

参数Parameters
名称Name类型Type说明Description
sessionIdString会话标识(类型 `String`)。The session id.
stateKeyString状态键(类型 `String`)。The state key.
itemIndexint条目索引(类型 `int`)。The item index.
stateDataString状态数据(类型 `String`)。The state data.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:64–74

sessionStateInsertIfAbsent

default public BoundSql sessionStateInsertIfAbsent(String sessionId, String stateKey, int itemIndex, String stateData)
default

执行 sessionStateInsertIfAbsent 方法。

INSERT of a single state with version = 1.

参数Parameters
名称Name类型Type说明Description
sessionIdString会话标识(类型 `String`)。The session id.
stateKeyString状态键(类型 `String`)。The state key.
itemIndexint条目索引(类型 `int`)。The item index.
stateDataString状态数据(类型 `String`)。The state data.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:83–94

sessionStateUpdateIfVersion

default public BoundSql sessionStateUpdateIfVersion(String sessionId, String stateKey, int itemIndex, String stateData, long expectedVersion)
default

执行会话状态更新 If 版本相关操作。

Compare-and-swap UPDATE guarded by version == expectedVersion.

参数Parameters
名称Name类型Type说明Description
sessionIdString会话标识(类型 `String`)。The session id.
stateKeyString状态键(类型 `String`)。The state key.
itemIndexint条目索引(类型 `int`)。The item index.
stateDataString状态数据(类型 `String`)。The state data.
expectedVersionlongexpected 版本(类型 `long`)。The expected version.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:97–114

sessionStateSelect

default public BoundSql sessionStateSelect(String sessionId, String stateKey, int itemIndex)
default

执行会话状态选择相关操作。

Single-state SELECT by item_index.

参数Parameters
名称Name类型Type说明Description
sessionIdString会话标识(类型 `String`)。The session id.
stateKeyString状态键(类型 `String`)。The state key.
itemIndexint条目索引(类型 `int`)。The item index.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:117–125

sessionStateSelectVersioned

default public BoundSql sessionStateSelectVersioned(String sessionId, String stateKey, int itemIndex)
default

执行 sessionStateSelectVersioned 方法。

Single-state SELECT with optimistic-concurrency version.

参数Parameters
名称Name类型Type说明Description
sessionIdString会话标识(类型 `String`)。The session id.
stateKeyString状态键(类型 `String`)。The state key.
itemIndexint条目索引(类型 `int`)。The item index.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:128–136

sessionStateSelectList

default public BoundSql sessionStateSelectList(String sessionId, String stateKey)
default

执行会话状态选择列表相关操作。

Ordered list SELECT.

参数Parameters
名称Name类型Type说明Description
sessionIdString会话标识(类型 `String`)。The session id.
stateKeyString状态键(类型 `String`)。The state key.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:139–146

sessionStateDeleteByKey

default public BoundSql sessionStateDeleteByKey(String sessionId, String stateKey)
default

用于状态密钥的删除所有条目。

DELETE all items for a state key.

参数Parameters
名称Name类型Type说明Description
sessionIdString会话标识(类型 `String`)。The session id.
stateKeyString状态键(类型 `String`)。The state key.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:149–156

sessionStateDeleteSession

default public BoundSql sessionStateDeleteSession(String sessionId)
default

设置会话状态删除会话。

DELETE an entire session.

参数Parameters
名称Name类型Type说明Description
sessionIdString会话标识(类型 `String`)。The session id.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:159–162

sessionStateSelectMaxIndex

default public BoundSql sessionStateSelectMaxIndex(String sessionId, String stateKey)
default

执行会话状态选择最大索引相关操作。

MAX(item_index) for change detection.

参数Parameters
名称Name类型Type说明Description
sessionIdString会话标识(类型 `String`)。The session id.
stateKeyString状态键(类型 `String`)。The state key.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:165–172

sessionStateExists

default public BoundSql sessionStateExists(String sessionId)
default

设置该参数。

Session-existence probe.

参数Parameters
名称Name类型Type说明Description
sessionIdString会话标识(类型 `String`)。The session id.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:175–179

sessionStateListSessionIds

default public BoundSql sessionStateListSessionIds(String prefixPattern)
default

设置该参数。

List distinct session IDs matching a prefix pattern.

参数Parameters
名称Name类型Type说明Description
prefixPatternStringprefix Pattern(类型 `String`)。The prefix pattern.
返回Returns BoundSql
返回BoundSql。Returns bound sql.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:182–190

sessionStateLikeEscapeChar

default public char sessionStateLikeEscapeChar()
default

返回 sessionStateLikeEscapeChar 结果。

Escape character for LIKE patterns in #sessionStateListSessionIds.

返回Returns char
返回char。Returns char.
源码Source io/agentscope/extensions/jdbc/dialect/table/SessionStateDialect.java:193–195
基于官方固定版本源码静态生成Generated from pinned official sources · Python 2.0.11 · Java 2.0.4
签名与文档为静态抽取;如有疑问请以源码为准。Signatures and docs are extracted statically; verify against the source when in doubt.