namespace ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts; /// /// Which ADO.NET provider/dialect backs a Sql driver instance. Constructed: SqlServer, Postgres, /// Oracle — each over a fully managed provider package, no native client install. Reserved: MySql /// and Odbc are declared names only; authoring one fails at driver construction and at browse. /// public enum SqlProvider { /// Microsoft SQL Server via Microsoft.Data.SqlClient. SqlServer, /// PostgreSQL via the managed Npgsql provider. Postgres, /// MySQL / MariaDB — reserved; no dialect ships, so this is not constructed. MySql, /// Generic ODBC — reserved; no dialect ships, so this is not constructed. Odbc, /// Oracle Database via the fully managed Oracle.ManagedDataAccess.Core provider. 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, }