namespace ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts; /// Which ADO.NET provider/dialect backs a Sql driver instance. v1 constructs only SqlServer. public enum SqlProvider { /// Microsoft SQL Server via Microsoft.Data.SqlClient — the only provider v1 constructs. SqlServer, /// PostgreSQL (Npgsql) — reserved for P2; not constructed in v1. Postgres, /// MySQL / MariaDB — reserved; not constructed in v1. MySql, /// Generic ODBC — reserved for P2; not constructed in v1. Odbc, /// Oracle — reserved; not constructed in v1. Oracle, } /// Tag→value mapping model. v1 ships KeyValue + WideRow; Query is deferred (design §5.4 / P3). public enum SqlTagModel { /// /// Key-value (EAV) table: one row per tag, selected by keyColumn = keyValue, value read from /// valueColumn. /// KeyValue, /// /// Wide row: one row holds many signals as columns; the tag names its columnName and the row is /// picked by a row selector (a whereColumn/whereValue pair, or newest-by-timestamp). /// WideRow, /// Named arbitrary-SELECT query (design §5.4). Deferred to P3 — not accepted by v1's parser. Query, }