Commit graph

485 commits

Author SHA1 Message Date
Kijin Sung
71bee10ae9 Support data types not defined in XE 2018-07-05 23:46:21 +09:00
Kijin Sung
32c9de472a Improve addColumn() and modifyColumn()
- 특정 컬럼 이후에 컬럼을 추가할 수 있도록 허용
- 모든 integer 타입의 size 속성을 무시 (tinyint 제외)
2018-07-05 22:43:53 +09:00
Kijin Sung
20fa55a3fc Support HAVING in XML queries
GROUP BY에 사용되는 <groups> 태그 안에 <having> 태그를 넣을 수 있습니다.
문법은 <conditions> 부분에 적용되는 것과 같습니다.

<query id="queryId" action="select">
    ...
    <groups>
        <group column="document_srl" />
        <having>
            <condition operation="more" column="document_srl" var="myvar" default="0" />
        </having>
    </groups>
    ...
</query>

결과: SELECT ... GROUP BY document_srl HAVING document_srl >= 0
2018-07-03 15:40:52 +09:00
Kijin Sung
3359431d08 Allow nested condition groups
XML 쿼리에서 <conditions><group> 안에 <group> 태그를 또 쓸 수 있도록 허용함.
이제 WHERE (a AND (b OR (c AND d))) 이런 조건을 작성할 수 있음.
2018-06-30 23:01:55 +09:00
Kijin Sung
2cfb7585af Convert more SQL keywords to uppercase 2018-06-30 23:00:28 +09:00
Kijin Sung
3aaa0c60b2 Add sensible operation names to XML query syntax
XML 쿼리 문법에서 사용되는 operation 이름을 상식적으로 개선함

차이점을 이해하기 어려운 excess/more, below/less 조건을 다른 프레임워크에서
흔히 사용하는 gt (greater than), gte (greater than or equal to),
lt (less than), lte (less than or equal to) 라는 이름으로도 쓸 수 있도록 함.
실제 부등호는 XML 태그에 사용되므로 아직은 사용 불가...

