Subscribe to this thread
Home - Announcements / All posts - Radian Studio 9.0.160

10,447 post(s)
#24-Mar-17 07:19

A new update for Radian Studio is now available.

The primary focus of the update is read-write support for ESRI file geodatabases and interoperability with other applications via ODBC. The ODBC driver in Radian allows accessing data in formats supported by Radian from applications which wouldn't normally be able to do so, like Microsoft Office or LibreOffice applications. The ODBC driver in Radian includes special provisions for Manifold 8, to make exchanging data with Manifold 8 as smooth and effortless as possible.

The update also includes a lot of improvements in other areas.


58. The ODBC driver supports relative scrolls for dynamic cursors.

59. The ODBC driver supports relative and absolute scrolls for static cursors. Static cursors cache returned data on the fly.

60. The ODBC driver recognizes Manifold 8 as a connecting application and enters a special compatibility mode which provides for better interoperability with Manifold 8. The version of Manifold 8 must be at least 8.0.30.

61. The ODBC driver automatically converts Radian geoms to the format supported by Manifold 8, if used from Manifold 8.

62. The ODBC driver overrides metadata exposed to Manifold 8 with automatically generated values for drawings. If a particular table in the MAP file operated by the driver contains multiple geometry fields with drawings bound to each, Manifold 8 will see one of them (a limitation of Manifold 8).

63. The ODBC driver exposes coordinate systems for drawings to Manifold 8.

64. The ODBC driver supports opening MAP file in read-only mode, via a dialog option. Using read-only mode allows connecting to the same MAP file concurrently from multiple processes.

65. The ODBC driver supports connecting to a data source inside a MAP file, via a dialog option. The user has to specify the name of the data source. This allows using the ODBC driver to access data in any format supported by Radian.

66. (Fix) The ODBC driver no longer fails to correctly mark up NULL values in some ODBC views.

67. The ODBC driver registers under a different name for working update builds.

68. Attempting to use the ODBC driver to connect to a MAP file which is already opened in another connection in an incompatible mode (read-only vs read-write) fails with a descriptive error message.

69. The ODBC driver supports delayed binding of parameters in parameter queries. This solves many issues with traditional office applications like Microsoft Access, which may bind parameters either before or after asking to compile a parameter query, depending on the scenario.

70. The ODBC driver supports updating records using cursors. This allows making changes to linked tables from Manifold 8 and other clients that do updates via cursors.

71. The ODBC driver supports inserting and deleting records using cursors.

72. The ODBC driver returns keys for the inserted record to Manifold 8. This allows records inserted from Manifold 8 to appear in the components immediately without having to refresh component data.

73. The ODBC driver supports streaming writes of record values. This extends the number of applications that can use the driver in read-write mode.

74. (Fix) Attempting to edit a record in a Radian table connected via the ODBC driver to Microsoft Access no longer sometimes fails with the 'This record is already being modified by another user' message.

75. The ODBC driver supports datetime parameters.

76. The ODBC driver supports named parameters and mixes of named and unnamed parameters when running query statements.

77. There is a new GDB dataport for ESRI file geodatabases. The dataport uses ESRI FileGDB SDK 1.5, the latest version. The required DLLs are included in installation packages, there is no need to install anything extra. The SDK supports opening file geodatabases created with ArcGIS 10, but not ArcGIS 9.

78. The GDB dataport supports spatial indexes on vector data.

79. The GDB dataport supports datetime fields.

80. The GDB dataport exposes btree indexes on GDB data.

81. The GDB dataport allows running queries using ESRI FileGDB engine. As usual, the user can switch betwen GDB queries and Manifold queries via '!native' and '!manifold' commands in the command window.

82. The GDB dataport refers to components using their query names whenever possible.

83. The GDB dataport exposes coordinate system data.

84. The GDB dataport reads multi-patch geometry.

85. The GDB dataport reads geometry with curves, including circular arcs and ellipsoidal arcs.

86. The GDB dataport reads geometry with Z values.

87. (Fix) The GDB dataport forces index names to not coincide with field names.

88. Reading data from GDB tables reuses SDK objects and performs significantly faster.

89. (Fix) The GDB dataport correctly reads GUID fields.

90. The GDB dataport automatically adjusts variants of produced BTREE indexes for unique / nullable field properties.

91. Selecting all records without an index in a GDB table performs significantly faster.

92. (Fix) Running 'SELECT Count(*) FROM t' on a GDB table no longer fails.

93. Indexes on the OID and similar special fields in GDB tables are forced to be unique (the SDK may sometimes fail to describe them as such).

94. The GDB dataport logs errors returned by the SDK if the geodatabase fails to open.

95. The GDB dataport caches data for btree indexes on the OID field on demand. This makes searches on those indexes significantly faster.

96. The GDB dataport allows inserting, deleting and updating records in GDB tables. The SDK snaps coordinates of the geometry objects to an internal grid, so the final coordinates of the written geometry values slightly differ from the supplied coordinates.

97. Writing geometry data to a GDB table verifies the type of geometry values to match the type specified for the table. If the type of a new geometry value does not match the type of values in the table, the write fails.

98. (Fix) The GDB dataport no longer fails to expose a drawing for a table with geometry field but no spatial index on that field.

99. The GDB dataport optimizes the amount of used memory during reads.

