Commit graph

32 commits

Author SHA1 Message Date
Kijin Sung
1a204d8c52 Completely disable Debug logging if it is not enabled for the current user
관리자 또는 특정 IP에서만 디버그 기능을 사용하도록 설정된 경우,
그 밖의 요청에서는 어떤 에러메시지, 쿼리, 트리거 소요시간 등의 기록도
디버그 클래스에 저장하지 않도록 변경합니다.

워닝이 많이 발생하는 PHP 8.0에서는 20~30%의 성능 개선 효과가 있습니다.
2021-01-07 02:51:43 +09:00
Kijin Sung
3f766a937c Fix incorrect handling of auto-generated COUNT(*) queries when there are GROUP BY or DISTINCT clauses 2021-01-07 00:55:43 +09:00
Kijin Sung
c700de4f66 Also catch PDOException in _executeCountQuery() 2020-12-26 20:49:46 +09:00
Kijin Sung
afcc25bd50 Convert PDOException to DBError in _fetch() 2020-12-26 17:14:11 +09:00
Kijin Sung
686cfc3478 Create a 'data' field even if there are no results, to prevent warnings 2020-12-18 14:25:48 +09:00
Kijin Sung
8c161bc28d Various fixes to improve PHP 8.0 compatibility
- XmlParser 클래스가 PHP 내장 클래스가 되어버려서 XeXmlParser로 변경
- 함수나 파라미터의 형태가 맞지 않아서 치명적인 오류 나는 곳 수정
- undefined 변수 및 배열 키 다수 수정 (치명적인 오류는 아님)
- 계속 수정중...
2020-10-31 00:25:26 +09:00
Kijin Sung
2a87c060b9 Fix #1442 add prefixes to INSERT/UPDATE queries, too 2020-10-21 22:47:34 +09:00
Kijin Sung
44e73027a1 Don't fetch if the query isn't SELECT
https://xetown.com/questions/1464687
2020-10-04 16:46:51 +09:00
Kijin Sung
4ad35bff8c Support index options 2020-07-11 18:00:36 +09:00
Kijin Sung
25373e6540 Support more index types in DB::addIndex() 2020-07-11 15:50:12 +09:00
Kijin Sung
f6b260d829 Remove args from return value 2020-07-07 14:04:38 +09:00
Kijin Sung
5496180b47 Fix handling of empty string arguments in write queries 2020-07-07 14:03:06 +09:00
Kijin Sung
d2f24dcd12 Replace DB::isValidOldPassword() with Rhymix's own implementation 2020-07-06 11:51:04 +09:00
Kijin Sung
305d045bf6 Fix isValidOldPassword() not working in new DB class 2020-07-06 11:40:13 +09:00
Kijin Sung
ed7130f552 Add 'raw' result type 2020-06-30 23:28:06 +09:00
Kijin Sung
8a3afa03cc More element handling of executeQueryArray() 2020-06-30 23:05:04 +09:00
Kijin Sung
8266114512 Fix erroneous sequence query 2020-06-30 20:49:59 +09:00
Kijin Sung
8cd1cdff9f Fix install problems 2020-06-30 20:05:08 +09:00
Kijin Sung
85df901924 Misc fixes for compatibility with existing XML queries and schemas 2020-06-30 14:43:42 +09:00
Kijin Sung
978d3d167a Fix error handling issues 2020-06-30 12:16:59 +09:00
Kijin Sung
936568a8a5 Improve error handling by using wrapper classes for PDO and PDOStatement 2020-06-30 12:00:42 +09:00
Kijin Sung
47bb30c535 Implement getColumnInfo() 2020-06-30 00:40:10 +09:00
Kijin Sung
58133573b3 Implement addColumn() and modifyColumn() 2020-06-30 00:31:06 +09:00
Kijin Sung
4a7c18f0ac Implement most methods for adding/dropping tables and indexes 2020-06-29 23:16:03 +09:00
Kijin Sung
98bf9e485c Implement isTableExists() and fix return types of prepare(), query(), etc. 2020-06-29 22:46:38 +09:00
Kijin Sung
1903deee40 Fix condition for recording backtraces 2020-06-29 22:37:48 +09:00
Kijin Sung
902b931b89 Provide methods to tell total elapsed time 2020-06-29 22:30:48 +09:00
Kijin Sung
421199b196 Improve debugging 2020-06-29 22:27:45 +09:00
Kijin Sung
84a7b915b7 Implement the COUNT(*) query for pagination 2020-06-29 21:32:25 +09:00
Kijin Sung
7e96affa1a Add prepare() and query() for direct querying 2020-06-29 20:11:04 +09:00
Kijin Sung
8f746af45f Implement more methods for DB class 2020-06-29 17:00:04 +09:00
Kijin Sung
cc271ee154 Initial implementation of DB class based on PDO MySQL driver 2020-06-29 15:45:01 +09:00