@@ -322,10 +322,7 @@ public function acceptShare(IShare $share, string $recipient): IShare {
322322				->where ($ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_USERGROUP )))
323323				->andWhere ($ qbexpr ()->eq ('share_with ' , $ qbcreateNamedParameter ($ recipient
324324				->andWhere ($ qbexpr ()->eq ('parent ' , $ qbcreateNamedParameter ($ sharegetId ())))
325- 				->andWhere ($ qbexpr ()->orX (
326- 					$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
327- 					$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
328- 				))
325+ 				->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
329326				->executeQuery ();
330327
331328			$ data$ stmtfetch ();
@@ -383,10 +380,7 @@ public function getChildren(\OCP\Share\IShare $parent) {
383380					], IQueryBuilder::PARAM_INT_ARRAY )
384381				)
385382			)
386- 			->andWhere ($ qbexpr ()->orX (
387- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
388- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
389- 			))
383+ 			->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
390384			->orderBy ('id ' );
391385
392386		$ cursor$ qbexecuteQuery ();
@@ -449,10 +443,7 @@ public function deleteFromSelf(IShare $share, $recipient) {
449443				->where ($ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_USERGROUP )))
450444				->andWhere ($ qbexpr ()->eq ('share_with ' , $ qbcreateNamedParameter ($ recipient
451445				->andWhere ($ qbexpr ()->eq ('parent ' , $ qbcreateNamedParameter ($ sharegetId ())))
452- 				->andWhere ($ qbexpr ()->orX (
453- 					$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
454- 					$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
455- 				))
446+ 				->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
456447				->executeQuery ();
457448
458449			$ data$ stmtfetch ();
@@ -565,10 +556,7 @@ public function move(\OCP\Share\IShare $share, $recipient) {
565556				->where ($ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_USERGROUP )))
566557				->andWhere ($ qbexpr ()->eq ('share_with ' , $ qbcreateNamedParameter ($ recipient
567558				->andWhere ($ qbexpr ()->eq ('parent ' , $ qbcreateNamedParameter ($ sharegetId ())))
568- 				->andWhere ($ qbexpr ()->orX (
569- 					$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
570- 					$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
571- 				))
559+ 				->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
572560				->setMaxResults (1 )
573561				->executeQuery ();
574562
@@ -621,16 +609,9 @@ public function getSharesInFolder($userId, Folder $node, $reshares, $shallow = t
621609			'f.parent AS f_parent ' , 'f.name ' , 'f.mimetype ' , 'f.mimepart ' , 'f.size ' , 'f.mtime ' , 'f.storage_mtime ' ,
622610			'f.encrypted ' , 'f.unencrypted_size ' , 'f.etag ' , 'f.checksum ' )
623611			->from ('share ' , 's ' )
624- 			->andWhere ($ qbexpr ()->orX (
625- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
626- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
627- 			));
612+ 			->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
628613
629- 		$ qbandWhere ($ qbexpr ()->orX (
630- 			$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_USER )),
631- 			$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_GROUP )),
632- 			$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_LINK ))
633- 		));
614+ 		$ qbandWhere ($ qbexpr ()->in ('share_type ' , $ qbcreateNamedParameter ([IShare::TYPE_USER , IShare::TYPE_GROUP , IShare::TYPE_LINK ], IQueryBuilder::PARAM_INT_ARRAY )));
634615
635616		/** 
636617		 * Reshares for this user are shares where they are the owner. 
@@ -693,10 +674,7 @@ public function getSharesBy($userId, $shareType, $node, $reshares, $limit, $offs
693674		$ qb$ this dbConn ->getQueryBuilder ();
694675		$ qbselect ('* ' )
695676			->from ('share ' )
696- 			->andWhere ($ qbexpr ()->orX (
697- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
698- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
699- 			));
677+ 			->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
700678
701679		$ qbandWhere ($ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter ($ shareType
702680
@@ -756,10 +734,7 @@ public function getShareById($id, $recipientId = null) {
756734					], IQueryBuilder::PARAM_INT_ARRAY )
757735				)
758736			)
759- 			->andWhere ($ qbexpr ()->orX (
760- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
761- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
762- 			));
737+ 			->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
763738
764739		$ cursor$ qbexecuteQuery ();
765740		$ data$ cursorfetch ();
@@ -795,17 +770,8 @@ public function getSharesByPath(Node $path) {
795770		$ cursor$ qbselect ('* ' )
796771			->from ('share ' )
797772			->andWhere ($ qbexpr ()->eq ('file_source ' , $ qbcreateNamedParameter ($ pathgetId ())))
798- 			->andWhere (
799- 				$ qbexpr ()->orX (
800- 					$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_USER )),
801- 					$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_GROUP )),
802- 					$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_LINK )),
803- 				)
804- 			)
805- 			->andWhere ($ qbexpr ()->orX (
806- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
807- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
808- 			))
773+ 			->andWhere ($ qbexpr ()->in ('share_type ' , $ qbcreateNamedParameter ([IShare::TYPE_USER , IShare::TYPE_GROUP , IShare::TYPE_LINK ], IQueryBuilder::PARAM_INT_ARRAY )))
774+ 			->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
809775			->orderBy ('id ' , 'ASC ' )
810776			->executeQuery ();
811777
@@ -874,10 +840,7 @@ public function getSharedWith($userId, $shareType, $node, $limit, $offset) {
874840
875841			$ qbwhere ($ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_USER )))
876842				->andWhere ($ qbexpr ()->eq ('share_with ' , $ qbcreateNamedParameter ($ userId
877- 				->andWhere ($ qbexpr ()->orX (
878- 					$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
879- 					$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
880- 				));
843+ 				->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
881844
882845			// Filter by node if provided 
883846			if  ($ nodenull ) {
@@ -942,10 +905,7 @@ public function getSharedWith($userId, $shareType, $node, $limit, $offset) {
942905						$ groups
943906						IQueryBuilder::PARAM_STR_ARRAY 
944907					)))
945- 					->andWhere ($ qbexpr ()->orX (
946- 						$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
947- 						$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
948- 					));
908+ 					->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
949909
950910				$ cursor$ qbexecuteQuery ();
951911				while  ($ data$ cursorfetch ()) {
@@ -988,10 +948,7 @@ public function getShareByToken($token) {
988948			->from ('share ' )
989949			->where ($ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_LINK )))
990950			->andWhere ($ qbexpr ()->eq ('token ' , $ qbcreateNamedParameter ($ token
991- 			->andWhere ($ qbexpr ()->orX (
992- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
993- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
994- 			))
951+ 			->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
995952			->executeQuery ();
996953
997954		$ data$ cursorfetch ();
@@ -1090,7 +1047,7 @@ private function resolveGroupShares($shareMap, $userId) {
10901047			->from ('share ' )
10911048			->where ($ qbexpr ()->eq ('share_with ' , $ qbcreateNamedParameter ($ userId
10921049			->andWhere ($ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_USERGROUP )))
1093- 			->andWhere ($ qbexpr ()->in ('item_type ' , [ $ qbcreateNamedParameter ('file ' ),  $ qb -> createNamedParameter ( 'folder ' )] ));
1050+ 			->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter ([ 'file ' ,  'folder ' ], IQueryBuilder:: PARAM_STR_ARRAY ) ));
10941051
10951052		// this is called with either all group shares or one group share. 
10961053		// for all shares it's easier to just only search by share_with, 
@@ -1147,10 +1104,7 @@ public function userDeleted($uid, $shareType) {
11471104			 */ 
11481105			$ qbwhere (
11491106				$ qbexpr ()->andX (
1150- 					$ qbexpr ()->orX (
1151- 						$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_GROUP )),
1152- 						$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_USERGROUP ))
1153- 					),
1107+ 					$ qbexpr ()->in ('share_type ' , $ qbcreateNamedParameter ([IShare::TYPE_GROUP , IShare::TYPE_USERGROUP ], IQueryBuilder::PARAM_INT_ARRAY )),
11541108					$ qbexpr ()->eq ('uid_owner ' , $ qbcreateNamedParameter ($ uid
11551109				)
11561110			);
@@ -1323,26 +1277,19 @@ public function getAccessList($nodes, $currentAccess) {
13231277
13241278		$ qb$ this dbConn ->getQueryBuilder ();
13251279
1326- 		$ or$ qbexpr ()->orX (
1327- 			$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_USER )),
1328- 			$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_GROUP )),
1329- 			$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (IShare::TYPE_LINK ))
1330- 		);
1280+ 		$ shareTypesTYPE_USER , IShare::TYPE_GROUP , IShare::TYPE_LINK ];
13311281
13321282		if  ($ currentAccess
1333- 			$ or -> add ( $ qb -> expr ()-> eq ( ' share_type ' ,  $ qb -> createNamedParameter ( IShare::TYPE_USERGROUP ))) ;
1283+ 			$ shareTypes [] =  IShare::TYPE_USERGROUP ;
13341284		}
13351285
13361286		$ qbselect ('id ' , 'parent ' , 'share_type ' , 'share_with ' , 'file_source ' , 'file_target ' , 'permissions ' )
13371287			->from ('share ' )
13381288			->where (
1339- 				$ or 
1289+ 				$ qb -> expr ()-> in ( ' share_type ' ,  $ qb -> createNamedParameter ( $ shareTypes , IQueryBuilder:: PARAM_INT_ARRAY )) 
13401290			)
13411291			->andWhere ($ qbexpr ()->in ('file_source ' , $ qbcreateNamedParameter ($ idsPARAM_INT_ARRAY )))
1342- 			->andWhere ($ qbexpr ()->orX (
1343- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('file ' )),
1344- 				$ qbexpr ()->eq ('item_type ' , $ qbcreateNamedParameter ('folder ' ))
1345- 			));
1292+ 			->andWhere ($ qbexpr ()->in ('item_type ' , $ qbcreateNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
13461293
13471294		// Ensure accepted is true for user and usergroup type 
13481295		$ qbandWhere (
@@ -1659,13 +1606,7 @@ public function getAllShares(): iterable {
16591606
16601607		$ qbselect ('* ' )
16611608			->from ('share ' )
1662- 			->where (
1663- 				$ qbexpr ()->orX (
1664- 					$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (\OCP \Share \IShare::TYPE_USER )),
1665- 					$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (\OCP \Share \IShare::TYPE_GROUP )),
1666- 					$ qbexpr ()->eq ('share_type ' , $ qbcreateNamedParameter (\OCP \Share \IShare::TYPE_LINK ))
1667- 				)
1668- 			);
1609+ 			->where ($ qbexpr ()->in ('share_type ' , $ qbcreateNamedParameter ([IShare::TYPE_USER , IShare::TYPE_GROUP , IShare::TYPE_LINK ], IQueryBuilder::PARAM_INT_ARRAY )));
16691610
16701611		$ cursor$ qbexecuteQuery ();
16711612		while  ($ data$ cursorfetch ()) {
0 commit comments