db.go 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448
  1. // Code generated by sqlc. DO NOT EDIT.
  2. // versions:
  3. // sqlc v1.30.0
  4. package db
  5. import (
  6. "context"
  7. "database/sql"
  8. "fmt"
  9. )
  10. type DBTX interface {
  11. ExecContext(context.Context, string, ...any) (sql.Result, error)
  12. PrepareContext(context.Context, string) (*sql.Stmt, error)
  13. QueryContext(context.Context, string, ...any) (*sql.Rows, error)
  14. QueryRowContext(context.Context, string, ...any) *sql.Row
  15. }
  16. func New(db DBTX) *Queries {
  17. return &Queries{db: db}
  18. }
  19. func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
  20. q := Queries{db: db}
  21. var err error
  22. if q.createFileStmt, err = db.PrepareContext(ctx, createFile); err != nil {
  23. return nil, fmt.Errorf("error preparing query CreateFile: %w", err)
  24. }
  25. if q.createMessageStmt, err = db.PrepareContext(ctx, createMessage); err != nil {
  26. return nil, fmt.Errorf("error preparing query CreateMessage: %w", err)
  27. }
  28. if q.createSessionStmt, err = db.PrepareContext(ctx, createSession); err != nil {
  29. return nil, fmt.Errorf("error preparing query CreateSession: %w", err)
  30. }
  31. if q.deleteFileStmt, err = db.PrepareContext(ctx, deleteFile); err != nil {
  32. return nil, fmt.Errorf("error preparing query DeleteFile: %w", err)
  33. }
  34. if q.deleteMessageStmt, err = db.PrepareContext(ctx, deleteMessage); err != nil {
  35. return nil, fmt.Errorf("error preparing query DeleteMessage: %w", err)
  36. }
  37. if q.deleteSessionStmt, err = db.PrepareContext(ctx, deleteSession); err != nil {
  38. return nil, fmt.Errorf("error preparing query DeleteSession: %w", err)
  39. }
  40. if q.deleteSessionFilesStmt, err = db.PrepareContext(ctx, deleteSessionFiles); err != nil {
  41. return nil, fmt.Errorf("error preparing query DeleteSessionFiles: %w", err)
  42. }
  43. if q.deleteSessionMessagesStmt, err = db.PrepareContext(ctx, deleteSessionMessages); err != nil {
  44. return nil, fmt.Errorf("error preparing query DeleteSessionMessages: %w", err)
  45. }
  46. if q.getAverageResponseTimeStmt, err = db.PrepareContext(ctx, getAverageResponseTime); err != nil {
  47. return nil, fmt.Errorf("error preparing query GetAverageResponseTime: %w", err)
  48. }
  49. if q.getFileStmt, err = db.PrepareContext(ctx, getFile); err != nil {
  50. return nil, fmt.Errorf("error preparing query GetFile: %w", err)
  51. }
  52. if q.getFileByPathAndSessionStmt, err = db.PrepareContext(ctx, getFileByPathAndSession); err != nil {
  53. return nil, fmt.Errorf("error preparing query GetFileByPathAndSession: %w", err)
  54. }
  55. if q.getFileReadStmt, err = db.PrepareContext(ctx, getFileRead); err != nil {
  56. return nil, fmt.Errorf("error preparing query GetFileRead: %w", err)
  57. }
  58. if q.getHourDayHeatmapStmt, err = db.PrepareContext(ctx, getHourDayHeatmap); err != nil {
  59. return nil, fmt.Errorf("error preparing query GetHourDayHeatmap: %w", err)
  60. }
  61. if q.getLastSessionStmt, err = db.PrepareContext(ctx, getLastSession); err != nil {
  62. return nil, fmt.Errorf("error preparing query GetLastSession: %w", err)
  63. }
  64. if q.getMessageStmt, err = db.PrepareContext(ctx, getMessage); err != nil {
  65. return nil, fmt.Errorf("error preparing query GetMessage: %w", err)
  66. }
  67. if q.getRecentActivityStmt, err = db.PrepareContext(ctx, getRecentActivity); err != nil {
  68. return nil, fmt.Errorf("error preparing query GetRecentActivity: %w", err)
  69. }
  70. if q.getSessionByIDStmt, err = db.PrepareContext(ctx, getSessionByID); err != nil {
  71. return nil, fmt.Errorf("error preparing query GetSessionByID: %w", err)
  72. }
  73. if q.getToolUsageStmt, err = db.PrepareContext(ctx, getToolUsage); err != nil {
  74. return nil, fmt.Errorf("error preparing query GetToolUsage: %w", err)
  75. }
  76. if q.getTotalStatsStmt, err = db.PrepareContext(ctx, getTotalStats); err != nil {
  77. return nil, fmt.Errorf("error preparing query GetTotalStats: %w", err)
  78. }
  79. if q.getUsageByDayStmt, err = db.PrepareContext(ctx, getUsageByDay); err != nil {
  80. return nil, fmt.Errorf("error preparing query GetUsageByDay: %w", err)
  81. }
  82. if q.getUsageByDayOfWeekStmt, err = db.PrepareContext(ctx, getUsageByDayOfWeek); err != nil {
  83. return nil, fmt.Errorf("error preparing query GetUsageByDayOfWeek: %w", err)
  84. }
  85. if q.getUsageByHourStmt, err = db.PrepareContext(ctx, getUsageByHour); err != nil {
  86. return nil, fmt.Errorf("error preparing query GetUsageByHour: %w", err)
  87. }
  88. if q.getUsageByModelStmt, err = db.PrepareContext(ctx, getUsageByModel); err != nil {
  89. return nil, fmt.Errorf("error preparing query GetUsageByModel: %w", err)
  90. }
  91. if q.listAllUserMessagesStmt, err = db.PrepareContext(ctx, listAllUserMessages); err != nil {
  92. return nil, fmt.Errorf("error preparing query ListAllUserMessages: %w", err)
  93. }
  94. if q.listFilesByPathStmt, err = db.PrepareContext(ctx, listFilesByPath); err != nil {
  95. return nil, fmt.Errorf("error preparing query ListFilesByPath: %w", err)
  96. }
  97. if q.listFilesBySessionStmt, err = db.PrepareContext(ctx, listFilesBySession); err != nil {
  98. return nil, fmt.Errorf("error preparing query ListFilesBySession: %w", err)
  99. }
  100. if q.listLatestSessionFilesStmt, err = db.PrepareContext(ctx, listLatestSessionFiles); err != nil {
  101. return nil, fmt.Errorf("error preparing query ListLatestSessionFiles: %w", err)
  102. }
  103. if q.listMessagesBySessionStmt, err = db.PrepareContext(ctx, listMessagesBySession); err != nil {
  104. return nil, fmt.Errorf("error preparing query ListMessagesBySession: %w", err)
  105. }
  106. if q.listNewFilesStmt, err = db.PrepareContext(ctx, listNewFiles); err != nil {
  107. return nil, fmt.Errorf("error preparing query ListNewFiles: %w", err)
  108. }
  109. if q.listSessionReadFilesStmt, err = db.PrepareContext(ctx, listSessionReadFiles); err != nil {
  110. return nil, fmt.Errorf("error preparing query ListSessionReadFiles: %w", err)
  111. }
  112. if q.listSessionsStmt, err = db.PrepareContext(ctx, listSessions); err != nil {
  113. return nil, fmt.Errorf("error preparing query ListSessions: %w", err)
  114. }
  115. if q.listUserMessagesBySessionStmt, err = db.PrepareContext(ctx, listUserMessagesBySession); err != nil {
  116. return nil, fmt.Errorf("error preparing query ListUserMessagesBySession: %w", err)
  117. }
  118. if q.recordFileReadStmt, err = db.PrepareContext(ctx, recordFileRead); err != nil {
  119. return nil, fmt.Errorf("error preparing query RecordFileRead: %w", err)
  120. }
  121. if q.renameSessionStmt, err = db.PrepareContext(ctx, renameSession); err != nil {
  122. return nil, fmt.Errorf("error preparing query RenameSession: %w", err)
  123. }
  124. if q.updateMessageStmt, err = db.PrepareContext(ctx, updateMessage); err != nil {
  125. return nil, fmt.Errorf("error preparing query UpdateMessage: %w", err)
  126. }
  127. if q.updateSessionStmt, err = db.PrepareContext(ctx, updateSession); err != nil {
  128. return nil, fmt.Errorf("error preparing query UpdateSession: %w", err)
  129. }
  130. if q.updateSessionTitleAndUsageStmt, err = db.PrepareContext(ctx, updateSessionTitleAndUsage); err != nil {
  131. return nil, fmt.Errorf("error preparing query UpdateSessionTitleAndUsage: %w", err)
  132. }
  133. return &q, nil
  134. }
  135. func (q *Queries) Close() error {
  136. var err error
  137. if q.createFileStmt != nil {
  138. if cerr := q.createFileStmt.Close(); cerr != nil {
  139. err = fmt.Errorf("error closing createFileStmt: %w", cerr)
  140. }
  141. }
  142. if q.createMessageStmt != nil {
  143. if cerr := q.createMessageStmt.Close(); cerr != nil {
  144. err = fmt.Errorf("error closing createMessageStmt: %w", cerr)
  145. }
  146. }
  147. if q.createSessionStmt != nil {
  148. if cerr := q.createSessionStmt.Close(); cerr != nil {
  149. err = fmt.Errorf("error closing createSessionStmt: %w", cerr)
  150. }
  151. }
  152. if q.deleteFileStmt != nil {
  153. if cerr := q.deleteFileStmt.Close(); cerr != nil {
  154. err = fmt.Errorf("error closing deleteFileStmt: %w", cerr)
  155. }
  156. }
  157. if q.deleteMessageStmt != nil {
  158. if cerr := q.deleteMessageStmt.Close(); cerr != nil {
  159. err = fmt.Errorf("error closing deleteMessageStmt: %w", cerr)
  160. }
  161. }
  162. if q.deleteSessionStmt != nil {
  163. if cerr := q.deleteSessionStmt.Close(); cerr != nil {
  164. err = fmt.Errorf("error closing deleteSessionStmt: %w", cerr)
  165. }
  166. }
  167. if q.deleteSessionFilesStmt != nil {
  168. if cerr := q.deleteSessionFilesStmt.Close(); cerr != nil {
  169. err = fmt.Errorf("error closing deleteSessionFilesStmt: %w", cerr)
  170. }
  171. }
  172. if q.deleteSessionMessagesStmt != nil {
  173. if cerr := q.deleteSessionMessagesStmt.Close(); cerr != nil {
  174. err = fmt.Errorf("error closing deleteSessionMessagesStmt: %w", cerr)
  175. }
  176. }
  177. if q.getAverageResponseTimeStmt != nil {
  178. if cerr := q.getAverageResponseTimeStmt.Close(); cerr != nil {
  179. err = fmt.Errorf("error closing getAverageResponseTimeStmt: %w", cerr)
  180. }
  181. }
  182. if q.getFileStmt != nil {
  183. if cerr := q.getFileStmt.Close(); cerr != nil {
  184. err = fmt.Errorf("error closing getFileStmt: %w", cerr)
  185. }
  186. }
  187. if q.getFileByPathAndSessionStmt != nil {
  188. if cerr := q.getFileByPathAndSessionStmt.Close(); cerr != nil {
  189. err = fmt.Errorf("error closing getFileByPathAndSessionStmt: %w", cerr)
  190. }
  191. }
  192. if q.getFileReadStmt != nil {
  193. if cerr := q.getFileReadStmt.Close(); cerr != nil {
  194. err = fmt.Errorf("error closing getFileReadStmt: %w", cerr)
  195. }
  196. }
  197. if q.getHourDayHeatmapStmt != nil {
  198. if cerr := q.getHourDayHeatmapStmt.Close(); cerr != nil {
  199. err = fmt.Errorf("error closing getHourDayHeatmapStmt: %w", cerr)
  200. }
  201. }
  202. if q.getLastSessionStmt != nil {
  203. if cerr := q.getLastSessionStmt.Close(); cerr != nil {
  204. err = fmt.Errorf("error closing getLastSessionStmt: %w", cerr)
  205. }
  206. }
  207. if q.getMessageStmt != nil {
  208. if cerr := q.getMessageStmt.Close(); cerr != nil {
  209. err = fmt.Errorf("error closing getMessageStmt: %w", cerr)
  210. }
  211. }
  212. if q.getRecentActivityStmt != nil {
  213. if cerr := q.getRecentActivityStmt.Close(); cerr != nil {
  214. err = fmt.Errorf("error closing getRecentActivityStmt: %w", cerr)
  215. }
  216. }
  217. if q.getSessionByIDStmt != nil {
  218. if cerr := q.getSessionByIDStmt.Close(); cerr != nil {
  219. err = fmt.Errorf("error closing getSessionByIDStmt: %w", cerr)
  220. }
  221. }
  222. if q.getToolUsageStmt != nil {
  223. if cerr := q.getToolUsageStmt.Close(); cerr != nil {
  224. err = fmt.Errorf("error closing getToolUsageStmt: %w", cerr)
  225. }
  226. }
  227. if q.getTotalStatsStmt != nil {
  228. if cerr := q.getTotalStatsStmt.Close(); cerr != nil {
  229. err = fmt.Errorf("error closing getTotalStatsStmt: %w", cerr)
  230. }
  231. }
  232. if q.getUsageByDayStmt != nil {
  233. if cerr := q.getUsageByDayStmt.Close(); cerr != nil {
  234. err = fmt.Errorf("error closing getUsageByDayStmt: %w", cerr)
  235. }
  236. }
  237. if q.getUsageByDayOfWeekStmt != nil {
  238. if cerr := q.getUsageByDayOfWeekStmt.Close(); cerr != nil {
  239. err = fmt.Errorf("error closing getUsageByDayOfWeekStmt: %w", cerr)
  240. }
  241. }
  242. if q.getUsageByHourStmt != nil {
  243. if cerr := q.getUsageByHourStmt.Close(); cerr != nil {
  244. err = fmt.Errorf("error closing getUsageByHourStmt: %w", cerr)
  245. }
  246. }
  247. if q.getUsageByModelStmt != nil {
  248. if cerr := q.getUsageByModelStmt.Close(); cerr != nil {
  249. err = fmt.Errorf("error closing getUsageByModelStmt: %w", cerr)
  250. }
  251. }
  252. if q.listAllUserMessagesStmt != nil {
  253. if cerr := q.listAllUserMessagesStmt.Close(); cerr != nil {
  254. err = fmt.Errorf("error closing listAllUserMessagesStmt: %w", cerr)
  255. }
  256. }
  257. if q.listFilesByPathStmt != nil {
  258. if cerr := q.listFilesByPathStmt.Close(); cerr != nil {
  259. err = fmt.Errorf("error closing listFilesByPathStmt: %w", cerr)
  260. }
  261. }
  262. if q.listFilesBySessionStmt != nil {
  263. if cerr := q.listFilesBySessionStmt.Close(); cerr != nil {
  264. err = fmt.Errorf("error closing listFilesBySessionStmt: %w", cerr)
  265. }
  266. }
  267. if q.listLatestSessionFilesStmt != nil {
  268. if cerr := q.listLatestSessionFilesStmt.Close(); cerr != nil {
  269. err = fmt.Errorf("error closing listLatestSessionFilesStmt: %w", cerr)
  270. }
  271. }
  272. if q.listMessagesBySessionStmt != nil {
  273. if cerr := q.listMessagesBySessionStmt.Close(); cerr != nil {
  274. err = fmt.Errorf("error closing listMessagesBySessionStmt: %w", cerr)
  275. }
  276. }
  277. if q.listNewFilesStmt != nil {
  278. if cerr := q.listNewFilesStmt.Close(); cerr != nil {
  279. err = fmt.Errorf("error closing listNewFilesStmt: %w", cerr)
  280. }
  281. }
  282. if q.listSessionReadFilesStmt != nil {
  283. if cerr := q.listSessionReadFilesStmt.Close(); cerr != nil {
  284. err = fmt.Errorf("error closing listSessionReadFilesStmt: %w", cerr)
  285. }
  286. }
  287. if q.listSessionsStmt != nil {
  288. if cerr := q.listSessionsStmt.Close(); cerr != nil {
  289. err = fmt.Errorf("error closing listSessionsStmt: %w", cerr)
  290. }
  291. }
  292. if q.listUserMessagesBySessionStmt != nil {
  293. if cerr := q.listUserMessagesBySessionStmt.Close(); cerr != nil {
  294. err = fmt.Errorf("error closing listUserMessagesBySessionStmt: %w", cerr)
  295. }
  296. }
  297. if q.recordFileReadStmt != nil {
  298. if cerr := q.recordFileReadStmt.Close(); cerr != nil {
  299. err = fmt.Errorf("error closing recordFileReadStmt: %w", cerr)
  300. }
  301. }
  302. if q.renameSessionStmt != nil {
  303. if cerr := q.renameSessionStmt.Close(); cerr != nil {
  304. err = fmt.Errorf("error closing renameSessionStmt: %w", cerr)
  305. }
  306. }
  307. if q.updateMessageStmt != nil {
  308. if cerr := q.updateMessageStmt.Close(); cerr != nil {
  309. err = fmt.Errorf("error closing updateMessageStmt: %w", cerr)
  310. }
  311. }
  312. if q.updateSessionStmt != nil {
  313. if cerr := q.updateSessionStmt.Close(); cerr != nil {
  314. err = fmt.Errorf("error closing updateSessionStmt: %w", cerr)
  315. }
  316. }
  317. if q.updateSessionTitleAndUsageStmt != nil {
  318. if cerr := q.updateSessionTitleAndUsageStmt.Close(); cerr != nil {
  319. err = fmt.Errorf("error closing updateSessionTitleAndUsageStmt: %w", cerr)
  320. }
  321. }
  322. return err
  323. }
  324. func (q *Queries) exec(ctx context.Context, stmt *sql.Stmt, query string, args ...interface{}) (sql.Result, error) {
  325. switch {
  326. case stmt != nil && q.tx != nil:
  327. return q.tx.StmtContext(ctx, stmt).ExecContext(ctx, args...)
  328. case stmt != nil:
  329. return stmt.ExecContext(ctx, args...)
  330. default:
  331. return q.db.ExecContext(ctx, query, args...)
  332. }
  333. }
  334. func (q *Queries) query(ctx context.Context, stmt *sql.Stmt, query string, args ...interface{}) (*sql.Rows, error) {
  335. switch {
  336. case stmt != nil && q.tx != nil:
  337. return q.tx.StmtContext(ctx, stmt).QueryContext(ctx, args...)
  338. case stmt != nil:
  339. return stmt.QueryContext(ctx, args...)
  340. default:
  341. return q.db.QueryContext(ctx, query, args...)
  342. }
  343. }
  344. func (q *Queries) queryRow(ctx context.Context, stmt *sql.Stmt, query string, args ...interface{}) *sql.Row {
  345. switch {
  346. case stmt != nil && q.tx != nil:
  347. return q.tx.StmtContext(ctx, stmt).QueryRowContext(ctx, args...)
  348. case stmt != nil:
  349. return stmt.QueryRowContext(ctx, args...)
  350. default:
  351. return q.db.QueryRowContext(ctx, query, args...)
  352. }
  353. }
  354. type Queries struct {
  355. db DBTX
  356. tx *sql.Tx
  357. createFileStmt *sql.Stmt
  358. createMessageStmt *sql.Stmt
  359. createSessionStmt *sql.Stmt
  360. deleteFileStmt *sql.Stmt
  361. deleteMessageStmt *sql.Stmt
  362. deleteSessionStmt *sql.Stmt
  363. deleteSessionFilesStmt *sql.Stmt
  364. deleteSessionMessagesStmt *sql.Stmt
  365. getAverageResponseTimeStmt *sql.Stmt
  366. getFileStmt *sql.Stmt
  367. getFileByPathAndSessionStmt *sql.Stmt
  368. getFileReadStmt *sql.Stmt
  369. getHourDayHeatmapStmt *sql.Stmt
  370. getLastSessionStmt *sql.Stmt
  371. getMessageStmt *sql.Stmt
  372. getRecentActivityStmt *sql.Stmt
  373. getSessionByIDStmt *sql.Stmt
  374. getToolUsageStmt *sql.Stmt
  375. getTotalStatsStmt *sql.Stmt
  376. getUsageByDayStmt *sql.Stmt
  377. getUsageByDayOfWeekStmt *sql.Stmt
  378. getUsageByHourStmt *sql.Stmt
  379. getUsageByModelStmt *sql.Stmt
  380. listAllUserMessagesStmt *sql.Stmt
  381. listFilesByPathStmt *sql.Stmt
  382. listFilesBySessionStmt *sql.Stmt
  383. listLatestSessionFilesStmt *sql.Stmt
  384. listMessagesBySessionStmt *sql.Stmt
  385. listNewFilesStmt *sql.Stmt
  386. listSessionReadFilesStmt *sql.Stmt
  387. listSessionsStmt *sql.Stmt
  388. listUserMessagesBySessionStmt *sql.Stmt
  389. recordFileReadStmt *sql.Stmt
  390. renameSessionStmt *sql.Stmt
  391. updateMessageStmt *sql.Stmt
  392. updateSessionStmt *sql.Stmt
  393. updateSessionTitleAndUsageStmt *sql.Stmt
  394. }
  395. func (q *Queries) WithTx(tx *sql.Tx) *Queries {
  396. return &Queries{
  397. db: tx,
  398. tx: tx,
  399. createFileStmt: q.createFileStmt,
  400. createMessageStmt: q.createMessageStmt,
  401. createSessionStmt: q.createSessionStmt,
  402. deleteFileStmt: q.deleteFileStmt,
  403. deleteMessageStmt: q.deleteMessageStmt,
  404. deleteSessionStmt: q.deleteSessionStmt,
  405. deleteSessionFilesStmt: q.deleteSessionFilesStmt,
  406. deleteSessionMessagesStmt: q.deleteSessionMessagesStmt,
  407. getAverageResponseTimeStmt: q.getAverageResponseTimeStmt,
  408. getFileStmt: q.getFileStmt,
  409. getFileByPathAndSessionStmt: q.getFileByPathAndSessionStmt,
  410. getFileReadStmt: q.getFileReadStmt,
  411. getHourDayHeatmapStmt: q.getHourDayHeatmapStmt,
  412. getLastSessionStmt: q.getLastSessionStmt,
  413. getMessageStmt: q.getMessageStmt,
  414. getRecentActivityStmt: q.getRecentActivityStmt,
  415. getSessionByIDStmt: q.getSessionByIDStmt,
  416. getToolUsageStmt: q.getToolUsageStmt,
  417. getTotalStatsStmt: q.getTotalStatsStmt,
  418. getUsageByDayStmt: q.getUsageByDayStmt,
  419. getUsageByDayOfWeekStmt: q.getUsageByDayOfWeekStmt,
  420. getUsageByHourStmt: q.getUsageByHourStmt,
  421. getUsageByModelStmt: q.getUsageByModelStmt,
  422. listAllUserMessagesStmt: q.listAllUserMessagesStmt,
  423. listFilesByPathStmt: q.listFilesByPathStmt,
  424. listFilesBySessionStmt: q.listFilesBySessionStmt,
  425. listLatestSessionFilesStmt: q.listLatestSessionFilesStmt,
  426. listMessagesBySessionStmt: q.listMessagesBySessionStmt,
  427. listNewFilesStmt: q.listNewFilesStmt,
  428. listSessionReadFilesStmt: q.listSessionReadFilesStmt,
  429. listSessionsStmt: q.listSessionsStmt,
  430. listUserMessagesBySessionStmt: q.listUserMessagesBySessionStmt,
  431. recordFileReadStmt: q.recordFileReadStmt,
  432. renameSessionStmt: q.renameSessionStmt,
  433. updateMessageStmt: q.updateMessageStmt,
  434. updateSessionStmt: q.updateSessionStmt,
  435. updateSessionTitleAndUsageStmt: q.updateSessionTitleAndUsageStmt,
  436. }
  437. }