/// <summary> /// Performs CRUD load. Override to do custom Query interpretation /// </summary> protected internal virtual Cursor DoOpenCursor(MySqlConnection cnn, MySqlTransaction transaction, Query query) { var context = new MySqlCRUDQueryExecutionContext(this, cnn, transaction); var handler = QueryResolver.Resolve(query); try { return(handler.OpenCursor(context, query)); } catch (Exception error) { throw new MySqlDataAccessException( StringConsts.OPEN_CURSOR_ERROR + error.ToMessageWithType(), error, KeyViolationKind.Unspecified, CRUDGenerator.KeyViolationName(error)); } }
/// <summary> /// Performs CRUD load without fetching data only returning schema. Override to do custom Query interpretation /// </summary> protected internal virtual Schema DoGetSchema(MySqlConnection cnn, MySqlTransaction transaction, Query query) { if (query == null) { return(null); } var handler = QueryResolver.Resolve(query); try { return(handler.GetSchema(new MySqlCRUDQueryExecutionContext(this, cnn, transaction), query)); } catch (Exception error) { throw new MySqlDataAccessException( StringConsts.GET_SCHEMA_ERROR + error.ToMessageWithType(), error, KeyViolationKind.Unspecified, CRUDGenerator.KeyViolationName(error)); } }