DBGate Change History

DBGate Change History

Version 2.0, May 23, 2022

Changes in End-User License Agreement:

DBGate includes an updated End-User License Agreement.

The most important change:

"Consent to Be Included in the Client List: By purchasing the software on behalf of your company, you implicitly consent to the listing of your company name as our customer. You can revoke this consent at any time by submitting a request."

New features:

  • DBGate includes a completely new Developer Guide.
  • DBGate completely supports SQL codes in all configuration objects.
  • DBGate has a special package that supports .NET Framework 4.7.2.
  • DBGate supports the Microsoft.Data.SqlClient provider.
  • DBGate supports the OData-compatible batch requests using the POST /$batch requests.
  • DBGate supports new HTTP endpoints to manage the console application: /api/$stop, /api/$show, /api/$hide.
    To enable commands, set StopEnabled to true in the application settings.
  • DBGate supports the $reloadMetadata=true URL parameter to reload database metadata.
    Users can press the Ctrl button and click the Reload button to reload the metadata in the built-in JavaScript client.
  • DBGate supports the $distinct=true URL parameter to return the results using SELECT DISTINCT.
  • DBGate supports the $orderby URL parameter.
  • DBGate supports the $groupby URL parameter.
  • DBGate supports the $iscount=true URL parameter to return the SELECT COUNT(*) result.
  • DBGate supports the $binaryAsHex URL parameter and the binaryAsHex parameter in the Prefer header.
  • DBGate supports the $bigNumbersAsString URL parameter and the binaryAsHex parameter in the Prefer header.
  • DBGate supports the $dateTimeAsDateTimeOffset URL parameter and the same parameter in the Prefer header.
  • DBGate supports the $timezone and $timezoneoffset URL parameters and the same parameters in the Prefer header.
  • The configuration files contain DBGate settings in the DBGate and DBGateW groups.
  • DBGate supports new configuration options:
    MaxPageSize, UppercaseNamesInLowercase, DisableEditPageCache, BinaryAsHex, BigNumbersAsString, FunctionPrefixes, FunctionSuffixes, TraceSQL, and StopEnabled.
  • DBGate supports new connection configuration options:
    AllowDatabaseChange, Offline, and Home.
  • DBGate supports the /schema/name/{id} HTTP endpoints to select a single record by the primary key value.
  • DBGate adds the "dbgate-version: 2.0" header.
  • DBGate adds the following header to disable caching:
    Cache-control: no-cache, no-store, must-revalidate.
  • DBGate sorts table and view results by default.
    It can use primary keys, identity columns, or the complete output column set.
  • Object metadata includes event handlers.
  • Parameter metadata includes the CONTEXT_TYPE property with the following values: Language, Top, Skip.
  • Developers can overwrite the DEFAULT_VALUE value in the parameter metadata using the DefaultValue handlers.
  • DBGate supports paging and $top and $skip URL parameters.
    It supports paging for tables and views automatically.
    Developers can implement paging for stored procedures programmatically via the following pairs of parameters:
    top and skip, limit and offset, $top and $skip, or $limit and $offset.
    Use the MaxPageSize settings to define the maximum page size.
  • The built-in JavaScript client supports fixed columns (split/unsplit).
  • The built-in JavaScript client allows executing handlers of the Actions and ContextMenu types.
  • The built-in JavaScript client supports JSON parameters of the edit procedures.
  • The built-in JavaScript client supports bulk update procedures.

Improvements:

  • The DBGate .NET platform upgraded to .NET 6.0.
  • DBGate supports SaveToDB Framework 10.
  • The built-in JavaScript client has a lot of CSS changes.
  • DBGate converts empty values of non-string data types to NULL.
  • DBGate fills the DATA_TYPE properties with System.DbType values instead of native SQL data types.
  • DBGate does not add @-fields of the SQL pseudo-code to SELECT output fields.
    For example, it translates id, state, @country_id to SELECT id, state FROM ... WHERE country_id = @country_id.
  • Stored procedure and SQL code parameters can use XML-encoded characters to get values from underlying columns.
    For example, the @company_x0020_name parameter gets a value of the "company name" field.

Bug fixes:

  • DBGate does not detect SQL Data Warehouse objects.
  • DBGate returns an empty content-type header for some text or HTML responses.