Clarion 12 - What Problems or Issues have you found?

What is the address for problem tracker? http://problemtracker.softvelocity.com/ does not appear to work at the moment. Do they have a site more recent? Or should I report problems to Softvelocity via email?

http://problemtracker.softvelocity.com/ works for me

https:// does not

1 Like

If it is the driver, then you should be able to create a very simple little CLW file to show the problem, something like:

program
  map
end
yourfile declaration with ID field declared with identity, read only etc. same as in your porgram

code
   open(file)
   yourfile{PROP:Profile} = 'showswql.log'
   yourfile{PROP:details} = 1
   yourfile{prop:logsql} = 1
   you:someotherfield = 'Somevalue'
   add(yourfile)
   if error() then 
      message('could not insert')
   else
      message('Retrieved ID is ' & you:id)
   end

And running with the C12 dll should show the retrieved ID is null (0), and it should be good with the C11 ID.

I completely disagree with “The driver option /AUTOINC is related when Clarion is controlling autoincrement and not the SQL backend”. I’ll try to explain again…

You have a file that has an ID number you want the server to increment, and one other field.
You do:
fil:othervalue = ‘Very important’
add(file)

At that point your buffer looks like:
ID – nothing in it, clarion will probably treat it as 0
othervalue has ‘Very important’ in it.

What the driver will send to the backend is:

insert into file (othervalue) values(‘Very important’);

The server will insert the record with whatever Identity value it comes up with.

After the insert the buffer in Clarion still looks exactly the same – there is nothing in FIL:ID.

This is where autoinc comes into play. If you have declared /AUTOINC = ‘select scope_identity’ on your file, then after an insert, clarion will send that query to the server, and it will put the returned value into the field that it has been told is the identity field.

So after the combination of the insert and the select scope_identity, the FIL:ID column should have the identity value that the server created for the record it just inserted.

So the /AutoInc has everything to do with the SQL backend and nothing to do with Clarion auto increment.

Yes, I understand, Jon. Thank you for the example. I remember a couple of places where I had to retrieve the identity column value from a newly inserted record when inserting with embedded code. I will research /AUTOINC more today, which might help with those scenarios.

My previous example was all performed with the Clarion Update Template, which has worked flawlessly with hundreds of MSSQL insert procedures since 2015. So, something has changed. Maybe Clarion is placing new requirements on its SQL drivers. I do not know.

1 Like

I use Problem-Tracker Support System
But I would definitely email support, too. Especially, this early in the C12 release cycle.
Also, as Jon pointed out, if you can create a simple example to demonstrate the problem that will help them.

Do a comparison on the code between a C11 and C12 form where you think this is no longer working. It might only be apparent if you needed the parent value before inserting child records?

(I have a template that I use for getting the SQL autoinc value so if that was missing from the C12 version it would be evident in the code comparison)

Rick, Robert @ tech-support asked me to send an example of the problem. I sent a sample application and a sample database. He was able to duplicate the identity column problem and sent the issue to development.

3 Likes