nuget server logo nuget api documents
↑

API Docs / JSql

JSql 1.0.2.123.

Namespaces 7 Types 57 Members 427

01 Namespaces

JSql.Engine

TypeSummary Members
ExpressionEvaluator 6
ResultSet execution result: either a tabular result set or a row-count message 7
SqlEngine the sql engine facade: sql text -> ast -> result set, owns the database catalog and the search index manager. 17
SqlExecutor executes parsed sql statements against the file based storage layer 11

JSql.Engine.SqlExecutor

TypeSummary Members
TableRef one physical table loaded into memory, kept visible under its sql alias 0

JSql.Indexing

TypeSummary Members
ColumnIndexInfo 5
IndexArchive persisted form of one column index. 10
IndexKind 6
IndexManager index facade of the sql engine: maintains the search index of every table, probes usable indexes for a WHERE clause and keeps the index files in sync with the table data files. 15
IndexPersistence 7
JsonMemoryIndex adapts the json table rows onto the LINQ in-memory search index engine, this type is the json counterpart of the LINQ MemoryTable. 7
TableIndexSet 6

JSql.Indexing.IndexManager

TypeSummary Members
IndexProbe translate the top level AND conditions of a WHERE clause into the LINQ search index queries. 2

JSql.Sql

TypeSummary Members
BinaryOp binary operators in expressions 13
CheckpointStatement CHECKPOINT [TABLE t]: merge the pending write ahead log back into the data file 1
CreateStatement 9
DropStatement 4
FunctionCallExpression 3
IdentifierExpression 2
InsertStatement 3
JoinClause 4
SelectItem 2
SelectStatement 11
ShowKind 6
ShowStatement 2
SqlError sql syntax error with character position info 1
SqlParser recursive-descent parser for the mysql-compatible sql subset supported by JSql 5
SqlTokenizer hand-written sql lexer: identifiers (and back-quoted quoted identifiers), numbers, single-quoted strings, operators and punctuation. 1
Token 6
UnaryExpression 2

JSql.Storage

TypeSummary Members
ColumnDef 7
CsvRowCodec CSV 行编解码:数据文件的物理结构为「第 1 行表头 + 后续数据行」。 - 表头:用 解析列名并建立「列名 -> 物理序号」映射, 以支持外部 CSV 的列序与 schema 列序不一致;生成行时按 schema 列序输出。 - 解析:用 单遍字符扫描切分单元格, 再经 按列类型还原为强类型的值。 - 生成:用 逐… 12
CsvTableSession CSV 表会话:数据文件为「表头行 + 数据行」,是 TextTableSession 在 CSV 编解码器上的薄封装。列类型/NOT NULL/键/注释等元数据仍存放于 <表>.schema.json,CSV 文件本身只承载表头与行数据。 0
IDbFileStorageProvider 数据库文件存储后端抽象:一个实现代表一种物理存储引擎,负责管理整库的 目录/文件、库内表的枚举与建删、表会话的获取以及表数据的加载/保存/删除。 默认实现是 TextFileStorage(一个文件夹 = 一个数据库, 表数据以 JSONL / CSV 文本行存放并带 WAL);外部实现(例如基于 SQLite 数据库文件的引擎)可在宿主构造… 20
IdleMergeScheduler periodically merges the pending write ahead logs back into the data files while the engine is idle. 28
IRowCodec 行编解码抽象:把一行数据在“内存行对象”与“磁盘上的单行文本”之间互相转换。 底层的 TextLineStore 只负责按行存放不透明文本, 具体是 JSONL 还是 CSV 由本接口的实现决定,从而让会话层与存储格式解耦。 6
ITableSession a table storage session backed by one open data file. 19
ITableStore storage format abstraction: reads/writes a single table file. 4
JsonColumn 6
JsonlTableSession JSONL 表会话:以「一行一个 JSON 对象」的方式存取,是 TextTableSession 在 JSONL 编解码器上的薄封装,保持既有 JSONL 表的行为与文件布局不变。 0
JsonRowCodec JSONL 行编解码:一行一个紧凑的 JSON 对象。实现委托给既有的 RowJson, 以保证与历史数据文件字节级一致。 6
JsonTableFile 5
JsonTableStore json table storage: one physical *.json file contains the table schema plus all row data. 5
RowJson jsonl row codec: one table row is stored as one compact json object line, the columns are written in schema order so that the file stays diff friendly. 3
SchemaStore reads and writes the standalone table schema file <table>.schema.json. 7
SqlTypes sql canonical data types: INT, DOUBLE, VARCHAR, DATE, DATETIME, BOOLEAN 6
StorageFactory dispatch table file io by file extension. 3
StorageFormat 新建表所使用的物理存储格式。 4
StorageLayout file naming rules of the table storage layout: <table>.schema.json the table schema (columns, comment, keys) <table>.jsonl the row data, one json object per line (… 24
StorageOptions runtime switches of the table storage layer. 8
StoredTable an in-memory representation of one physical table file: schema plus row data. 3
TableKeyInfo a table level key definition: PRIMARY KEY / UNIQUE KEY / KEY as declared inside the CREATE TABLE statement. 5
TableSchema 7
TableSessionPool caches the open table sessions. 17
TextFileStorage 文本文件存储后端:一个子目录 = 一个数据库,表以 schema 文件加行数据文件的形式存放, 行数据可以是 JSONL(一行一个 JSON)或 CSV(表头行 + 数据行),并带写前日志。 旧版单文件 json 布局仍可读取,并在第一次写入时迁移。 本类即原 DatabaseCatalog,行为与文件布局保持不变,只是实现了 IDbFile… 23
TextTableSession 通用表会话:schema 文件 + 由 TextLineStore 管理的行式数据文件(含 WAL)。 行的具体格式(JSONL / CSV …)由注入的 IRowCodec 决定, 所有修改都被翻译为底层的行级 splice 原语。 22

JSql.Storage.TextFileStorage

TypeSummary Members
TableLayout 3