On Monday, 30 September 2013 at 10:34:25 UTC, Kagamin wrote:
On Sunday, 29 September 2013 at 15:42:10 UTC, simendsjo wrote:
the previous, but is this the best way? If we choose to disallow new commands, that means the user have to explicitly close a lazy command.

If a command isn't closed as soon as possible, it sounds like a resource leak. If you silently cancel previous query, it can hide logical bug.

Yeah. We need to choose:
1) Starting a new command while another is in flight is an error
   You need to close explicitly if the command isn't finished
2) If another command has been started, it's er error to continue iteration of a previous command.

I'm in favor of 1).

If using classes, we can safely have several instances for a command (is this neccessary?)

If you execute the same query repeatedly, there's no need to build the same command every time.

That's what prepared statements are for. If you don't even have parameters, it's just 9 bytes (4 of these bytes is an undocumented field called iteration_count..).

The problem is that MySQL is inconsistent here, and it depends on if it's a field or a constant. SELECT TRUE is not the same as SELECT boolean_field. Also, it seems every constant integer is returned as LONGLONG. But.. The fields include a length property..

Is there some hint it's true and not something else?

Yeah. BOOL is an alias for TINYINT(1). I think it's fair to always assume TINYINT(1) is bool. For other types I'm not quite sure though.. "SELECT 1" is a LONGLONG, but in D a literal is int unless specified otherwise. So there is a mismatch here.

Reply via email to