44
55use Illuminate \Database \Connection ;
66use InvalidArgumentException ;
7- use NormCache \Database \CachingQueryBuilder ;
7+ use NormCache \Database \QueryBuilder ;
88use NormCache \Enums \CacheReadOutcome ;
99use NormCache \Payload \RawResultCodec ;
1010use NormCache \Planning \DependencyAnalyzer ;
@@ -38,6 +38,7 @@ public function __construct(
3838 private RawResultCodec $ codec ,
3939 private DependencyAnalyzer $ dependencies ,
4040 private Reporter $ reporter ,
41+ private CacheSwitch $ switch ,
4142 private CacheStateResolver $ states ,
4243 private CanonicalRepository $ canonical ,
4344 private ResultRepository $ results ,
@@ -48,14 +49,14 @@ public function __construct(
4849 * @param callable(): array $primaryDatabase
4950 */
5051 public function select (
51- CachingQueryBuilder $ query ,
52+ QueryBuilder $ query ,
5253 string $ sql ,
5354 array $ bindings ,
5455 string $ operation ,
5556 callable $ database ,
5657 callable $ primaryDatabase ,
5758 ): array {
58- if (!$ this ->config -> enabled || ! $ this -> runtime -> available ()) {
59+ if (!$ this ->switch -> readable ()) {
5960 return $ database ();
6061 }
6162
@@ -74,7 +75,7 @@ public function select(
7475 return $ database ();
7576 }
7677
77- if ($ table ->isView && $ query ->normCacheDependencies () === []) {
78+ if ($ table ->isView && $ query ->dependencies () === []) {
7879 $ this ->reporter ->bypass (
7980 $ query ,
8081 'view_dependencies_required ' ,
@@ -119,7 +120,7 @@ public function select(
119120 $ analysis ->opaque && $ directRoot === null ,
120121 $ operation ,
121122 );
122- $ namespace = $ this ->identity ->namespace ($ query ->normCacheTag ());
123+ $ namespace = $ this ->identity ->namespace ($ query ->configuredTag ());
123124 $ canonicalQueryHash = null ;
124125
125126 try {
@@ -280,7 +281,7 @@ private function readOutcome(array $result): CacheReadOutcome
280281
281282 /** @param array{hit: bool, rows: array, reason: ?string, outcome?: CacheReadOutcome} $result */
282283 private function reportRead (
283- CachingQueryBuilder $ query ,
284+ QueryBuilder $ query ,
284285 QueryPlan $ plan ,
285286 string $ queryHash ,
286287 string $ sql ,
@@ -300,7 +301,7 @@ private function reportRead(
300301
301302 /** @return array{0: CacheState, 1: array{hit: bool, rows: array, reason: ?string, outcome?: CacheReadOutcome}} */
302303 private function read (
303- CachingQueryBuilder $ query ,
304+ QueryBuilder $ query ,
304305 QueryPlan $ plan ,
305306 string $ namespace ,
306307 string $ queryHash ,
@@ -375,7 +376,7 @@ private function read(
375376
376377 /** @return array{0: CacheState, 1: array{hit: bool, rows: array, reason: ?string, outcome?: CacheReadOutcome}} */
377378 private function readCanonicalWithResultOverlay (
378- CachingQueryBuilder $ query ,
379+ QueryBuilder $ query ,
379380 QueryPlan $ plan ,
380381 string $ namespace ,
381382 string $ queryHash ,
@@ -460,7 +461,7 @@ private function readCanonicalWithResultOverlay(
460461
461462 /** @return array{0: CacheState, 1: array{hit: bool, rows: array, reason: ?string, outcome?: CacheReadOutcome}} */
462463 private function readResultOrCanonicalProjection (
463- CachingQueryBuilder $ query ,
464+ QueryBuilder $ query ,
464465 QueryPlan $ plan ,
465466 string $ namespace ,
466467 string $ queryHash ,
@@ -659,7 +660,7 @@ private function readDirect(QueryPlan $plan, string $namespace, string $queryHas
659660
660661 private function epoch (): string
661662 {
662- return $ this ->runtime ->epoch (fn (): string => $ this -> store -> getRaw ( $ this -> keys -> epoch ()) ?? ' 0 ' );
663+ return $ this ->switch ->epoch ();
663664 }
664665
665666 /** @return list<stdClass>|null null on missing deleted-at column; empty array when filtered by visibility. */
@@ -753,7 +754,7 @@ private function readResultRowFallback(QueryPlan $plan): ?array
753754
754755 /** @return array{0: CacheState, 1: array{hit: bool, rows: array, reason: ?string, outcome?: CacheReadOutcome}} */
755756 private function readCanonical (
756- CachingQueryBuilder $ query ,
757+ QueryBuilder $ query ,
757758 QueryPlan $ plan ,
758759 string $ namespace ,
759760 string $ queryHash ,
@@ -778,7 +779,7 @@ private function readCanonical(
778779
779780 /** @return array{0: CacheState, 1: array{hit: bool, rows: array, reason: ?string, outcome?: CacheReadOutcome}} */
780781 private function readCanonicalHead (
781- CachingQueryBuilder $ query ,
782+ QueryBuilder $ query ,
782783 QueryPlan $ plan ,
783784 string $ namespace ,
784785 string $ queryHash ,
@@ -805,7 +806,7 @@ private function readCanonicalHead(
805806 * @return array{rows: array<string, stdClass>|null, outcome: CacheReadOutcome}
806807 */
807808 private function repairRows (
808- CachingQueryBuilder $ query ,
809+ QueryBuilder $ query ,
809810 QueryPlan $ plan ,
810811 CacheState $ state ,
811812 array $ tokens ,
@@ -882,7 +883,7 @@ private function releaseRepair(string $buildingKey, string $wakeKey, string $tok
882883 * @return array<string, stdClass>|null
883884 */
884885 private function buildRepairedRows (
885- CachingQueryBuilder $ query ,
886+ QueryBuilder $ query ,
886887 QueryPlan $ plan ,
887888 CacheState $ state ,
888889 array $ tokens ,
@@ -1057,7 +1058,7 @@ private function stateStillCurrent(QueryPlan $plan, CacheState $state): bool
10571058
10581059 /** @param array<int, mixed> $rows */
10591060 private function publish (
1060- CachingQueryBuilder $ query ,
1061+ QueryBuilder $ query ,
10611062 QueryPlan $ plan ,
10621063 CacheState $ state ,
10631064 array $ rows ,
@@ -1081,7 +1082,7 @@ private function publish(
10811082 }
10821083
10831084 private function publishResult (
1084- CachingQueryBuilder $ query ,
1085+ QueryBuilder $ query ,
10851086 QueryPlan $ plan ,
10861087 CacheState $ state ,
10871088 array $ rows ,
@@ -1136,7 +1137,7 @@ private function publishDirect(
11361137 }
11371138
11381139 private function publishCanonical (
1139- CachingQueryBuilder $ query ,
1140+ QueryBuilder $ query ,
11401141 QueryPlan $ plan ,
11411142 CacheState $ state ,
11421143 array $ rows ,
@@ -1182,7 +1183,7 @@ private function resultOverlayPlan(QueryPlan $plan): QueryPlan
11821183
11831184 /** @param array<int, mixed> $rows */
11841185 private function promoteResultPayload (
1185- CachingQueryBuilder $ query ,
1186+ QueryBuilder $ query ,
11861187 QueryPlan $ resultPlan ,
11871188 CacheState $ sourceState ,
11881189 string $ namespace ,
@@ -1191,7 +1192,7 @@ private function promoteResultPayload(
11911192 bool $ wakeWaiters = true ,
11921193 ): bool {
11931194 try {
1194- $ ttl = $ query ->normCacheTtl () ?? $ this ->config ->queryTtl ;
1195+ $ ttl = $ query ->configuredTtl () ?? $ this ->config ->queryTtl ;
11951196 $ encoded = $ this ->codec ->encode (
11961197 $ rows ,
11971198 $ sourceState ->epoch ,
@@ -1344,7 +1345,7 @@ private function wakeTtl(): int
13441345
13451346 /** @param list<string> $dependencyHashes */
13461347 private function canonicalQueryHash (
1347- CachingQueryBuilder $ query ,
1348+ QueryBuilder $ query ,
13481349 QueryPlan $ plan ,
13491350 Connection $ connection ,
13501351 array $ dependencyHashes ,
@@ -1365,12 +1366,12 @@ private function canonicalQueryHash(
13651366 }
13661367
13671368 private function declaredRoot (
1368- CachingQueryBuilder $ query ,
1369+ QueryBuilder $ query ,
13691370 Connection $ connection ,
13701371 ): ?TableIdentity {
13711372 $ resolved = [];
13721373
1373- foreach ($ query ->normCacheDependencies () as $ declaration ) {
1374+ foreach ($ query ->dependencies () as $ declaration ) {
13741375 $ identity = $ declaration ->isTable ()
13751376 ? $ this ->tables ->resolve ($ connection , $ declaration ->value )
13761377 : $ this ->dependencies ->modelIdentity ($ connection , $ declaration ->value );
0 commit comments