not_in은 있는데 not_equal, not_null, not_like는 없는 문제를 개선함.
이제 위의 4가지 모두 언더바(_)를 넣든 안 넣든 동일한 의미로 쓸 수 있음.
2018-06-30 16:01:44 +09:00
Kijin Sung
efa1b603c4 Condition pipe defaults to AND
XML 쿼리 작성시 pipe="and"를 일일이 추가하지 않아도 기본값이 AND가 되도록 함
2018-06-30 15:55:06 +09:00
Kijin Sung
83362034cd Convert all SQL keywords to upper case
대소문자를 섞어서 쓰고 있던 SQL 키워드들을 모두 대문자로 통일
as, and, or, like, desc 등이 소문자였음
2018-06-30 15:42:52 +09:00
Kijin Sung
6070707941 Remove index hint classes for MS SQL and Cubrid 2018-06-30 15:31:00 +09:00
Kijin Sung
f00ba6f272 Remove and disable all other DB classes 2018-06-30 15:13:22 +09:00
Kijin Sung
0e4eec6a3f Merge all MySQL DB classes into DBMysql.class.php 2018-06-30 15:12:59 +09:00
Kijin Sung
fa2b2914f2 Add getAffectedRows() and getInsertID() to DB classes
쿼리 실행 후 affected rows, last insert ID 값을 받아올 수 있도록
DB 클래스에 관련 메소드를 추가함
2018-01-15 13:59:14 +09:00
Kijin Sung
6f35f5bafc Fix strict count() behavior in PHP 7.2 2017-12-01 01:42:03 +09:00
Kijin Sung
2dbc77ff68 Eliminate null returns in DB class 2017-11-30 23:03:18 +09:00
Kijin Sung
1a81fd43f3 Convert Object class to BaseObject in core classes 2017-11-27 22:34:28 +09:00
Kijin Sung
a8da651f29 Change data type of module_config.config to bigtext
xpressengine/xe-core#2179
xpressengine/xe-core#2180
2017-11-27 13:03:47 +09:00
bnu
f867efacea fix #2146 XEVE-17-028 2017-09-12 23:38:43 +09:00
Kijin Sung
1233be446c Fix warning in database logging routine
https://www.xetown.com/qna/610874
2017-05-30 20:53:02 +09:00
Kijin Sung
d2a3b5203c Fix #767 error when query argument is not an object 2017-03-23 19:23:45 +09:00
Kijin Sung
4ee115e4f3 Improve server environment display 2017-02-22 19:49:49 +09:00
Kijin Sung
99cb67b5db Merge pull request #567 from kijin/pr/session-class
세션 처리 관련 기능 정리 및 개선
2017-02-10 21:30:06 +09:00
Kijin Sung
ca9a0aef25 Update autologin table with more columns 2017-02-08 16:16:31 +09:00
Kijin Sung
1a8dcd6a34 Do not cause fatal error when query cache file failed to load 2017-02-08 14:12:44 +09:00
Kijin Sung
2db14c1ea9 Show query errors in debug panel and error log 2016-12-13 14:09:51 +09:00
Kijin Sung
be9a109a37 Support <offset> in XML query <navigation> section 2016-09-14 13:44:35 +09:00
Kijin Sung
6791208ae1 Prevent function arguments from being exposed in the error log
Also: Produce backtrace when a regular error occurs
Also: Remove unnecessary check for DEBUG_BACKTRACE_IGNORE_ARGS
(This is not necessary in PHP > 5.3.6)
2016-06-15 17:03:32 +09:00
Kijin Sung
a949b95763 Improve cache efficiency when loading module part config 2016-04-18 21:22:31 +09:00
Kijin Sung
3f4f5299cb Disable mysql DB driver and only use mysqli 2016-03-22 11:08:17 +09:00
Kijin Sung
52627de4a3 Change minimum MS SQL version to 10 (2008) 2016-03-22 11:01:53 +09:00
Kijin Sung
df3837ae6f Change minimum CUBRID version to 9.0 2016-03-22 10:56:44 +09:00
Kijin Sung
1873270a59 Change minimum MySQL version to 5.0.7 2016-03-22 10:53:49 +09:00
Kijin Sung
770644d114 Improve error handling in MySQL/MySQLi DB drivers 2016-03-20 00:45:20 +09:00
Kijin Sung
5b5c785b19 Do not simply exit on DB connection error 2016-03-20 00:32:31 +09:00
Kijin Sung
fe54e83379 Do not get backtrace if query logging is disabled 2016-02-16 14:27:15 +09:00
Kijin Sung
516479cf20 Migrate addon, trigger, and widget logging functions to Debug class 2016-02-16 11:01:45 +09:00
Kijin Sung
6b4d69bcc2 Remove old debug constants 2016-02-13 11:19:13 +09:00
Kijin Sung
ac8460d782 Finalize debug data format and allow all statistics to be collected 2016-02-12 21:31:38 +09:00
Kijin Sung
8394afce74 Minor adjustments 2016-02-12 20:33:05 +09:00
Kijin Sung
d63900547e Replace debug comment with new system 2016-02-12 16:35:10 +09:00
Kijin Sung
d5a5364814 Clean up some methods in DB classes 2016-02-11 10:33:15 +09:00
Kijin Sung
80f2dd7a8a Replace is_a() and is_subclass_of() with instanceof 2016-02-11 09:57:08 +09:00
Kijin Sung
0952432779 Fix master/slave DB handling during transaction 2016-02-10 11:24:10 +09:00
Kijin Sung
a499aa0d1f Fix inconsistent capitalization of Rhymix 2016-02-08 16:31:10 +09:00
Kijin Sung
6b5e95a0c4 Select InnoDB engine automatically if available 2016-02-07 23:13:22 +09:00
Kijin Sung
e28856bfbb Update DB classes to use new config format 2016-02-05 14:46:55 +09:00
Kijin Sung
6876eac464 Remove unnecessary reference operator from DB and Cache classes 2016-02-05 13:44:19 +09:00
conory
0a89dffa5a XE표기를 Rhymix로 변경 2016-01-25 18:10:15 +09:00
Kijin Sung
d3c0e94b03 Update minimal server requirements 2016-01-24 10:20:35 +09:00
Kijin Sung
17c55bb64b Fix #144 error while creating module_part_config index in utf8mb4 2016-01-22 11:46:08 +09:00
Kijin Sung
7ce82a9e77 Remove unnecessary reference from DB::getParser() 2016-01-15 23:26:43 +09:00