ChangeLog 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546
  1. 2006-01-11 Boris Kirzner <[email protected]>
  2. * Index.cs: removed redundant call to RebuildIndex() in constructor.
  3. 2005-12-12 Konstantin Triger <[email protected]>
  4. * Key.cs: Added ContainsVersion function, refactoring.
  5. * Index.cs: Fixed Reset() to be ready for Update() calls.
  6. Otherwise the index can be rebuilt with new values inside the
  7. Update() call itself.
  8. Fixed FindIndexExact(), Update(), Delete().
  9. 2005-11-22 Konstantin Triger <[email protected]>
  10. * DbProviderFactory.cs: TARGET_JVM ifdef.
  11. 2005-11-21 Senganal T <[email protected]>
  12. * DbDataAdapter.cs
  13. * DbParameter.cs
  14. * DbTransaction.cs
  15. * DbTable.cs
  16. * DbProviderFactories.cs
  17. * DbException.cs
  18. * DbProviderFactory.cs
  19. * DbCommandBuilder.cs
  20. * DbDataReader.cs
  21. * DbParameterCollection.cs
  22. - Added stubs and other changes for ADO.NET 2.0 compatibility.
  23. * DbMetaDataCollectionNames.cs (new file)
  24. - Added DbMetaDataCollectionNames Enumeration
  25. 2005-10-24 Konstantin Triger <[email protected]>
  26. * DataContainer.cs: removed extra type validation for object container
  27. 2005-10-14 Senganal T <[email protected]>
  28. * DbDataAdapter.cs :
  29. - BuildSchema() : Set the value of DataColumn Property 'AllowDBNull'
  30. as returned by database. Fixes bug#76433.
  31. 2005-09-21 Boris Kirzner <[email protected]>
  32. * Index.cs:
  33. - Rebuild index immediately after construction.
  34. - Do not add records if they do not padd key filtration.
  35. - Do not attempt to remove records if the are not in the index.
  36. * Key.cs:
  37. - Added HasFilter property, CanContain and DependsOn methods.
  38. - Equals() uses filter expression comparison.
  39. 2005-09-07 Boris Kirzner <[email protected]>
  40. * DataContainer.cs: Do not convert value if container type
  41. is System.Object.
  42. 2005-08-08 Gert Driesen <[email protected]>
  43. * DbTypes.cs: Marked internal to fix public API.
  44. 2005-08-05 Sureshkumar T <[email protected]>
  45. * DbDataAdapter.cs:
  46. - Update (): set parameter values only after getting the
  47. appropriate command from command builder. Close reader only if it
  48. is not closed before. Use parameter's SourceVersion. Whitespace
  49. corrections to comply with standard.
  50. 2005-07-22 Sureshkumar T <[email protected]>
  51. * DataColumnMappingCollection.cs: updated attributes & attribute
  52. descriptions to match with masterinfos.
  53. 2005-07-15 Sureshkumar T <[email protected]>
  54. * DataTableMappingCollection.cs: GetTableMappingBySchemaAction:
  55. meaningful error message if mapping is missing.
  56. * DbDataAdapter.cs: Update: meaningful message if table is missing.
  57. 2005-06-22 Sureshkumar T <[email protected]>
  58. * Index.cs: Remove : length for Array.Copy (a, i+1, a, i, length -
  59. (i+1)) corrected.
  60. 2005-06-21 Sureshkumar T <[email protected]>
  61. * DbConnectionStringBuilder.cs: Implemented method for parsing
  62. connection string through "ConnectionString" property.
  63. * DbConnectionStringBuilderHelper.cs: Helper class to provide
  64. conversion between string=>.net type mapping for connection string
  65. builders. The idea is to use between other providers (odbc) as
  66. well.
  67. 2005-05-29 Boris Kirzner <[email protected]>
  68. * DbCommand.cs - added #ifdef NET_2_0 on DbCommandOptionalFeatures (not used in TARGET_JVM).
  69. * ExceptionHelper.cs - removed java references. Exceptions created on formatted text messages. Code styling fixes.
  70. * DbParameterCollection.cs - implemented indexer properties.
  71. * DbDataAdapter.cs - delagate exceptions creating to ExceptionHelper.
  72. 2005-05-25 Konstantin Triger <[email protected]>
  73. * DataContainer.cs: Correcting the order - first the record is queried whether the value it contains is null, and only if not the value is fetched
  74. 2005-05-20 Umadevi S <[email protected]>
  75. * Added file DbProviderSpecificTypePropertyAttribute.cs
  76. 2005-05-19 Umadevi S <[email protected]>
  77. * RowUpdatingEventArgs.cs - added BaseCommand property for net 2.0
  78. 2005-05-18 Konstantin Triger <[email protected]>
  79. * DbDataAdapter.cs: Initialize the schema values to defaults if the schema does not contain the information
  80. 2005-05-16 Sureshkumar T <[email protected]>
  81. * RecordCache.cs: quick fix to make build 2.0 profile (follow up
  82. for check in 2005-05-16).
  83. 2005-05-16 Konstantin Triger <[email protected]>
  84. * Index.cs: validation that the updated row belongs to the index
  85. 2005-05-02 Konstantin Triger <[email protected]>
  86. * DataContainer.cs:
  87. Added CharDataContainer, SByteDataContainer, UInt16DataContainer, UInt32DataContainer, UInt64DataContainer, DateTimeDataContainer, DecimalDataContainer
  88. SetItemFromDataRecord: Changed to work with ISafeDataRecord or through GetValue to enable conversion
  89. return DBNull.Value when the stored value is null
  90. * DbDataAdapter.cs:
  91. Ensure correct order for LoadDataRow
  92. Fixing schema creation
  93. Use NewRowArray API
  94. * DbEnumerator.cs:
  95. LoadSchema: Retrieve needed fields only
  96. * RecordCache.cs:
  97. Added Rows-to-Records mapping
  98. Added ReadIDataRecord method for correct handling of default/auto increment values
  99. * Added Index.cs: Index implementation
  100. * Added Key.cs: Index descriptor implementation
  101. 2005-04-27 Sureshkumar T <[email protected]>
  102. * DbDataReader.cs: Added static method to construct the schema
  103. table with default schema. Could be reused in many places.
  104. 2005-04-22 Sureshkumar T <[email protected]>
  105. * DbDataAdapter.cs: Moved FillTable and BuildSchema as static
  106. methods as they are not operating on the current instance. This
  107. could be reused to fill any table from a data reader.
  108. * RecordCache.cs: While disposing records, make sure that the
  109. record is not already disposed. i.e. to make sure later the same
  110. record is not reused. Implemented a static method to compare two
  111. version of records in a container.
  112. 2005-04-18 Sureshkumar T <[email protected]>
  113. * DataAdapter.cs: Implemenetd OnFillError handler.
  114. * DbDataAdapter.cs: BuildSchema (): the table to be filled might
  115. contain few additional columns as well. so mapping length should
  116. be columns' length + fields' length.
  117. 2005-03-24 Sureshkumar T <[email protected]>
  118. * DbDataAdapter.cs: Update: If SourceColumn is null, do not set
  119. value for the parameter.
  120. 2005-05-25 Umadevi S <[email protected]>
  121. * Added DbException.cs
  122. 2005-03-23 Sureshkumar T <[email protected]>
  123. * DbDataAdapter.cs: For Update, disable ReadOnly constraint
  124. temporarily before updating the row. Info from Ingo Bauersachs.
  125. SkipAllRemainingRows should also skip current row (msdn).
  126. 2005-03-22 Sureshkumar T <[email protected]>
  127. * DbDataAdapter.cs: Update (): update the rows based on the
  128. UpdateRowSource property. Process further based on the
  129. RowUpdatedEvent handler argument's Status property.
  130. Fixes bug #73587. Thanks to [email protected] (Ingo Bauersachs) for
  131. bug report and patch.
  132. * RowUpdatedEventArgs.cs: if custom error is not set, throw a
  133. default error.
  134. 2005-03-01 Sureshkumar T <[email protected]>
  135. * ConnectionStringsSectionHandler.cs: Added. configuration section
  136. handler for section "connectionStrings". This handler is a ad hoc
  137. solution till the new configuration API is available in mono.
  138. 2005-02-04 Sureshkumar T <[email protected]>
  139. * DbDataAdapter.cs (Update ()) :
  140. - Check for one return result set and map the values back to
  141. datatable.
  142. - Check for output & return value parameters and update the value
  143. back to mapped column
  144. - check for recordsAffected only after closing the reader.
  145. 2005-02-02 Sureshkumar T <[email protected]>
  146. * DbConnection.cs: Implement Dispose pattern.
  147. 2005-01-25 Atsushi Enomoto <[email protected]>
  148. * DbDataPermission.cs : Empty.Union(Empty) is Empty.
  149. 2005-01-14 Atsushi Enomoto <[email protected]>
  150. * DbDataPermissionAttribute.cs, PermissionHelper.cs :
  151. fixed some incompatible type of exception between 2.0 and 1.x.
  152. * DataContainer.cs :
  153. Wrap exceptions thrown by SetValue() within ArgumentException.
  154. 2004-12-10 Sureshkumar T <[email protected]>
  155. * DbDataAdapter.cs (BuildSchema): Add the primary key schema iff
  156. MissingSchemaAction is set to AddWithKey. Also, Add auto increment
  157. value from the source table. fixes bug #67757 and #69110.
  158. 2004-11-24 Sureshkumar T <[email protected]>
  159. * DbProviderSupportedClasses.cs: Added correct enum values.
  160. * DbConnection.cs: Missing virtual method EnlistTransaction Added.
  161. * DbCommand.cs: Implemented ProviderFactory base factory methods.
  162. 2004-11-22 Sureshkumar T <[email protected]>
  163. * DbConnectionStringBuilder.cs: Class for helping creation of db
  164. connection strings added.
  165. 2004-10-01 Sureshkumar T <[email protected]>
  166. * DbProviderFactories.cs: Implemented all the stubs. Added functionality for
  167. getting available provider factories and creating a specified provider factory.
  168. * DbProviderFactoriesConfigurationHandler.cs: Added functionality for handling
  169. DbProviderFactories configuration section.
  170. * DbProviderFactory.cs: Added protected constructor. SupportedClasses property
  171. is made abstract.
  172. 2004-09-14 Sebastien Pouliot <[email protected]>
  173. * DbDataPermission.cs: Implemented Intersect, IsSubsetOf and Union.
  174. Implementation isn't complete as the restrictions seems to change the
  175. expected results (breaking some rules like x.IsSubsetOf (x) == false).
  176. Better (real-world) tests cases are required.
  177. * PermissionHelper.cs: Fixed small differences between System.Data.dll
  178. validations wrt to mscorlib.dll (XML and PermissionState).
  179. 2004-09-13 Sebastien Pouliot <[email protected]>
  180. * DbConnectionOptions.cs: New class for Fx 2.0. Partial implementation
  181. to support new methods in DBDataPermission.
  182. * DbConnectionString.cs: Updated class to split from/inherit
  183. DbConnectionOptions class.
  184. * DbDataPermission.cs: Implemented Add, Clear, Copy, ToXml methods and
  185. completed constructors.
  186. * DbDataPermissionAttribute.cs: Completed/fixed class.
  187. * PermissionHelper.cs: Helper methods to create permission classes.
  188. 2004-08-31 Francisco Figueiredo Jr. <[email protected]>
  189. * DbDataAdapter.cs: Fix for out of memory exceptions when trying to fill a dataset with a query which doesn't return a resultset like insert, delete or update.
  190. 2004-07-21 Umadevi S <[email protected]>
  191. * DbDataRecord.cs - Fix for bug 58163. Return DBNull instead of null
  192. 2004-07-07 Umadevi S <[email protected]>
  193. * DataContainer.cs :CheckedforNull before calling the relavant setmethods in each of the
  194. SetItemForDataRecord method for the DateTimeClass
  195. 2004-06-24 Atsushi Enomoto <[email protected]>
  196. * DataColumnMappingCollection.cs : fixed typo.
  197. * DbDataAdapter.cs : column mappings were not filled.
  198. 2004-06-24 Atsushi Enomoto <[email protected]>
  199. * DataTableMapping.cs : Clone() should also clone ColumnMappings.
  200. 2004-06-18 Umadevi S <[email protected]>
  201. * DataContainer.cs - CheckedforNull before calling the relavant setmethods in each of the
  202. SetItemForDataRecord method for all the classes.
  203. 2004-06-17 Boris Kirzner <[email protected]>
  204. * RecordCache.cs : Added CopyRecord mathod that copies single record from one table to another.
  205. 2004-06-17 Boris Kirzner <[email protected]>
  206. * Datacontainer.cs :
  207. - Store and retreival of null and DBNull values reviewed.
  208. - Added GetInt64 to support AutoIncrement of DataColumn.
  209. - Added missing CopyValue method to BitDataContainer.
  210. - Added FillValues method to propagate single value to whole container.
  211. 2004-06-10 Umadevi S <[email protected]>
  212. * DataTableMappingCollection.cs - fixed nunit testcase errors
  213. IndexOfDataSetTable method
  214. 2004-06-09 Umadevi S <[email protected]>
  215. * DataTableMappingCollection.cs - fixed nunit testcase errors
  216. - Add, GetByDataSetTable,Insert, Remove, RemoveAt methods.
  217. 2004-06-09 Umadevi S <[email protected]>
  218. * DataColumnMappingCollection.cs - fixed nunit testcase errors
  219. - GetByDataSetColumn,IndexOfDataSetColumn, Remove methods.
  220. 2004-06-08 Umadevi S <[email protected]>
  221. * DataColumnMappingCollection.cs - fixed nunit testcase errors.
  222. - remove, removeat, contains methods.
  223. 2004-06-04 Gert Driesen <[email protected]>
  224. * DataAdapter.cs: added missing protected ctor
  225. * DbDataAdapter.cs: added stub for missing protected ctor
  226. * DbDataPermission.cs: added stubs for missing protected
  227. ctors, added stub for missing Clear method
  228. 2004-06-02 Gert Driesen <[email protected]>
  229. * DataColumnMappingCollection.cs: added missing attributes on
  230. indexers
  231. 2004-05-27 Boris Kirzner <[email protected]>
  232. * DataContainer.cs : Bug fixes in BitDataContainer.get_Item and StringDataContainer.SetValue .
  233. 2004-05-20 Gert Driesen ([email protected])
  234. * DbDataPermissionAttribute.cs: change AllowMultiple and
  235. Inherited to match .NET
  236. 2004-05-19 Boris Kirzner <[email protected]>
  237. * Datacontainer.cs : CompareValues reviewed. set_Item and get_Item of null and DBNull values in case of DataContainers
  238. for primitive types reviewed. Added check for null values when reading from IDataRecord.
  239. 2004-05-19 Boris Kirzner <[email protected]>
  240. * RecordCache.cs - added. Each instance of record cache belongs to specific table
  241. and manages pool of records ( indexes into data containers) to be used by data rows.
  242. * DataContainer.cs - added. Provides implementation for data containers that holds data in arrays
  243. of primitives or objects. Each data container belongs to specific DataColumn.
  244. * DbDataAdapter.cs - changes to complete data storage redesign. Bug fix in FillTable
  245. ( to fetch exact number of records required ).
  246. 2004-05-13 Umadevi S ([email protected])
  247. * DbDataPermissionAttribute.cs - Added KeyRestrictions property with a TODO tag
  248. 2004-05-09 Gert Driesen ([email protected])
  249. * ComparerFactory.cs: marked internal
  250. 2003-04-26 Boris Kirzner <[email protected]>
  251. * DataColumnMappingCollection.cs : Small fix in exception message thrown.
  252. 2003-04-25 Boris Kirzner <[email protected]>
  253. * DbDataAdapter.cs : Fixed bug in Fill :
  254. - Reader can have empty results (fo example from UPDATE or DELETE).
  255. - Reader can have results with no rows (SELECT that returns 0 rows but have columns)
  256. - In FillTable - skip rows only once for each table.
  257. 2003-04-14 Juraj Skripsky <[email protected]>
  258. * DbDataAdapter.cs : Refactoring of Fill. New private method
  259. FillTable does most of the work now. Use int[] instead of
  260. hashtable for mapping. Move creation of tableArray[] outside
  261. of loop.
  262. 2004-03-12 Andreas Nahr <[email protected]>
  263. * DbDataPermissionAttribute.cs: Added .Net 1.1 marks
  264. * DataColumnMapping.cs: DO NOT USE the consts scheme if types can be referenced directly!
  265. * DataTableMapping.cs: DO NOT USE the consts scheme if types can be referenced directly!
  266. * DataColumnMappingConverter: Added stub
  267. * DataTableMappingConverter: Added stub
  268. 2004-03-03 Eran Domb <[email protected]>
  269. * ComparerFactory.cs : Added.
  270. 2004-01-10 Atsushi Enomoto <[email protected]>
  271. * DbDataPermission.cs : tiny fix to pass OleDbPermission.
  272. 2004-01-09 Atsushi Enomoto <[email protected]>
  273. * DbDataPermission.cs : .ctor(PermissionState state) should not call
  274. obsolete .ctor(state, allowBlankPassword). csc reports an error.
  275. 2003-12-30 Gonzalo Paniagua Javier <[email protected]>
  276. * DbDataAdapter.cs: handle MissingShemaAction.AddWithKey, call
  277. AcceptChanges in Update when a CommandBuilder is used and
  278. correctly fill information about primary keys in FillSchema.
  279. Patch from Sergei Malinin ([email protected]).
  280. 2003-12-23 Tim Coleman <[email protected]>
  281. * DbConnectionString.cs:
  282. Some implementation
  283. * DbProviderFactory.cs:
  284. Fix typo to make CLS compliant
  285. 2003-12-16 Jackson Harper <[email protected]>
  286. * SchemaTableOptionalColumn.cs: Add to fix default build
  287. 2003-12-16 Tim Coleman <[email protected]>
  288. * CatalogLocation.cs DbCommand.cs DbCommandBuilder.cs
  289. * DbCommandOptionalFeatures.cs DbCommandSet.cs DbConnection.cs
  290. * DbConnectionString.cs DbDataSourceEnumerator.cs
  291. * DbDataUpdatableRecord.cs DbParameter.cs DbParameterCollection.cs
  292. * DbProviderConfigurationHandler.cs DbProviderFactories.cs
  293. * DbProviderFactoriesConfigurationHandler.cs DbProviderFactory.cs
  294. * DbProviderSupportedClasses.cs DbTable.cs DbTransaction.cs
  295. * GroupByBehavior.cs IdentifierCase.cs SchemaLocation.cs
  296. * SchemaTableColumn.cs:
  297. New stubs added for .NET 1.2
  298. * DataAdapter.cs DataColumnMapping.cs DataColumnMappingCollection.cs
  299. * DataTableMapping.cs DataTableMappingCollection.cs DbDataAdapter.cs
  300. * DbDataPermission.cs DbDataPermissionAttribute.cs DbDataRecord.cs
  301. * FieldNameLookup.cs SchemaInfo.cs:
  302. Changes made for .NET 1.2
  303. 2003-10-22 Eran Domb <[email protected]>
  304. * DbDataAdapter.cs : Check if there is mapping to avoid exception.
  305. 2003-11-26 Tim Coleman <[email protected]>
  306. * DbDataReader.cs: Add new stub class
  307. 2003-11-23 Pedro Martínez Juliá <[email protected]>
  308. * DbDataAdapter.cs: Call command dispose in self dispose method. We
  309. need to dispose the connections and other stuff stored in the
  310. commands.
  311. 2003-11-10 Pedro Martínez Juliá <[email protected]>
  312. * DataColumnMappingCollection.cs: Fix a missing exception when the
  313. required mapping is not in the collection. MS.NET throws an
  314. exception there.
  315. 2003-10-22 Eran Domb <[email protected]>
  316. * DbDataAdapter.cs (Fill): add only the mapped column to the dataTable (not all columns of dataReader).
  317. Also closing the dataReader if an exception is thrown.
  318. (Fill): the same as above.
  319. (SetupSchema): in now return string (the table name).
  320. (GetFillParameters): fix a bug.
  321. (BuildSchema) – it now return Hashtable. Add columns to the table only if there is a mapping. Build an Hashtable that maps the columns from the table to the column from the reader.
  322. (Update): first open the connection if needed. Catch an exception of the ExecuteQuery.
  323. 2003-09-30 Duncan Mak <[email protected]>
  324. Patch from Eran Domb <[email protected]>.
  325. * DbDataAdapter.cs (Fill): Fixed an Exception from being thrown.
  326. 2003-09-25 Duncan Mak <[email protected]>
  327. * DbDataAdapter.cs (Fill): Patch from Eran Domb, <[email protected]>.
  328. Fixes a possible NullReferenceException, more details here:
  329. http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002116.html
  330. 2003-09-21 eran <[email protected]>
  331. * DbDataRecord.cs: The method
  332. System.Data.Common.DbDataRecord.GetValues(object[] values) did not
  333. put the values of the DbDataRecord into values parameter.
  334. 2003-08-26 Gonzalo Paniagua Javier <[email protected]>
  335. * DbDataAdapter.cs: provide a Type for ToArray to avoid invalid cast
  336. exception. Thanks to Mark Easton <[email protected]>.
  337. 2003-07-31 Duncan Mak <[email protected]>
  338. * DataAdapter.cs (CloneInternals): Mark with ObsoleteAttribute for
  339. NET_1_1.
  340. 2003-03-21 Alan Tam <[email protected]>
  341. * DbDataAdapter.cs: Update now uses correct DataRowVersion
  342. when accessing the data.
  343. 2003-03-17 Aleksey Demakov <[email protected]>
  344. * DbDataAdapter.cs: BuildSchema now uses ColumnName instead
  345. of BaseColumnName (bug #39830) for DataColumn names.
  346. BaseTableName is no longer taken into account as well.
  347. 2003-02-28 Aleksey Demakov <[email protected]>
  348. * DbDataAdapter.cs: Update (DataSet) updates the default
  349. table only.
  350. 2003-02-25 Alan Tam <[email protected]>
  351. * DbDataAdapter.cs: Added support for filling when schema is present.
  352. Fixed incorrect behavior when ColumnMapping is present
  353. when more than one fields have the same name. Implemented Dispose.
  354. Fixed error when there is no ColumnMapping at all.
  355. Still have some problems in finding the correct TableMapping
  356. because the SourceTable name is not present in BuildSchema
  357. 2003-02-24 Aleksey Demakov <[email protected]>
  358. * DbDataAdapter.cs: The original code might pass a null DataTableMapping
  359. value which is then used to create a RowUpdatingEventArgs
  360. instance. So RowUpdatingEvent handler (for instance
  361. CommandBuilder) could get null DataTableMapping which
  362. might be unexpected. The patch makes sure that a non-null
  363. DataTableMapping is passed.
  364. 2003-01-26 Gonzalo Paniagua Javier <[email protected]>
  365. * DbEnumerator.cs: why does the runtime throw an invalid cast here? The
  366. object is an Int16... Gotta fill a bug report and when fixed undo this
  367. patch.
  368. 2003-01-08 Gonzalo Paniagua Javier <[email protected]>
  369. * DbDataRecord.cs: return DbNull.Value in GetValue () if value is null.
  370. 2002-10-31 Daniel Morgan <[email protected]>
  371. * SchemaInfo.cs: added missing properties to fix mcs build
  372. 2002-05-05 Miguel de Icaza <[email protected]>
  373. * DataTableMapping.cs, DataTableMappingCollection.cs: comment out
  374. interfaces we do not implement yet.
  375. * DbDataAdapter.cs: Stub IEnumerable, comment out interfaces
  376. we do not implement yet.
  377. * DbDataPermissionAttribute.cs: call base constructor.