text icon indicating copy to clipboard operation
text copied to clipboard

Dirty table reads to check

Open juliusknorr opened this issue 1 year ago • 12 comments

Create

...
iFXNNPjYbIAmpfVqEYYq	 replica  0 SELECT `s`.`id` FROM `oc_text_sessions` `s` LEFT JOIN `oc_text_steps` `st` ON `st`.`session_id` = `s`.`id` WHERE (`last_contact` < :dcValue1) AND (`st`.`id` IS NULL) AND (`s`.`document_id` = :dcValue2)
iFXNNPjYbIAmpfVqEYYq	 replica  0 SELECT * FROM `oc_text_documents` WHERE `id` = :dcValue1
iFXNNPjYbIAmpfVqEYYq	 replica  0 INSERT INTO `oc_text_sessions` (`document_id`, `user_id`, `token`, `color`, `last_contact`) VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)
iFXNNPjYbIAmpfVqEYYq	 primary  0 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
iFXNNPjYbIAmpfVqEYYq	 primary  0 SET SESSION AUTOCOMMIT=1
iFXNNPjYbIAmpfVqEYYq	 primary  0 SELECT `id`, `numeric_id`, `available`, `last_checked` FROM `oc_storages` WHERE `id` = :dcValue1
iFXNNPjYbIAmpfVqEYYq	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
iFXNNPjYbIAmpfVqEYYq	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
iFXNNPjYbIAmpfVqEYYq	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)

Push

