Subscribe to this thread
Home - Cutting Edge / All posts - Manifold System

9,298 post(s)
#29-Mar-18 17:14

SHA256: 1cbb2b215b713a24576af1e3cd56f5190edf494aae57d7204c58c56bcf164f5c

SHA256: 261a8557a9138f1994fcac38fa46626c14321e150018da74d32a82e48b3b9319


9,298 post(s)
#29-Mar-18 17:15


UI tools composing query text avoid escaping characters in names and string literals that do not need to be escaped. (Previously, embedded coordinate system strings were unnecessarily escaping double quotes, etc. The change makes queries look cleaner.)

The context menu in the Project pane is extended to include Copy and Paste commands. Commands creating new components are moved to the Create submenu.

Importing data inspects all created components and tries to select the "main" imported component in the Project pane (instead of the "first" one). The "main" imported component is determined using component type, in order: maps > map layers (drawings / images / labels) > tables > all other components.

The default file mask suggested for image libraries uses new {...} escape sequences for X and Y instead of legacy ones.

(Fix) Creating an image library on a system of subfolders with escape sequences in subfolder names puts the .MAPCACHE file into the top-level folder.

The Help menu includes the Documentation command which opens the documentation web page. The Online Portal command in the same menu is renamed to Web Site.

Opening a MAP file created by Manifold 8 migrates images linked from image servers. Discontinued OSM servers are mapped to OSM base. Yahoo servers are mapped to HERE (the successor). Yandex servers are mapped to Yandex V2. Unrecognized custom servers are mapped to Bing.

Views on PostgreSQL and other databases allow specifying a field to use as identity. Doing this allows records in the view table to be selected, and, if the view supports that, edited or deleted. To specify a field to use as identity, right-click the field header and select 'Use as Identity'. The system will scan all values in the field to make sure there are no duplicates or NULLs and if the values are clean, the table will expose a BTREE index on the field. The information about the field used as identity is saved into the database, so attempting to use the table in future sessions of 9 will automatically expose a BTREE index on that field without further scans. The identity option can be cleared or moved to a different field. The view can have only one identity field specified in this way.

Using a view with the identity field specified via the 'Use as Identity' command in the table window monitors reads via the index. If the system detects that some of the values in the field specified to be identity are duplicates or NULLs, it automatically removes the identity option from the field and reports the removal in the log window.

Dataports for PostgreSQL and other databases detect writable views and allow writes to them.

Pressing F1 in a component window opens a help topic with the keyboard reference for that window. Pressing F1 in a command window chooses between the help topic for the query portion of the window and the help topic for the table portion of the window depending on the current focus.

The CREATE query statement puts the final inserted name of the created component into 'createdname' and 'creatednamequoted' pragma values. The 'createdname' value contains the plain name and the 'creatednamequoted' value contains the name in the '[...]' form for use in properties.

The dialogs creating new components are linking components together using their final inserted names to avoid creating invalid links on databases which prepend schema names, etc.

(Fix) Contouring and tracing templates in the Transform pane force the coordinate system of the created drawing to use XY axis order.

(Fix) Resizing a field by dragging the field header separator in a table window delays switching the active field until the resize operation completes. (Previously, the control was first switching the active field and then attempting to resize it, which was sometimes making the window scroll in between.)

(Fix) Reading DWG and DXF files no longer sometimes places objects into wrong layers.

Reading DWG and DXF files creates a field for the block name. If an object belongs to a sequence of nested blocks, the system uses the name of the top-level block.

Reading DWG files hides map layers that are marked as turned off.

Exporting a drawing to SHP or E00 clears the values of the local offset and local shift values in the exported coordinate system and forces the axis order to XY. (We are working to extend this behavior to all vector exports and allow controlling it via an option.)

End of list.

414 post(s)
#29-Mar-18 19:36

Great stuff, thank you very much for the PostgreSQL work; basically overnight. Incredible.

'Use As Identity' works great, and persisting the value to the underlying DB in mfd_meta is a fine idea.

For your next trick, please include materialized views in the list of objects detected by the PostgreSQL data source.

Thank you again, very helpful.


1,913 post(s)
#29-Mar-18 21:09

Wow, that was fast ! Thank you.

Maps4planners12 post(s)
#30-Mar-18 11:36

You guys are amazing - thank you so much!!!

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