SQL-192: PaymentsQueryProvider.GetLastPaymentTransactionStatisic¶
This statement is a read operation invoked through ORM (NHibernate LINQ). Executed by PaymentsQueryProvider.GetLastPaymentTransactionStatisic.
Classification¶
| Field | Value |
|---|---|
| SQL ID | SQL-192 |
| Operation type | Read |
| Execution method | ORM (NHibernate LINQ) |
| Database | Oracle* |
| Schema | [unqualified]** |
| Command type | N/A (ORM-generated) |
| Business object | PaymentsQueryProvider |
| Criteria property | N/A — ORM |
| Lifecycle method | GetLastPaymentTransactionStatisic |
Parameters¶
| Parameter | Direction | Type | Max length | Description |
|---|---|---|---|---|
code |
Input | String | N/A | Method argument of PaymentsQueryProvider.GetLastPaymentTransactionStatisic bound into the ORM expression; NHibernate generates the bind variable at runtime |
Tables¶
| Table | Access | Columns used |
|---|---|---|
| PAYMENT_TRANSACTION_STAT | SELECT | PAYMENT_TRANS_STAT_SEQ_NUM, UPDATE_NUM, BEGIN_CHECK_NUM, END_CHECK_NUM, BEGIN_EFT_NUM, END_EFT_NUM, BEGIN_NOPAY_NUM, END_NOPAY_NUM, EXTRACT_DATE, EXTRACT_CHECK_TRANS_COUNT, EXTRACT_CHECK_TRANS_AMT, EXTRACT_EFT_TRANS_COUNT, EXTRACT_EFT_TRANS_AMT, EXTRACT_NOPAY_TRANS_COUNT, ISSUE_DATE, OUTPUT_DATE, OUTPUT_IMAGE_FLAG, COMMENT_TEXT, UPDATE_USER, UPDATE_DATE, PAYMENT_TRANSACTION_TYPE_CODE |
LINQ statement¶
Source: Data/SAIF.Data/Queries/Payments/PaymentsQueryProvider.cs:28-31. The repository/queryable is initialised at Data/SAIF.Data/Queries/Payments/PaymentsQueryProvider.cs:17.
// Data/SAIF.Data/Queries/Payments/PaymentsQueryProvider.cs:17
batchRepository = Factory.GetRepository<PaymentTransactionStatistic>().Query();
// Data/SAIF.Data/Queries/Payments/PaymentsQueryProvider.cs:28-31
public PaymentTransactionStatistic GetLastPaymentTransactionStatisic(String code)
{
return batchRepository
.Where(b => b.Type.Code == code)
.OrderByDescending(o => o.Id)
.FirstOrDefault();
}
Sample SQL¶
Inferred SQL: This SQL was inferred from the LINQ statement above and the NHibernate mappings. It is not concrete SQL from source code; NHibernate generates the executed statement at runtime, so aliases, column order, join syntax, and bind-parameter names may differ.
-- Inferred from LINQ (NHibernate mapping translation); not concrete SQL
SELECT * FROM (
SELECT
PTS.PAYMENT_TRANS_STAT_SEQ_NUM,
PTS.UPDATE_NUM,
PTS.BEGIN_CHECK_NUM,
PTS.END_CHECK_NUM,
PTS.BEGIN_EFT_NUM,
PTS.END_EFT_NUM,
PTS.BEGIN_NOPAY_NUM,
PTS.END_NOPAY_NUM,
PTS.EXTRACT_DATE,
PTS.EXTRACT_CHECK_TRANS_COUNT,
PTS.EXTRACT_CHECK_TRANS_AMT,
PTS.EXTRACT_EFT_TRANS_COUNT,
PTS.EXTRACT_EFT_TRANS_AMT,
PTS.EXTRACT_NOPAY_TRANS_COUNT,
PTS.ISSUE_DATE,
PTS.OUTPUT_DATE,
PTS.OUTPUT_IMAGE_FLAG,
PTS.COMMENT_TEXT,
PTS.UPDATE_USER,
PTS.UPDATE_DATE,
PTS.PAYMENT_TRANSACTION_TYPE_CODE
FROM PAYMENT_TRANSACTION_STAT PTS
WHERE PTS.PAYMENT_TRANSACTION_TYPE_CODE = :code
ORDER BY PTS.PAYMENT_TRANS_STAT_SEQ_NUM DESC
) WHERE ROWNUM <= 1
Operations and processes¶
Business rules¶
Sources¶
Data/SAIF.Data/Queries/Payments/PaymentsQueryProvider.cs:28