if Changing API do more than just change names

If Xojo inc was going to change names for any class for consistency they needed to also look at the class as a whole for INTERNAL consistancy as well as external and do it at the same time. That gives more value than just changing names.

Take the RecordSet -> RowSet transition for example… I was writing a method that I need to pass In both Column name and type… Logically both describe the column BUT to get that information in API 1, I have to go to 2 different places… I have to use recordSet.columnType(i) and recordSet.IdxField(i).Name or recordSet.Field(“Fieldname”).Name

In API 2 what COULD been done was remove RowSet.ColumnType and add it to DatabaseField as read only property DataBaseField.DataType just as the column name is. That would have made things more consistent as all the information describing the column would be in the same place on the same object…

We do that internally with ActiveRecord. When we map the fields to our classes we map everything so we can tell in one place everything we need to know about the field. And yes, having multiple calls to get that information is a pain.

I haven’t looked but I’m assuming they still don’t have a way to get a list of Views in the database. That would be constructive new functionality that would make the transition to API 2.0 more valuable. Hey, at least we now have a BeginTransaction method (only took 20 years to get it into the product).

i not like this style because it blow up everything if you hit TAB key after a dot
example

[code]Dim a As RowSet
a.MoveToFirstRow
a.MoveToLastRow
a.MoveToNextRow
a.MoveToPreviousRow

its better to have
Dim a As RowSet
a.MoveTo.First
.Last
.Next
.Previous

Listbox1.AddRow
Listbox1.AddRowAt
Listbox1.List
Listbox1.RowCount
Listbox1.RemoveAllRows
as
Listbox1.List
.Count
.Add(items)
.Add(items,startposition)
.Clear
[/code]

<https://xojo.com/issue/58098>