...
WsqoJYfuUMgeMX801Gh4	 replica  0 SELECT * FROM `oc_text_documents` WHERE `id` = :dcValue1
WsqoJYfuUMgeMX801Gh4	 replica  0 UPDATE `oc_text_sessions` SET `last_awareness_message` = :dcValue1 WHERE `id` = :dcValue2
WsqoJYfuUMgeMX801Gh4	 primary  0 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
WsqoJYfuUMgeMX801Gh4	 primary  0 SET SESSION AUTOCOMMIT=1
WsqoJYfuUMgeMX801Gh4	 primary  0 SELECT `storage`, `path`, `mimetype` FROM `oc_filecache` WHERE `fileid` = :dcValue1
WsqoJYfuUMgeMX801Gh4	 primary  0 SELECT `storage_id`, `root_id`, `user_id`, `mount_point`, `mount_id`, `f`.`path`, `mount_provider_class` FROM `oc_mounts` `m` INNER JOIN `oc_filecache` `f` ON `m`.`root_id` = `f`.`fileid` WHERE (`storage_id` = ?) AND (`user_id` = ?)
WsqoJYfuUMgeMX801Gh4	 primary  0 SELECT `id`, `numeric_id`, `available`, `last_checked` FROM `oc_storages` WHERE `id` = :dcValue1
WsqoJYfuUMgeMX801Gh4	 primary  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
WsqoJYfuUMgeMX801Gh4	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`fileid` = :dcValue1
WsqoJYfuUMgeMX801Gh4	 primary  0 SELECT `id`, `mimetype` FROM `oc_mimetypes`
WsqoJYfuUMgeMX801Gh4	 primary  0 SELECT `id` FROM `oc_text_steps` WHERE `document_id` = :dcValue1 ORDER BY `id` DESC LIMIT 1
WsqoJYfuUMgeMX801Gh4	 primary  0 INSERT INTO `oc_text_steps` (`data`, `session_id`, `document_id`, `version`) VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4)
WsqoJYfuUMgeMX801Gh4	 primary  0 SELECT * FROM `oc_text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000
{
  "reqId": "sGwOxjS6FLwwdx1iO5zQ",
  "level": 0,
  "time": "2024-01-31T07:22:49+00:00",
  "remoteAddr": "192.168.65.1",
  "user": "admin",
  "app": "no app in context",
  "method": "POST",
  "url": "/index.php/apps/text/session/6/push",
  "message": "dirty table reads: SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0",
  "version": "29.0.0.5",
  "exception": {
    "Exception": "Exception",
    "Message": "",
    "Code": 0,
    "Trace": [
      {
        "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
        "line": 341,
        "function": "executeQuery",
        "class": "OC\\DB\\Connection",
        "type": "->",
        "args": [
          "SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000",
          [
            6,
            "*** sensitive parameters replaced ***",
            "*** sensitive parameters replaced ***"
          ],
          [
            2,
            2,
            2
          ],
          null
        ]
      },
      {
        "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
        "line": 377,
        "function": "executeQuery",
        "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php",
        "line": 280,
        "function": "execute",
        "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php",
        "line": 293,
        "function": "execute",
        "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php",
        "line": 335,
        "function": "executeQuery",
        "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/apps/text/lib/Db/StepMapper.php",
        "line": 51,
        "function": "findEntities",
        "class": "OCP\\AppFramework\\Db\\QBMapper",
        "type": "->",
        "args": [
          [
            "OC\\DB\\QueryBuilder\\QueryBuilder"
          ]
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/DocumentService.php",
        "line": 288,
        "function": "find",
        "class": "OCA\\Text\\Db\\StepMapper",
        "type": "->",
        "args": [
          6,
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/DocumentService.php",
        "line": 231,
        "function": "getSteps",
        "class": "OCA\\Text\\Service\\DocumentService",
        "type": "->",
        "args": [
          6,
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/ApiService.php",
        "line": 206,
        "function": "addStep",
        "class": "OCA\\Text\\Service\\DocumentService",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***",
          "*** sensitive parameters replaced ***",
          "*** sensitive parameters replaced ***",
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Controller/SessionController.php",
        "line": 76,
        "function": "push",
        "class": "OCA\\Text\\Service\\ApiService",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 232,
        "function": "push",
        "class": "OCA\\Text\\Controller\\SessionController",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 138,
        "function": "executeController",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          [
            "OCA\\Text\\Controller\\SessionController"
          ],
          "push"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/App.php",
        "line": 184,
        "function": "dispatch",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          [
            "OCA\\Text\\Controller\\SessionController"
          ],
          "push"
        ]
      },
      {
        "file": "/var/www/html/lib/private/Route/Router.php",
        "line": 315,
        "function": "main",
        "class": "OC\\AppFramework\\App",
        "type": "::",
        "args": [
          "OCA\\Text\\Controller\\SessionController",
          "push",
          [
            "OC\\AppFramework\\DependencyInjection\\DIContainer"
          ],
          [
            "6",
            "text.Session.push"
          ]
        ]
      },
      {
        "file": "/var/www/html/lib/base.php",
        "line": 1059,
        "function": "match",
        "class": "OC\\Route\\Router",
        "type": "->",
        "args": [
          "/apps/text/session/6/push"
        ]
      },
      {
        "file": "/var/www/html/index.php",
        "line": 39,
        "function": "handleRequest",
        "class": "OC",
        "type": "::",
        "args": []
      }
    ],
    "File": "/var/www/html/lib/private/DB/Connection.php",
    "Line": 285,
    "message": "dirty table reads: SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000",
    "tables": [
      "oc_text_sessions",
      "oc_text_steps"
    ],
    "reads": [
      "oc_text_steps"
    ],
    "exception": {},
    "CustomMessage": "dirty table reads: SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000"
  }
}
{
  "reqId": "iQ0qwj4dMBnkclWFIPRQ",
  "level": 0,
  "time": "2024-01-31T07:22:51+00:00",
  "remoteAddr": "192.168.65.1",
  "user": "admin",
  "app": "no app in context",
  "method": "POST",
  "url": "/index.php/apps/text/session/6/push",
  "message": "dirty table reads: SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0",
  "version": "29.0.0.5",
  "exception": {
    "Exception": "Exception",
    "Message": "",
    "Code": 0,
    "Trace": [
      {
        "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
        "line": 341,
        "function": "executeQuery",
        "class": "OC\\DB\\Connection",
        "type": "->",
        "args": [
          "SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000",
          [
            6,
            "*** sensitive parameters replaced ***",
            "*** sensitive parameters replaced ***"
          ],
          [
            2,
            2,
            2
          ],
          null
        ]
      },
      {
        "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
        "line": 377,
        "function": "executeQuery",
        "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php",
        "line": 280,
        "function": "execute",
        "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php",
        "line": 293,
        "function": "execute",
        "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php",
        "line": 335,
        "function": "executeQuery",
        "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/apps/text/lib/Db/StepMapper.php",
        "line": 51,
        "function": "findEntities",
        "class": "OCP\\AppFramework\\Db\\QBMapper",
        "type": "->",
        "args": [
          [
            "OC\\DB\\QueryBuilder\\QueryBuilder"
          ]
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/DocumentService.php",
        "line": 288,
        "function": "find",
        "class": "OCA\\Text\\Db\\StepMapper",
        "type": "->",
        "args": [
          6,
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/DocumentService.php",
        "line": 231,
        "function": "getSteps",
        "class": "OCA\\Text\\Service\\DocumentService",
        "type": "->",
        "args": [
          6,
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/ApiService.php",
        "line": 206,
        "function": "addStep",
        "class": "OCA\\Text\\Service\\DocumentService",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***",
          "*** sensitive parameters replaced ***",
          "*** sensitive parameters replaced ***",
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Controller/SessionController.php",
        "line": 76,
        "function": "push",
        "class": "OCA\\Text\\Service\\ApiService",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 232,
        "function": "push",
        "class": "OCA\\Text\\Controller\\SessionController",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 138,
        "function": "executeController",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          [
            "OCA\\Text\\Controller\\SessionController"
          ],
          "push"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/App.php",
        "line": 184,
        "function": "dispatch",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          [
            "OCA\\Text\\Controller\\SessionController"
          ],
          "push"
        ]
      },
      {
        "file": "/var/www/html/lib/private/Route/Router.php",
        "line": 315,
        "function": "main",
        "class": "OC\\AppFramework\\App",
        "type": "::",
        "args": [
          "OCA\\Text\\Controller\\SessionController",
          "push",
          [
            "OC\\AppFramework\\DependencyInjection\\DIContainer"
          ],
          [
            "6",
            "text.Session.push"
          ]
        ]
      },
      {
        "file": "/var/www/html/lib/base.php",
        "line": 1059,
        "function": "match",
        "class": "OC\\Route\\Router",
        "type": "->",
        "args": [
          "/apps/text/session/6/push"
        ]
      },
      {
        "file": "/var/www/html/index.php",
        "line": 39,
        "function": "handleRequest",
        "class": "OC",
        "type": "::",
        "args": []
      }
    ],
    "File": "/var/www/html/lib/private/DB/Connection.php",
    "Line": 285,
    "message": "dirty table reads: SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000",
    "tables": [
      "oc_text_sessions",
      "oc_text_steps"
    ],
    "reads": [
      "oc_text_steps"
    ],
    "exception": {},
    "CustomMessage": "dirty table reads: SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000"
  }
}

Sync

...
sAbHeqltV8BGOMuXEn5s	 replica  0 SELECT * FROM `oc_text_documents` WHERE `id` = :dcValue1
sAbHeqltV8BGOMuXEn5s	 replica  0 SELECT * FROM `oc_text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000
sAbHeqltV8BGOMuXEn5s	 replica  0 SELECT `id`, `color`, `document_id`, `last_awareness_message`, `last_contact`, `user_id`, `guest_name` FROM `oc_text_sessions` WHERE `document_id` = :dcValue1
sAbHeqltV8BGOMuXEn5s	 replica  0 SELECT `storage`, `path`, `mimetype` FROM `oc_filecache` WHERE `fileid` = :dcValue1
sAbHeqltV8BGOMuXEn5s	 replica  0 SELECT `storage_id`, `root_id`, `user_id`, `mount_point`, `mount_id`, `f`.`path`, `mount_provider_class` FROM `oc_mounts` `m` INNER JOIN `oc_filecache` `f` ON `m`.`root_id` = `f`.`fileid` WHERE (`storage_id` = ?) AND (`user_id` = ?)
sAbHeqltV8BGOMuXEn5s	 replica  0 SELECT `id`, `numeric_id`, `available`, `last_checked` FROM `oc_storages` WHERE `id` = :dcValue1
sAbHeqltV8BGOMuXEn5s	 replica  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
sAbHeqltV8BGOMuXEn5s	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`fileid` = :dcValue1
{
  "reqId": "OAKatiu7A2595Iw8pMUK",
  "level": 0,
  "time": "2024-01-31T07:22:32+00:00",
  "remoteAddr": "192.168.65.1",
  "user": "admin",
  "app": "no app in context",
  "method": "POST",
  "url": "/index.php/apps/text/session/6/push",
  "message": "dirty table reads: SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0",
  "version": "29.0.0.5",
  "exception": {
    "Exception": "Exception",
    "Message": "",
    "Code": 0,
    "Trace": [
      {
        "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
        "line": 341,
        "function": "executeQuery",
        "class": "OC\\DB\\Connection",
        "type": "->",
        "args": [
          "SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000",
          [
            6,
            "*** sensitive parameters replaced ***",
            "*** sensitive parameters replaced ***"
          ],
          [
            2,
            2,
            2
          ],
          null
        ]
      },
      {
        "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
        "line": 377,
        "function": "executeQuery",
        "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php",
        "line": 280,
        "function": "execute",
        "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php",
        "line": 293,
        "function": "execute",
        "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php",
        "line": 335,
        "function": "executeQuery",
        "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/apps/text/lib/Db/StepMapper.php",
        "line": 51,
        "function": "findEntities",
        "class": "OCP\\AppFramework\\Db\\QBMapper",
        "type": "->",
        "args": [
          [
            "OC\\DB\\QueryBuilder\\QueryBuilder"
          ]
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/DocumentService.php",
        "line": 288,
        "function": "find",
        "class": "OCA\\Text\\Db\\StepMapper",
        "type": "->",
        "args": [
          6,
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/DocumentService.php",
        "line": 231,
        "function": "getSteps",
        "class": "OCA\\Text\\Service\\DocumentService",
        "type": "->",
        "args": [
          6,
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/ApiService.php",
        "line": 206,
        "function": "addStep",
        "class": "OCA\\Text\\Service\\DocumentService",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***",
          "*** sensitive parameters replaced ***",
          "*** sensitive parameters replaced ***",
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Controller/SessionController.php",
        "line": 76,
        "function": "push",
        "class": "OCA\\Text\\Service\\ApiService",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 232,
        "function": "push",
        "class": "OCA\\Text\\Controller\\SessionController",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 138,
        "function": "executeController",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          [
            "OCA\\Text\\Controller\\SessionController"
          ],
          "push"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/App.php",
        "line": 184,
        "function": "dispatch",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          [
            "OCA\\Text\\Controller\\SessionController"
          ],
          "push"
        ]
      },
      {
        "file": "/var/www/html/lib/private/Route/Router.php",
        "line": 315,
        "function": "main",
        "class": "OC\\AppFramework\\App",
        "type": "::",
        "args": [
          "OCA\\Text\\Controller\\SessionController",
          "push",
          [
            "OC\\AppFramework\\DependencyInjection\\DIContainer"
          ],
          [
            "6",
            "text.Session.push"
          ]
        ]
      },
      {
        "file": "/var/www/html/lib/base.php",
        "line": 1059,
        "function": "match",
        "class": "OC\\Route\\Router",
        "type": "->",
        "args": [
          "/apps/text/session/6/push"
        ]
      },
      {
        "file": "/var/www/html/index.php",
        "line": 39,
        "function": "handleRequest",
        "class": "OC",
        "type": "::",
        "args": []
      }
    ],
    "File": "/var/www/html/lib/private/DB/Connection.php",
    "Line": 285,
    "message": "dirty table reads: SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000",
    "tables": [
      "oc_text_sessions",
      "oc_text_steps"
    ],
    "reads": [
      "oc_text_steps"
    ],
    "exception": {},
    "CustomMessage": "dirty table reads: SELECT * FROM `*PREFIX*text_steps` WHERE (`document_id` = :dcValue1) AND (`version` > :dcValue2) AND (`id` > :dcValue3) ORDER BY `id` ASC LIMIT 1000"
  }
}

Save

...
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT * FROM `oc_text_documents` WHERE `id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `storage`, `path`, `mimetype` FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `storage_id`, `root_id`, `user_id`, `mount_point`, `mount_id`, `f`.`path`, `mount_provider_class` FROM `oc_mounts` `m` INNER JOIN `oc_filecache` `f` ON `m`.`root_id` = `f`.`fileid` WHERE (`storage_id` = ?) AND (`user_id` = ?)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `id`, `numeric_id`, `available`, `last_checked` FROM `oc_storages` WHERE `id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `id`, `mimetype` FROM `oc_mimetypes`
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `id` FROM `oc_text_steps` WHERE `document_id` = :dcValue1 ORDER BY `id` DESC LIMIT 1
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `storage_id`, `root_id`, `user_id`, `mount_point`, `mount_id`, `f`.`path`, `mount_provider_class` FROM `oc_mounts` `m` INNER JOIN `oc_filecache` `f` ON `m`.`root_id` = `f`.`fileid` WHERE `user_id` = ?
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `remote`, `share_token`, `password`, `mountpoint`, `owner` FROM `oc_share_external` WHERE (`user` = :dcValue1) AND (`accepted` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `s`.*, `f`.`fileid`, `f`.`path`, `f`.`permissions` as `f_permissions`, `f`.`storage`, `f`.`path_hash`, `f`.`parent` as `f_parent`, `f`.`name`, `f`.`mimetype`, `f`.`mimepart`, `f`.`size`, `f`.`mtime`, `f`.`storage_mtime`, `f`.`encrypted`, `f`.`unencrypted_size`, `f`.`etag`, `f`.`checksum`, `st`.`id` AS `storage_string_id` FROM `oc_share` `s` LEFT JOIN `oc_filecache` `f` ON `s`.`file_source` = `f`.`fileid` LEFT JOIN `oc_storages` `st` ON `f`.`storage` = `st`.`numeric_id` WHERE (`share_type` = :dcValue1) AND (`share_with` = :dcValue2) AND ((`item_type` = :dcValue3) OR (`item_type` = :dcValue4)) ORDER BY `s`.`id` ASC
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `s`.*, `f`.`fileid`, `f`.`path`, `f`.`permissions` as `f_permissions`, `f`.`storage`, `f`.`path_hash`, `f`.`parent` as `f_parent`, `f`.`name`, `f`.`mimetype`, `f`.`mimepart`, `f`.`size`, `f`.`mtime`, `f`.`storage_mtime`, `f`.`encrypted`, `f`.`unencrypted_size`, `f`.`etag`, `f`.`checksum`, `st`.`id` AS `storage_string_id` FROM `oc_share` `s` LEFT JOIN `oc_filecache` `f` ON `s`.`file_source` = `f`.`fileid` LEFT JOIN `oc_storages` `st` ON `f`.`storage` = `st`.`numeric_id` WHERE (`share_type` = :dcValue1) AND (`share_with` IN (:dcValue2)) AND ((`item_type` = :dcValue3) OR (`item_type` = :dcValue4)) ORDER BY `s`.`id` ASC
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT DISTINCT `b`.`id` FROM `oc_deck_boards` `b` WHERE `owner` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT DISTINCT `b`.`id` FROM `oc_deck_boards` `b` INNER JOIN `oc_deck_board_acl` `acl` ON `b`.`id` = `acl`.`board_id` WHERE ((`acl`.`type` = :dcValue1) AND (`acl`.`participant` = :dcValue2)) OR ((`acl`.`type` = :dcValue3) AND (`acl`.`participant` IN (:dcValue4))) OR ((`acl`.`type` = :dcValue5) AND (`acl`.`participant` IN (:dcValue6)))
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `s`.*, `f`.`fileid`, `f`.`path`, `f`.`permissions` as `f_permissions`, `f`.`storage`, `f`.`path_hash`, `f`.`parent` as `f_parent`, `f`.`name`, `f`.`mimetype`, `f`.`mimepart`, `f`.`size`, `f`.`mtime`, `f`.`storage_mtime`, `f`.`encrypted`, `f`.`unencrypted_size`, `f`.`etag`, `f`.`checksum`, `st`.`id` AS `storage_string_id` FROM `oc_share` `s` LEFT JOIN `oc_filecache` `f` ON `s`.`file_source` = `f`.`fileid` LEFT JOIN `oc_deck_cards` `dc` ON CAST(`dc`.`id` AS CHAR) = `s`.`share_with` LEFT JOIN `oc_storages` `st` ON `f`.`storage` = `st`.`numeric_id` LEFT JOIN `oc_deck_stacks` `ds` ON `dc`.`stack_id` = `ds`.`id` LEFT JOIN `oc_deck_boards` `db` ON `ds`.`board_id` = `db`.`id` WHERE (`s`.`share_type` = :dcValue1) AND (`db`.`id` IN (:dcValue2)) AND ((`s`.`item_type` = :dcValue3) OR (`s`.`item_type` = :dcValue4)) ORDER BY `s`.`id` ASC
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 replica  0 SELECT `id` FROM `oc_jobs` WHERE (`class` = :dcValue1) AND (`argument_hash` = :dcValue2) LIMIT 1
LOQHvQUoKJKWKJex4eKx	 replica  0 UPDATE `oc_jobs` SET `reserved_at` = '0', `last_checked` = :dcValue1, `last_run` = :dcValue2 WHERE (`class` = :dcValue3) AND (`argument_hash` = :dcValue4)
LOQHvQUoKJKWKJex4eKx	 primary  0 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
LOQHvQUoKJKWKJex4eKx	 primary  0 SET SESSION AUTOCOMMIT=1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 INSERT INTO `oc_filecache` (`size`, `mtime`, `storage_mtime`, `mimepart`, `mimetype`, `etag`, `permissions`, `encrypted`, `path_hash`, `path`, `parent`, `name`, `storage`) VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5, :dcValue6, :dcValue7, :dcValue8, :dcValue9, :dcValue10, :dcValue11, :dcValue12, :dcValue13)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `size` = :dcValue3 WHERE (`fileid` = :dcValue1) AND ((`size` <> :dcValue2) OR (`size` IS NULL))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `size` = :dcValue4, `unencrypted_size` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`size` <> :dcValue2) OR (`size` IS NULL)) OR ((`unencrypted_size` <> :dcValue3) OR (`unencrypted_size` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `mtime` = :dcValue4, `storage_mtime` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`mtime` <> :dcValue2) OR (`mtime` IS NULL)) OR ((`storage_mtime` <> :dcValue3) OR (`storage_mtime` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `mtime` = GREATEST(`mtime`, :dcValue1), `etag` = :dcValue3 WHERE (`storage` = :dcValue2) AND (`path_hash` IN ('d41d8cd98f00b204e9800998ecf8427e', '9692aae50022f45f1098646939b287b1'))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `storage` = :dcValue17, `path_hash` = :dcValue18, `path` = :dcValue19, `parent` = :dcValue20, `name` = :dcValue21, `mimepart` = :dcValue22, `mimetype` = :dcValue23, `size` = :dcValue24, `mtime` = :dcValue25, `storage_mtime` = :dcValue26, `encrypted` = :dcValue27, `etag` = :dcValue28, `permissions` = :dcValue29, `checksum` = :dcValue30, `unencrypted_size` = :dcValue31 WHERE (`fileid` = :dcValue1) AND (((`storage` <> :dcValue2) OR (`storage` IS NULL)) OR ((`path_hash` <> :dcValue3) OR (`path_hash` IS NULL)) OR ((`path` <> :dcValue4) OR (`path` IS NULL)) OR ((`parent` <> :dcValue5) OR (`parent` IS NULL)) OR ((`name` <> :dcValue6) OR (`name` IS NULL)) OR ((`mimepart` <> :dcValue7) OR (`mimepart` IS NULL)) OR ((`mimetype` <> :dcValue8) OR (`mimetype` IS NULL)) OR ((`size` <> :dcValue9) OR (`size` IS NULL)) OR ((`mtime` <> :dcValue10) OR (`mtime` IS NULL)) OR ((`storage_mtime` <> :dcValue11) OR (`storage_mtime` IS NULL)) OR ((`encrypted` <> :dcValue12) OR (`encrypted` IS NULL)) OR ((`etag` <> :dcValue13) OR (`etag` IS NULL)) OR ((`permissions` <> :dcValue14) OR (`permissions` IS NULL)) OR ((`checksum` <> :dcValue15) OR (`checksum` IS NULL)) OR ((`unencrypted_size` <> :dcValue16) OR (`unencrypted_size` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `size` = :dcValue4, `unencrypted_size` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`size` <> :dcValue2) OR (`size` IS NULL)) OR ((`unencrypted_size` <> :dcValue3) OR (`unencrypted_size` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `size` = :dcValue4, `unencrypted_size` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`size` <> :dcValue2) OR (`size` IS NULL)) OR ((`unencrypted_size` <> :dcValue3) OR (`unencrypted_size` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `mtime` = :dcValue4, `storage_mtime` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`mtime` <> :dcValue2) OR (`mtime` IS NULL)) OR ((`storage_mtime` <> :dcValue3) OR (`storage_mtime` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `mtime` = GREATEST(`mtime`, :dcValue1), `etag` = :dcValue3 WHERE (`storage` = :dcValue2) AND (`path_hash` IN ('d41d8cd98f00b204e9800998ecf8427e', '45b963397aa40d4a0063e0d85e4fe7a1'))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `id`, `parent`, `share_type`, `share_with`, `file_source`, `file_target`, `permissions` FROM `oc_share` WHERE ((`share_type` = :dcValue1) OR (`share_type` = :dcValue2) OR (`share_type` = :dcValue3) OR (`share_type` = :dcValue4)) AND (`file_source` IN (:dcValue5)) AND ((`item_type` = :dcValue6) OR (`item_type` = :dcValue7))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `share_with`, `token`, `file_source` FROM `oc_share` WHERE (`share_type` = :dcValue1) AND (`file_source` IN (:dcValue2)) AND ((`item_type` = :dcValue3) OR (`item_type` = :dcValue4))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `share_with` FROM `oc_share` WHERE (`share_type` = :dcValue1) AND (`file_source` IN (:dcValue2)) AND ((`item_type` = :dcValue3) OR (`item_type` = :dcValue4)) LIMIT 1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `id`, `parent`, `share_type`, `share_with`, `file_source`, `file_target`, `permissions` FROM `oc_share` WHERE (`share_type` IN (:dcValue1)) AND (`file_source` IN (:dcValue2)) AND ((`item_type` = :dcValue3) OR (`item_type` = :dcValue4))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `userid`, `configvalue` FROM `oc_preferences` WHERE (`appid` = :appName) AND (`configkey` = :configKey) AND (`userid` IN (:userIds))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `userid`, `configvalue` FROM `oc_preferences` WHERE (`appid` = :appName) AND (`configkey` = :configKey) AND (`userid` IN (:userIds))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `uid` FROM `oc_vcategory_to_object` `o` INNER JOIN `oc_vcategory` `c` ON `o`.`categoryid` = `c`.`id` WHERE (`objid` = :dcValue1) AND (`c`.`type` = :dcValue2) AND (`c`.`category` = :dcValue3)
LOQHvQUoKJKWKJex4eKx	 primary  0 INSERT INTO `oc_activity` (`app`, `subject`, `subjectparams`, `message`, `messageparams`, `file`, `link`, `user`, `affecteduser`, `timestamp`, `priority`, `type`, `object_type`, `object_id`) VALUES(:app, :subject, :subjectparams, :message, :messageparams, :object_name, :link, :user, :affecteduser, :timestamp, :priority, :type, :object_type, :object_id)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `id`, `numeric_id`, `available`, `last_checked` FROM `oc_storages` WHERE `id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `parent` IN (:parentIds)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `parent` IN (:parentIds)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `parent` IN (:parentIds)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `parent` IN (:parentIds)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `parent` IN (:parentIds)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `parent` IN (:parentIds)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `parent` IN (:parentIds)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache_extended` WHERE `fileid` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE `filecache`.`parent` = :dcValue1 ORDER BY `name` ASC
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_filecache` WHERE `parent` IN (:parentIds)
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 DELETE FROM `oc_files_metadata_index` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `mtime` = :dcValue4, `storage_mtime` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`mtime` <> :dcValue2) OR (`mtime` IS NULL)) OR ((`storage_mtime` <> :dcValue3) OR (`storage_mtime` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `json`, `sync_token` FROM `oc_files_metadata` WHERE `file_id` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `id` FROM `oc_jobs` WHERE (`class` = :dcValue1) AND (`argument_hash` = :dcValue2) LIMIT 1
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_jobs` SET `reserved_at` = '0', `last_checked` = :dcValue1, `last_run` = :dcValue2 WHERE (`class` = :dcValue3) AND (`argument_hash` = :dcValue4)
LOQHvQUoKJKWKJex4eKx	 primary  0 INSERT INTO `oc_files_versions` (`file_id`, `timestamp`, `size`, `mimetype`, `metadata`) VALUES(:dcValue1, :dcValue2, :dcValue3, :dcValue4, :dcValue5)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `mtime` = :dcValue4, `storage_mtime` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`mtime` <> :dcValue2) OR (`mtime` IS NULL)) OR ((`storage_mtime` <> :dcValue3) OR (`storage_mtime` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `storage` = :dcValue17, `path_hash` = :dcValue18, `path` = :dcValue19, `parent` = :dcValue20, `name` = :dcValue21, `mimepart` = :dcValue22, `mimetype` = :dcValue23, `size` = :dcValue24, `mtime` = :dcValue25, `storage_mtime` = :dcValue26, `encrypted` = :dcValue27, `etag` = :dcValue28, `permissions` = :dcValue29, `checksum` = :dcValue30, `unencrypted_size` = :dcValue31 WHERE (`fileid` = :dcValue1) AND (((`storage` <> :dcValue2) OR (`storage` IS NULL)) OR ((`path_hash` <> :dcValue3) OR (`path_hash` IS NULL)) OR ((`path` <> :dcValue4) OR (`path` IS NULL)) OR ((`parent` <> :dcValue5) OR (`parent` IS NULL)) OR ((`name` <> :dcValue6) OR (`name` IS NULL)) OR ((`mimepart` <> :dcValue7) OR (`mimepart` IS NULL)) OR ((`mimetype` <> :dcValue8) OR (`mimetype` IS NULL)) OR ((`size` <> :dcValue9) OR (`size` IS NULL)) OR ((`mtime` <> :dcValue10) OR (`mtime` IS NULL)) OR ((`storage_mtime` <> :dcValue11) OR (`storage_mtime` IS NULL)) OR ((`encrypted` <> :dcValue12) OR (`encrypted` IS NULL)) OR ((`etag` <> :dcValue13) OR (`etag` IS NULL)) OR ((`permissions` <> :dcValue14) OR (`permissions` IS NULL)) OR ((`checksum` <> :dcValue15) OR (`checksum` IS NULL)) OR ((`unencrypted_size` <> :dcValue16) OR (`unencrypted_size` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `size` = :dcValue4, `unencrypted_size` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`size` <> :dcValue2) OR (`size` IS NULL)) OR ((`unencrypted_size` <> :dcValue3) OR (`unencrypted_size` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `size` = :dcValue4, `unencrypted_size` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`size` <> :dcValue2) OR (`size` IS NULL)) OR ((`unencrypted_size` <> :dcValue3) OR (`unencrypted_size` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `size` = :dcValue4, `unencrypted_size` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`size` <> :dcValue2) OR (`size` IS NULL)) OR ((`unencrypted_size` <> :dcValue3) OR (`unencrypted_size` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `size`, `unencrypted_size` FROM `oc_filecache` WHERE `parent` = :dcValue1
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `size` = :dcValue4, `unencrypted_size` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`size` <> :dcValue2) OR (`size` IS NULL)) OR ((`unencrypted_size` <> :dcValue3) OR (`unencrypted_size` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `fileid` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_filecache` SET `mtime` = :dcValue4, `storage_mtime` = :dcValue5 WHERE (`fileid` = :dcValue1) AND (((`mtime` <> :dcValue2) OR (`mtime` IS NULL)) OR ((`storage_mtime` <> :dcValue3) OR (`storage_mtime` IS NULL)))
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `path` FROM `oc_filecache` WHERE (`storage` = :dcValue1) AND (`fileid` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 SELECT `filecache`.`fileid`, `storage`, `path`, `path_hash`, `filecache`.`parent`, `filecache`.`name`, `mimetype`, `mimepart`, `size`, `mtime`, `storage_mtime`, `encrypted`, `etag`, `filecache`.`permissions`, `checksum`, `unencrypted_size`, `metadata_etag`, `creation_time`, `upload_time`, `meta`.`json` AS `meta_json`, `meta`.`sync_token` AS `meta_sync_token` FROM `oc_filecache` `filecache` LEFT JOIN `oc_filecache_extended` `fe` ON `filecache`.`fileid` = `fe`.`fileid` LEFT JOIN `oc_files_metadata` `meta` ON `filecache`.`fileid` = `meta`.`file_id` WHERE (`storage` = :dcValue1) AND (`path_hash` = :dcValue2)
LOQHvQUoKJKWKJex4eKx	 primary  0 UPDATE `oc_text_documents` SET `last_saved_version` = :dcValue1, `last_saved_version_time` = :dcValue2, `last_saved_version_etag` = :dcValue3 WHERE `id` = :dcValue4

Close

...
c8oCVjQ5aFtbzG600rkv	 primary  0 SELECT * FROM `oc_text_sessions` WHERE (`document_id` = :dcValue1) AND (`id` = :dcValue2) AND (`token` = :dcValue3)
c8oCVjQ5aFtbzG600rkv	 primary  0 DELETE FROM `oc_text_sessions` WHERE `id` = :dcValue1
c8oCVjQ5aFtbzG600rkv	 primary  0 SELECT `s`.`id` FROM `oc_text_sessions` `s` LEFT JOIN `oc_text_steps` `st` ON `st`.`session_id` = `s`.`id` WHERE (`last_contact` < :dcValue1) AND (`st`.`id` IS NULL) AND (`s`.`document_id` = :dcValue2)
c8oCVjQ5aFtbzG600rkv	 primary  0 SELECT `id`, `color`, `document_id`, `last_awareness_message`, `last_contact`, `user_id`, `guest_name` FROM `oc_text_sessions` WHERE (`document_id` = :dcValue1) AND (`last_contact` > :dcValue2)
{
  "reqId": "so6zMgBZWG7MywEpDlaQ",
  "level": 0,
  "time": "2024-01-31T07:23:32+00:00",
  "remoteAddr": "192.168.65.1",
  "user": "admin",
  "app": "no app in context",
  "method": "POST",
  "url": "/index.php/apps/text/session/6/close",
  "message": "dirty table reads: SELECT `s`.`id` FROM `*PREFIX*text_sessions` `s` LEFT JOIN `*PREFIX*text_steps` `st` ON `st`.`session_id` = `s`.`id` WHERE (`last_contact` < :dcValue1) AND (`st`.`id` IS NULL) AND (`s`.`document_id` = :dcValue2)",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0",
  "version": "29.0.0.5",
  "exception": {
    "Exception": "Exception",
    "Message": "",
    "Code": 0,
    "Trace": [
      {
        "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
        "line": 341,
        "function": "executeQuery",
        "class": "OC\\DB\\Connection",
        "type": "->",
        "args": [
          "SELECT `s`.`id` FROM `*PREFIX*text_sessions` `s` LEFT JOIN `*PREFIX*text_steps` `st` ON `st`.`session_id` = `s`.`id` WHERE (`last_contact` < :dcValue1) AND (`st`.`id` IS NULL) AND (`s`.`document_id` = :dcValue2)",
          [
            1706685512,
            "*** sensitive parameters replaced ***"
          ],
          [
            2,
            2
          ],
          null
        ]
      },
      {
        "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
        "line": 377,
        "function": "executeQuery",
        "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php",
        "line": 280,
        "function": "execute",
        "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php",
        "line": 293,
        "function": "execute",
        "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/apps/text/lib/Db/SessionMapper.php",
        "line": 129,
        "function": "executeQuery",
        "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/SessionService.php",
        "line": 152,
        "function": "deleteInactiveWithoutSteps",
        "class": "OCA\\Text\\Db\\SessionMapper",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/ApiService.php",
        "line": 177,
        "function": "removeInactiveSessionsWithoutSteps",
        "class": "OCA\\Text\\Service\\SessionService",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Controller/SessionController.php",
        "line": 67,
        "function": "close",
        "class": "OCA\\Text\\Service\\ApiService",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 232,
        "function": "close",
        "class": "OCA\\Text\\Controller\\SessionController",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 138,
        "function": "executeController",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          [
            "OCA\\Text\\Controller\\SessionController"
          ],
          "close"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/App.php",
        "line": 184,
        "function": "dispatch",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          [
            "OCA\\Text\\Controller\\SessionController"
          ],
          "close"
        ]
      },
      {
        "file": "/var/www/html/lib/private/Route/Router.php",
        "line": 315,
        "function": "main",
        "class": "OC\\AppFramework\\App",
        "type": "::",
        "args": [
          "OCA\\Text\\Controller\\SessionController",
          "close",
          [
            "OC\\AppFramework\\DependencyInjection\\DIContainer"
          ],
          [
            "6",
            "text.Session.close"
          ]
        ]
      },
      {
        "file": "/var/www/html/lib/base.php",
        "line": 1059,
        "function": "match",
        "class": "OC\\Route\\Router",
        "type": "->",
        "args": [
          "/apps/text/session/6/close"
        ]
      },
      {
        "file": "/var/www/html/index.php",
        "line": 39,
        "function": "handleRequest",
        "class": "OC",
        "type": "::",
        "args": []
      }
    ],
    "File": "/var/www/html/lib/private/DB/Connection.php",
    "Line": 285,
    "message": "dirty table reads: SELECT `s`.`id` FROM `*PREFIX*text_sessions` `s` LEFT JOIN `*PREFIX*text_steps` `st` ON `st`.`session_id` = `s`.`id` WHERE (`last_contact` < :dcValue1) AND (`st`.`id` IS NULL) AND (`s`.`document_id` = :dcValue2)",
    "tables": [
      "oc_authtoken",
      "oc_text_sessions"
    ],
    "reads": [
      "oc_text_sessions",
      "oc_text_steps"
    ],
    "exception": {},
    "CustomMessage": "dirty table reads: SELECT `s`.`id` FROM `*PREFIX*text_sessions` `s` LEFT JOIN `*PREFIX*text_steps` `st` ON `st`.`session_id` = `s`.`id` WHERE (`last_contact` < :dcValue1) AND (`st`.`id` IS NULL) AND (`s`.`document_id` = :dcValue2)"
  }
}
{
  "reqId": "so6zMgBZWG7MywEpDlaQ",
  "level": 0,
  "time": "2024-01-31T07:23:32+00:00",
  "remoteAddr": "192.168.65.1",
  "user": "admin",
  "app": "no app in context",
  "method": "POST",
  "url": "/index.php/apps/text/session/6/close",
  "message": "dirty table reads: SELECT `id`, `color`, `document_id`, `last_awareness_message`, `last_contact`, `user_id`, `guest_name` FROM `*PREFIX*text_sessions` WHERE (`document_id` = :dcValue1) AND (`last_contact` > :dcValue2)",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0",
  "version": "29.0.0.5",
  "exception": {
    "Exception": "Exception",
    "Message": "",
    "Code": 0,
    "Trace": [
      {
        "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
        "line": 341,
        "function": "executeQuery",
        "class": "OC\\DB\\Connection",
        "type": "->",
        "args": [
          "SELECT `id`, `color`, `document_id`, `last_awareness_message`, `last_contact`, `user_id`, `guest_name` FROM `*PREFIX*text_sessions` WHERE (`document_id` = :dcValue1) AND (`last_contact` > :dcValue2)",
          [
            "*** sensitive parameters replaced ***",
            1706685512
          ],
          [
            2,
            2
          ],
          null
        ]
      },
      {
        "file": "/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php",
        "line": 377,
        "function": "executeQuery",
        "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php",
        "line": 280,
        "function": "execute",
        "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php",
        "line": 293,
        "function": "execute",
        "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/lib/public/AppFramework/Db/QBMapper.php",
        "line": 335,
        "function": "executeQuery",
        "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/apps/text/lib/Db/SessionMapper.php",
        "line": 100,
        "function": "findEntities",
        "class": "OCP\\AppFramework\\Db\\QBMapper",
        "type": "->",
        "args": [
          [
            "OC\\DB\\QueryBuilder\\QueryBuilder"
          ]
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/SessionService.php",
        "line": 127,
        "function": "findAllActive",
        "class": "OCA\\Text\\Db\\SessionMapper",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Service/ApiService.php",
        "line": 178,
        "function": "getActiveSessions",
        "class": "OCA\\Text\\Service\\SessionService",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/apps/text/lib/Controller/SessionController.php",
        "line": 67,
        "function": "close",
        "class": "OCA\\Text\\Service\\ApiService",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 232,
        "function": "close",
        "class": "OCA\\Text\\Controller\\SessionController",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 138,
        "function": "executeController",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          [
            "OCA\\Text\\Controller\\SessionController"
          ],
          "close"
        ]
      },
      {
        "file": "/var/www/html/lib/private/AppFramework/App.php",
        "line": 184,
        "function": "dispatch",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->",
        "args": [
          [
            "OCA\\Text\\Controller\\SessionController"
          ],
          "close"
        ]
      },
      {
        "file": "/var/www/html/lib/private/Route/Router.php",
        "line": 315,
        "function": "main",
        "class": "OC\\AppFramework\\App",
        "type": "::",
        "args": [
          "OCA\\Text\\Controller\\SessionController",
          "close",
          [
            "OC\\AppFramework\\DependencyInjection\\DIContainer"
          ],
          [
            "6",
            "text.Session.close"
          ]
        ]
      },
      {
        "file": "/var/www/html/lib/base.php",
        "line": 1059,
        "function": "match",
        "class": "OC\\Route\\Router",
        "type": "->",
        "args": [
          "/apps/text/session/6/close"
        ]
      },
      {
        "file": "/var/www/html/index.php",
        "line": 39,
        "function": "handleRequest",
        "class": "OC",
        "type": "::",
        "args": []
      }
    ],
    "File": "/var/www/html/lib/private/DB/Connection.php",
    "Line": 285,
    "message": "dirty table reads: SELECT `id`, `color`, `document_id`, `last_awareness_message`, `last_contact`, `user_id`, `guest_name` FROM `*PREFIX*text_sessions` WHERE (`document_id` = :dcValue1) AND (`last_contact` > :dcValue2)",
    "tables": [
      "oc_authtoken",
      "oc_text_sessions"
    ],
    "reads": [
      "oc_text_sessions"
    ],
    "exception": {},
    "CustomMessage": "dirty table reads: SELECT `id`, `color`, `document_id`, `last_awareness_message`, `last_contact`, `user_id`, `guest_name` FROM `*PREFIX*text_sessions` WHERE (`document_id` = :dcValue1) AND (`last_contact` > :dcValue2)"
  }
}

juliusknorr avatar Jan 31 '24 07:01 juliusknorr

@juliushaertl should we close this for now, given that we did quite a bit of refactoring of create/sync/push? Or would you like to keep it open?

mejo- avatar Mar 20 '24 17:03 mejo-

Let's keep it open, still worth to check again after all the changing bits are merged

juliusknorr avatar Mar 20 '24 17:03 juliusknorr

@hweihwang I think this could be a good starter to dive a bit into the sync backend endpoint of the text app in preparation for future work. The main goal is to avoid read after write on the same rows.

We did some rework of the backend since the issue was filed, so it would be good to generate some logs to check again on opening, editing a text document, saving and closing it. The logging that was added in https://github.com/nextcloud/server/pull/42345 to the server can help there but is probably only a first hint. It would still be needed to check the affected queries in detail to see if the rows read are actually problematic, as the log does only track dirty writes depending on the table, not the actual rows writen or read.

juliusknorr avatar May 02 '24 21:05 juliusknorr

  • [x] Analyze the logs and identify affected code paths
    • [x] create
    • [x] sync
    • [x] push
      • one read after write but it is also fetching previous steps that are not synced yet. Also if we miss the just written step that is not an issue here, because the next sync request will catch up anyways. Saving the query would only lead to the sync picking it up later.
    • [x] save
      • [x] check duplicate SELECT * FROM oc_text_documentsWHEREid = :dcValue1
    • [x] close
  • [x] Think about potential optimizations
  • [x] Discuss the next steps together in a call

juliusknorr avatar May 03 '24 07:05 juliusknorr

On /save endpoint: In SessionMiddleware and beforeController hook:

  • The getDocument($documentId) method is called in both assertDocumentSession() and assertDocumentBaseVersionEtag(), resulting in two separate database SELECT queries. (assertUserOrShareToken() contains the call to getDocument() too) => Consider refactoring to retrieve those common (documentId, document, sessionId, session, ...) once before doing other logic to reduce duplicate code and queries.

  • In the beforeController method, if the first if condition is true, assertDocumentSession($controller) could potentially be invoked twice, leading to unnecessary operations. => Review the if conditions to ensure if they are mutually exclusive to do the early return to prevent other checks, otherwise refactor the code to prevent double invocation of assertDocumentSession($controller).

@juliushaertl

hweihwang avatar May 06 '24 11:05 hweihwang

Here are some of my initial thoughts about potential optimizations to decrease database workloads and improve performance:

  • Minimize the number of API calls to the /push endpoint from the front-end.
    • Consider increasing the debounce time.
    • Could be applied to other endpoints as well.
  • Consider storing the entire session data (or even more) in memory or in a read/write-optimized storage system (like a key-value or document store). This could reduce the load on the main database and improve performance. Later, the data can be saved back to the main database in batch inserts, which may only require a few queries.

@juliushaertl

hweihwang avatar May 06 '24 12:05 hweihwang

Here are some of my initial thoughts about potential optimizations to decrease database workloads and improve performance:

* Minimize the number of API calls to the /push endpoint from the front-end.
  
  * Consider increasing the debounce time.
  * Could be applied to other endpoints as well.

Could you file separate issues about those, so we can discuss this with Max? I'd also agree with that the debounce on writing could certainly be decreased a bit. Though we want to not lower it too much to still have a almost instant sync.

* Consider storing the entire session data (or even more) in memory or in a read/write-optimized storage system (like a key-value or document store). This could reduce the load on the main database and improve performance. Later, the data can be saved back to the main database in batch inserts, which may only require a few queries.

Regarding what system we can use we are somewhat limited to what we integrate with Nextcloud server already as having another component as an additional dependency is out of scope (like a document store). As mentioned in the call, I have some mixed feelings about this. On the one hand this could certainly help to reduce the db load, however the queries itself are rather fast and we'd need to think carefully how we could store the often updating data within available redis structures. We would also always need the database as a fallback for small systems that run without it. Maybe we can also file a separate issue about that to collect what we could potentially store in cache (in addition to the db) for faster reads. (Apart from the synced steps I could also imagine storing the saved ydoc itself which could speed up file openings then and avoid a file read from disk).

juliusknorr avatar May 07 '24 06:05 juliusknorr

On /save endpoint: In SessionMiddleware and beforeController hook:

* The getDocument($documentId) method is called in both assertDocumentSession() and assertDocumentBaseVersionEtag(), resulting in two separate database SELECT queries.
  (assertUserOrShareToken() contains the call to getDocument() too)
  => Consider refactoring to retrieve those common (documentId, document, sessionId, session, ...) once before doing other logic to reduce duplicate code and queries.

* In the beforeController method, if the first if condition is true, assertDocumentSession($controller) could potentially be invoked twice, leading to unnecessary operations.
  => Review the if conditions to ensure if they are mutually exclusive to do the early return to prevent other checks, otherwise refactor the code to prevent double invocation of assertDocumentSession($controller).

Right, this sounds like whenever a controller has two checks as PHP attributes we would run into this. Maybe we just store the requested document in the middleware and reuse it then to not query twice. We may also just check if the controller already has a document set and use that instead of querying the db again.

juliusknorr avatar May 07 '24 06:05 juliusknorr

This "dirty table reads:" are filling my logs extremly in 29.0.4.1... Every second 40-50 entries. How can I stop this logging before the disk is full?

alexhass avatar Aug 14 '24 21:08 alexhass

Hello, i noticed it to, dose it have something to do with not being able to download apps? Error: Exception dirty table reads: SELECT * FROM *PREFIX*jobs WHERE (reserved_at <= :dcValue1) AND (last_checked <= :dcValue2) AND (time_sensitive = :dcValue3) ORDER BY last_checked ASC LIMIT 1 Error 2: Exception dirty table reads: SELECT name FROM *PREFIX*authtoken WHERE (uid = :dcValue1) AND (last_activity >= :dcValue2)

MrFlathill avatar Aug 16 '24 14:08 MrFlathill

Turn off debug logging, this is mostly relevant for developers or if you are currently debugging an issue

juliusknorr avatar Aug 16 '24 16:08 juliusknorr