[fdo][FDO103][New] Defect 774386.02 SDF Provider - problems with classes with n...

Brent Robinson brent.robinson at autodesk.com
Fri Jul 28 12:34:37 EDT 2006


You can view the artifact detail at the following URL:

    https://fdo.osgeo.org/servlets/Scarab/id/FDO103

Type
 Defect

Artifact ID
 FDO103 (Defect 774386.02 SDF Provider - problems with classes with non-ASCII7 names)

Reported by
 Brent Robinson
 brentrobinson (brent.robinson at autodesk.com)

New artifact details:
---------------------------------------------------------

- Operating system set to new value
  All
- Description set to new value
  When the feature schema, for an SDF file, contains 2 classes whose names start with non-ASCII7 characters, both classes get assigned the same table. This leads to unpredictable results if the classes have different property sets.

When the feature schema has a class whose name that starts with an ASCII7 character but contains a non-ASCII7 character, the creation of a table for the class sometimes fails.

The reason for both of the above is that table names for classes are generated as a prefix plus the class name, where class name is converted from wide-char to multiple. 

The SDF provider usually operates under the "C" locale so the name conversion stops when the first non-ASCII7 character is encountered. 

When the first character is non-ASCII7, the table name ends up being the prefix. 

When a subsequent character is non-ASCII7 the table name becomes the prefix plus the leading ASCII7 characters plus some random characters. 
 
- Defect Severity set to new value
  High
- Resolution Description set to new value
  Table names are now generated by converting the class name from wide char to UTF8. UTF8 is locale-independent so this gets rid of the problems with handling non-ASCII7 characters that are not in the current locale.

The conversion to UTF8 is only done when the SDF file version is 3.2. For backward compatibility, conversion to multibyte is still done when the file format is 3.0 or 3.1

When a new SDF file is created, its initial version is still 3.1. If an ApplySchema command is performed and any class name contains a non-ASCII7 character, the file version is incremented to 3.2.

The above ensures that files created by the 3.2 SDF Provider can be read by the SDF 3.1 Provider, as long as all classes have ASCII7 names.

Unfortunately, the 3.1 SDF Provider cannot read a file created by the 3.2 SDF Provider if there are any non-ASCII7 characters in the class names. An exception will be issued, on opening the file, in this case.
- Version set to new value
  V1
- Artifact created
- Artifact Status set to new value
  New
- Priority set to new value
  P2
- Summary set to new value
  Defect 774386.02 SDF Provider - problems with classes with non-ASCII7 names 
- Component set to new value
  SDF
- Subcomponent set to new value
  SCHEMA
- Platform set to new value
  All

---------------------------------------------------------
This message was automatically generated by Project Tracker.








More information about the Fdo_issues mailing list