부록

부록 (Appendices)

CQL 언어에 대한 부록이에요. 예약 키워드 목록, 예약 타입, 그리고 Compact Storage 제거에 대해 다뤄요.

출처: Appendices

본문

부록 A: CQL 키워드

CQL은 예약(reserved) 키워드와 비예약(non-reserved) 키워드를 구분해요. 예약 키워드는 식별자로 사용할 수 없고 언어에 진정으로 예약되어 있어요(단, 예약 키워드를 큰따옴표로 감싸 식별자로 사용할 수 있어요). 반면 비예약 키워드는 특정 문맥에서만 특별한 의미를 가지며, 그 외에는 식별자로 사용할 수 있어요. 이 비예약 키워드의 존재 이유는 편의성뿐이에요. 어떤 키워드는 파서가 키워드로 사용되는지 쉽게 결정할 수 있을 때 비예약으로 유지해요.

키워드 예약?
ADD yes
AGGREGATE no
ALL no
ALLOW yes
ALTER yes
AND yes
APPLY yes
AS no
ASC yes
ASCII no
AUTHORIZE yes
BATCH yes
BEGIN yes
BIGINT no
BLOB no
BOOLEAN no
BY yes
CALLED no
CLUSTERING no
COLUMNFAMILY yes
COMPACT no
CONTAINS no
COUNT no
COUNTER no
CREATE yes
CUSTOM no
DATE no
DECIMAL no
DELETE yes
DESC yes
DESCRIBE yes
DISTINCT no
DOUBLE no
DROP yes
ENTRIES yes
EXECUTE yes
EXISTS no
FILTERING no
FINALFUNC no
FLOAT no
FROM yes
FROZEN no
FULL yes
FUNCTION no
FUNCTIONS no
GRANT yes
IF yes
IN yes
INDEX yes
INET no
INFINITY yes
INITCOND no
INPUT no
INSERT yes
INT no
INTO yes
JSON no
KEY no
KEYS no
KEYSPACE yes
KEYSPACES no
LANGUAGE no
LIMIT yes
LIST no
LOGIN no
MAP no
MASKED no
MODIFY yes
NAN yes
NOLOGIN no
NORECURSIVE yes
NOSUPERUSER no
NOT yes
NULL yes
OF yes
ON yes
OPTIONS no
OR yes
ORDER yes
PASSWORD no
PERMISSION no
PERMISSIONS no
PRIMARY yes
RENAME yes
REPLACE yes
RETURNS no
REVOKE yes
ROLE no
ROLES no
SCHEMA yes
SELECT yes
SELECT_MASKED no
SET yes
SFUNC no
SMALLINT no
STATIC no
STORAGE no
STYPE no
SUPERUSER no
TABLE yes
TEXT no
TIME no
TIMESTAMP no
TIMEUUID no
TINYINT no
TO yes
TOKEN yes
TRIGGER no
TRUNCATE yes
TTL no
TUPLE no
TYPE no
UNLOGGED yes
UNMASK no
UPDATE yes
USE yes
USER no
USERS no
USING yes
UUID no
VALUES no
VARCHAR no
VARINT no
WHERE yes
WITH yes
WRITETIME no
MAXWRITETIME no

부록 B: CQL 예약 타입

다음 타입 이름은 현재 CQL에서 사용되지 않지만 잠재적인 향후 사용을 위해 예약되어 있어요. 사용자 정의 타입은 예약 타입 이름을 자신의 이름으로 사용할 수 없어요.

타입
bitstring
byte
complex
enum
interval
macaddr

부록 C: Compact Storage 제거

버전 4.0부터 Thrift와 COMPACT STORAGE는 더 이상 지원되지 않아요.

ALTER … DROP COMPACT STORAGE 문은 Compact Table을 CQL 호환으로 만들어 Thrift/Compact Table의 내부 구조를 노출해요.

  • 클러스터링 컬럼이 없는 CQL 생성 Compact Table은 UTF8Type의 추가 클러스터링 컬럼 column1을 노출해요.
  • 일반 컬럼이 없는 CQL 생성 Compact Table은 BytesType의 일반 컬럼 value를 노출해요.
  • CQL 생성 Compact Table의 경우 원래 regular로 정의된 모든 컬럼은 static이 돼요.
  • 클러스터링이 있지만 일반 컬럼이 없는 CQL 생성 Compact Table은 빈 값 컬럼(EmptyType)을 가져요.
  • SuperColumn Table(Thrift로만 생성 가능)은 빈 이름을 가진 컴팩트 값 맵을 노출해요.
  • Thrift 생성 Compact Table은 Thrift 정의에 해당하는 타입을 가져요.

더 알아보기 (Learn more)