@@ -193,7 +193,9 @@ UnsafeResultRange query(Connection conn, const(char[]) sql, ColumnSpecialization
193193UnsafeResultRange query (T... )(Connection conn, const (char []) sql, T args)
194194 if (T.length > 0 && ! is (T[0 ] == Variant []) && ! is (T[0 ] == MySQLVal[]) && ! is (T[0 ] == ColumnSpecialization) && ! is (T[0 ] == ColumnSpecialization[]))
195195{
196- return SC .query(conn, sql, args).unsafe;
196+ auto prepared = conn.prepare(sql);
197+ prepared.setArgs(args);
198+ return query (conn, prepared);
197199}
198200// /ditto
199201UnsafeResultRange query (Connection conn, const (char []) sql, Variant [] args) @system
@@ -303,7 +305,9 @@ Nullable!UnsafeRow queryRow(Connection conn, const(char[]) sql, ColumnSpecializa
303305Nullable! UnsafeRow queryRow (T... )(Connection conn, const (char []) sql, T args)
304306 if (T.length > 0 && ! is (T[0 ] == Variant []) && ! is (T[0 ] == MySQLVal[]) && ! is (T[0 ] == ColumnSpecialization) && ! is (T[0 ] == ColumnSpecialization[]))
305307{
306- return SC .queryRow(conn, sql, args).unsafe;
308+ auto prepared = conn.prepare(sql);
309+ prepared.setArgs(args);
310+ return queryRow (conn, prepared);
307311}
308312// /ditto
309313Nullable! UnsafeRow queryRow (Connection conn, const (char []) sql, Variant [] args) @system
@@ -368,20 +372,22 @@ args = The variables, taken by reference, to receive the values.
368372+/
369373void queryRowTuple (T... )(Connection conn, const (char []) sql, ref T args)
370374{
371- return SC .queryRowTuple (conn, sql, args);
375+ return SC .queryRowTupleImpl (conn, ExecQueryImplInfo( false , sql) , args);
372376}
373377
374378// /ditto
375379void queryRowTuple (T... )(Connection conn, ref Prepared prepared, ref T args)
376380{
377- SC .queryRowTuple(conn, prepared.safeForExec, args);
381+ auto preparedInfo = conn.registerIfNeeded(prepared.sql);
382+ SC .queryRowTupleImpl(conn, prepared.safe.getExecQueryImplInfo(preparedInfo.statementId), args);
383+ prepared.safe._lastInsertID = conn.lastInsertID; // Conceivably, this might be needed when multi-statements are enabled.
378384}
379385
380386// /ditto
381387void queryRowTuple (T... )(Connection conn, ref BackwardCompatPrepared prepared, ref T args) @system
382388{
383389 auto p = prepared.prepared;
384- SC . queryRowTuple(conn, p.safeForExec , args);
390+ queryRowTuple(conn, p, args);
385391 prepared._prepared = p;
386392}
387393
@@ -465,8 +471,11 @@ Nullable!Variant queryValue(Connection conn, const(char[]) sql, ColumnSpecializa
465471Nullable! Variant queryValue (T... )(Connection conn, const (char []) sql, T args)
466472 if (T.length > 0 && ! is (T[0 ] == Variant []) && ! is (T[0 ] == MySQLVal[]) && ! is (T[0 ] == ColumnSpecialization) && ! is (T[0 ] == ColumnSpecialization[]))
467473{
468- return SC .queryValue(conn, sql, args).asVariant;
474+ auto prepared = conn.prepare(sql);
475+ prepared.setArgs(args);
476+ return queryValue (conn, prepared);
469477}
478+
470479// /ditto
471480Nullable! Variant queryValue (Connection conn, const (char []) sql, Variant [] args) @system
472481{
0 commit comments