100. (Fix) Linking DHT and VDF files using 'All files' filter resolves them to correct dataports.

101. Action queries track progress and allow canceling at data collection phase.

102. DISTINCT, INTERSECT / EXCEPT / UNION and several other query constructs allow canceling.

103. The CSV dataport distinguishes between empty strings (1,"",2,3 - the string in the second slot is blank) and NULL strings (1,,2,3 - the string in the second slot is NULL).

104. The CSV dataport attempts to determine encoding for files without byte order marks by looking at the placement of zero bytes and then, if the result is inconclusive, by inspecting statistics.

105. The CSV dataport minimizes the number of internal data conversions for a (very) significant boost in performance.

106. The GPKG dataport renders images with bilinear filtering.

107. The query builder displays a context menu for list items. New commands: Insert Code / Insert Name - insert item code / name into the query text. Insert Definition - inserts the definition of a table into the query text. Insert Field List - inserts the list of fields for a table into the query text.

108. The query builder lists available data types.

109. Selecting a menu item or canceling a menu removes the description for the last selected menu item from the status bar.

110. Tooltip for the default mouse mode button includes a brief description of keys used to pan, zoom, select.

111. The query engine allows converting binary values to any data type, with verification.

112. New query function: BinaryStringBase64 - takes a binary value and converts it to a base64-encoded string. Transform template: Compose Base64 String - allows composing a string for any value type.

113. New query function: BinaryStringHex - takes a binary value and converts it to a hex-encoded string. Transform template: Compose Hex String - allows composing a string for any value type.

114. New query function: StringBinaryBase64 - takes a base64-encoded string and converts it to a binary value. Transform template: Parse Base64 String - allows parsing a string into any value type.

115. New query function: StringBinaryHex - takes a hex-encoded string and converts it to a binary value. Transform template: Parse Hex String - allows parsing a string into any value type.

116. New query function: StringEncrypt - takes a string value and a key, encrypts the value. Transform template: Encrypt.

117. New query function: StringDecrypt - takes an encrypted string value and a key, decrypts the value. Transform template: Decrypt.

118. New query function: TypeName - takes a value, returns its type as a string.

119. The New Field dialog generates a default name for the new field.

120. (Fix) The New Field, Transform, Select dialogs correctly handle expressions on fields whose names contain '{<number>}' character sequences.

121. (Fix) The query builder correctly escapes names of constraints, fields or indexes which contain '[', ']' or other special characters.

122. The log window splits multiline error messages. Message source is appended to each of the resulting lines.

123. The command window splits multiline error messages in the Log tab.

124. SELECT with implicit group on the whole table always outputs a single record, similarly to other databases.

125. Loading Radian DLLs logs failures similarly to loading third-party DLLs, like DLLs for SQLITE.

126. Attempting to load a Radian or third-party DLL which fails due to missing dependencies no longer sometimes displays a system error message in addition to a Radian error message / log line.

127. Attempting to launch Radian on a system with no installation prerequisites shows a descriptive error message and opens the System Requirements page on the Manifold web site using the default web browser.

128. (Fix) Coordinate systems with multiple possible transforms to WGS84 no longer sometimes fail to select the transform with the best accuracy.

129. The default coordinate system for GeoJSON data is changed from EPSG:4326 to urn:ogc:def:crs:OGC::CRS84, reflecting changes in the GeoJSON standard. Writing GeoJSON data writes bounding box.

130. (Fix) The Hotine oblique Mercator projection variant used for Switzerland and Hungary no longer sometimes produces wrong coordinates.

131. New query function: CoordSystemXml - takes a coordinate system definition and converts it to Manifold 8 XML. Not all systems can be converted (example: EPSG:5515 can not be converted, because the system type is modified Krovak and Manifold 8 does not support that), but the vast majority can.

132. Pasting data reports time to complete the operation.

133. Pasting data into SQLITE data sources in the Project pane performs dramatically faster.

134. The table returned by SELECT without joins / WHERE / GROUP supports inserting and deleting records. Deleting records from such a query in a command window requires re-running the query to make deleted records disappear.

135. (Fix) The result table of ORDER BY no longer sometimes reports to include an index that refers to non-existing fields.

136. (Fix) Attempting to connect to a data source with invalid or missing technology fails. Previously, attempting to connect to such a data source was producing a blank database.

137. Attempting to connect to a data source in the Project pane reports errors.

138. (Fix) Opening SHP or DBF files with cache turned on no longer disables compacting saves.

139. (Fix) The ERS dataport correctly parses lat/lon coordinate system denoted as 'LL'.

140. (Fix) The DBF dataport no longer fails to report changes to table field versions to requesting windows.

141. (Fix) The SHP dataport no longer sometimes to analyze the contents of the attached DBF file to determine whether it makes sense to perform a compacting save.

142. (Fix) The SHP dataport no longer fails to check whether a compacting save will reduce the file size significantly enough to perform it if the check is done from a script immediately after opening the file and before the dataport returned any tables.

143. (Fix) The table returned by SELECT with WHERE filtering on a btree index correctly handles requests with partial key on that index.

The update is available on the Product Downloads page.

Manifold User Community Use Agreement Copyright (C) 2007-2021 Manifold Software Limited. All rights reserved.