Skip to content

Commit 910202a

Browse files
- Begin decouple.
1 parent 4ec873f commit 910202a

File tree

1 file changed

+44
-25
lines changed

1 file changed

+44
-25
lines changed

internal/stackql/primitivebuilder/single_select_acquire.go

Lines changed: 44 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,48 @@ func (ss *SingleSelectAcquire) GetTail() primitivegraph.PrimitiveNode {
109109
return ss.root
110110
}
111111

112+
//nolint:lll // chaining
113+
func (ss *SingleSelectAcquire) elideActionIfPossible(
114+
currentTcc internaldto.TxnControlCounters,
115+
tableName string,
116+
reqEncoding string,
117+
) bool {
118+
olderTcc, isMatch := ss.handlerCtx.GetNamespaceCollection().GetAnalyticsCacheTableNamespaceConfigurator().Match(
119+
tableName,
120+
reqEncoding,
121+
ss.drmCfg.GetControlAttributes().GetControlLatestUpdateColumnName(), ss.drmCfg.GetControlAttributes().GetControlInsertEncodedIDColumnName())
122+
if isMatch {
123+
nonControlColumns := ss.insertPreparedStatementCtx.GetNonControlColumns()
124+
var nonControlColumnNames []string
125+
for _, c := range nonControlColumns {
126+
nonControlColumnNames = append(nonControlColumnNames, c.GetName())
127+
}
128+
//nolint:errcheck // TODO: fix
129+
ss.handlerCtx.GetGarbageCollector().Update(
130+
tableName,
131+
olderTcc.Clone(),
132+
currentTcc,
133+
)
134+
//nolint:errcheck // TODO: fix
135+
ss.insertionContainer.SetTableTxnCounters(tableName, olderTcc)
136+
ss.insertPreparedStatementCtx.SetGCCtrlCtrs(olderTcc)
137+
r, sqlErr := ss.handlerCtx.GetNamespaceCollection().GetAnalyticsCacheTableNamespaceConfigurator().Read(
138+
tableName, reqEncoding,
139+
ss.drmCfg.GetControlAttributes().GetControlInsertEncodedIDColumnName(),
140+
nonControlColumnNames)
141+
if sqlErr != nil {
142+
internaldto.NewErroneousExecutorOutput(sqlErr)
143+
}
144+
ss.drmCfg.ExtractObjectFromSQLRows(r, nonControlColumns, ss.stream)
145+
return true
146+
}
147+
return false
148+
}
149+
150+
func (ss *SingleSelectAcquire) actionHTTP() error {
151+
return nil
152+
}
153+
112154
//nolint:funlen,gocognit,gocyclo,cyclop,nestif,revive // TODO: investigate
113155
func (ss *SingleSelectAcquire) Build() error {
114156
prov, err := ss.tableMeta.GetProvider()
@@ -172,31 +214,8 @@ func (ss *SingleSelectAcquire) Build() error {
172214
return internaldto.NewErroneousExecutorOutput(paramErr)
173215
}
174216
reqEncoding := reqCtx.Encode()
175-
//nolint:lll // chaining
176-
olderTcc, isMatch := ss.handlerCtx.GetNamespaceCollection().GetAnalyticsCacheTableNamespaceConfigurator().Match(tableName, reqEncoding, ss.drmCfg.GetControlAttributes().GetControlLatestUpdateColumnName(), ss.drmCfg.GetControlAttributes().GetControlInsertEncodedIDColumnName())
177-
if isMatch {
178-
nonControlColumns := ss.insertPreparedStatementCtx.GetNonControlColumns()
179-
var nonControlColumnNames []string
180-
for _, c := range nonControlColumns {
181-
nonControlColumnNames = append(nonControlColumnNames, c.GetName())
182-
}
183-
//nolint:errcheck // TODO: fix
184-
ss.handlerCtx.GetGarbageCollector().Update(
185-
tableName,
186-
olderTcc.Clone(),
187-
currentTcc,
188-
)
189-
//nolint:errcheck // TODO: fix
190-
ss.insertionContainer.SetTableTxnCounters(tableName, olderTcc)
191-
ss.insertPreparedStatementCtx.SetGCCtrlCtrs(olderTcc)
192-
r, sqlErr := ss.handlerCtx.GetNamespaceCollection().GetAnalyticsCacheTableNamespaceConfigurator().Read(
193-
tableName, reqEncoding,
194-
ss.drmCfg.GetControlAttributes().GetControlInsertEncodedIDColumnName(),
195-
nonControlColumnNames)
196-
if sqlErr != nil {
197-
internaldto.NewErroneousExecutorOutput(sqlErr)
198-
}
199-
ss.drmCfg.ExtractObjectFromSQLRows(r, nonControlColumns, ss.stream)
217+
elideOk := ss.elideActionIfPossible(currentTcc, tableName, reqEncoding)
218+
if elideOk {
200219
return internaldto.NewEmptyExecutorOutput()
201220
}
202221
// TODO: fix cloning ops

0 commit comments

Comments
 (0)