| /* |
| * Copyright 2000-2012 JetBrains s.r.o. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package com.intellij.openapi.vcs.changes.dbCommitted; |
| |
| import java.lang.annotation.ElementType; |
| import java.lang.annotation.Retention; |
| import java.lang.annotation.RetentionPolicy; |
| import java.lang.annotation.Target; |
| |
| /** |
| * Created with IntelliJ IDEA. |
| * User: Irina.Chernushina |
| * Date: 10/8/12 |
| * Time: 4:27 PM |
| */ |
| public interface SqliteTables { |
| String IDX_ROOT_URL = "IDX_ROOT_URL"; |
| String IDX_AUTHOR_NAME = "IDX_AUTHOR_NAME"; |
| String IDX_REVISION_DATE = "IDX_REVISION_DATE"; |
| String IDX_REVISION_NUMBER_INT = "IDX_REVISION_NUMBER_INT"; |
| String IDX_PATHS_PATH = "IDX_PATHS_PATH"; |
| |
| String PREPARED_INSERT_VCS = "PREPARED_INSERT_VCS"; |
| String PREPARED_SELECT_VCS = "PREPARED_SELECT_VCS"; |
| String PREPARED_SELECT_ROOTS = "PREPARED_SELECT_ROOTS"; |
| String PREPARED_INSERT_ROOT = "PREPARED_INSERT_ROOT"; |
| String PREPARED_SELECT_MAX_REVISION = "PREPARED_SELECT_MAX_REVISION"; |
| String PREPARED_FILTER_KNOWN_AUTHORS = "PREPARED_FILTER_KNOWN_AUTHORS"; |
| String PREPARED_ADD_AUTHOR = "PREPARED_ADD_AUTHOR"; |
| String PREPARED_INSERT_REVISION = "PREPARED_INSERT_REVISION"; |
| String PREPARED_READ_PATH = "PREPARED_READ_PATH"; |
| String PREPARED_INSERT_PATH = "PREPARED_INSERT_PATH"; |
| String PREPARED_INSERT_PATH_2_REVS = "PREPARED_INSERT_PATH_2_REVS"; |
| String PREPARED_SELECT_REVISIONS = "PREPARED_SELECT_REVISIONS"; |
| String PREPARED_SELECT_PATH_DATA = "PREPARED_SELECT_PATH_DATA"; |
| String PREPARED_PATHS_2_REVS = "PREPARED_PATHS_2_REVS"; |
| String PREPARED_SELECT_PATH_DATA_BATCH = "PREPARED_SELECT_PATH_DATA_BATCH"; |
| String PREPARED_PATHS_2_REVS_BATCH = "PREPARED_PATHS_2_REVS_BATCH"; |
| String PREPARED_INSERT_INCOMING = "PREPARED_INSERT_INCOMING"; |
| String PREPARED_SELECT_INCOMING = "PREPARED_SELECT_INCOMING"; |
| String PREPARED_SELECT_MIN_REVISION = "PREPARED_SELECT_MIN_REVISION"; |
| String PREPARED_DATES_ONLY = "PREPARED_DATES_ONLY"; |
| String PREPARED_NUMBERS_SUBFOLDER = "PREPARED_NUMBERS_SUBFOLDER"; |
| String PREPARED_NUMBERS_ONLY = "PREPARED_NUMBERS_ONLY"; |
| String PREPARED_DATES_SUBFOLDER = "PREPARED_DATES_SUBFOLDER"; |
| |
| abstract class BaseTable { |
| public final String ID; |
| public final String TABLE_NAME; |
| private final String myCreateTableStatement; |
| |
| protected BaseTable(String TABLE_NAME, final String createTableStatement) { |
| myCreateTableStatement = createTableStatement; |
| this.ID = "ID"; |
| this.TABLE_NAME = TABLE_NAME; |
| } |
| |
| public String getCreateTableStatement() { |
| return myCreateTableStatement; |
| } |
| } |
| |
| @Retention(RetentionPolicy.SOURCE) |
| @Target({ElementType.FIELD}) |
| @interface Indexed {} |
| |
| KnownVcs KNOWN_VCS = new KnownVcs(); |
| Root ROOT = new Root(); |
| Author AUTHOR = new Author(); |
| Revision REVISION = new Revision(); |
| Paths PATHS = new Paths(); |
| Paths2Revs PATHS_2_REVS = new Paths2Revs(); |
| IncomingPaths INCOMING_PATHS = new IncomingPaths(); |
| |
| class KnownVcs extends BaseTable { |
| public KnownVcs() { |
| super("VCS", "NAME TEXT NOT NULL"); |
| } |
| |
| public final String NAME = "NAME"; |
| } |
| |
| |
| class Root extends BaseTable { |
| public Root() { |
| super("ROOT", "URL TEXT NOT NULL, VCS_FK INTEGER NOT NULL REFERENCES VCS(ID)"); |
| } |
| |
| @Indexed |
| public final String URL = "URL"; |
| public final String VCS_FK = "VCS_FK"; |
| } |
| |
| class Author extends BaseTable { |
| public Author() { |
| super("AUTHOR", "NAME TEXT NOT NULL"); |
| } |
| |
| // todo index? can have in memory.. |
| @Indexed |
| public final String NAME = "NAME"; |
| } |
| |
| class Revision extends BaseTable { |
| public Revision() { |
| super("REVISION", "ROOT_FK INTEGER NOT NULL REFERENCES ROOT(ID), " + |
| "AUTHOR_FK INTEGER NOT NULL REFERENCES AUTHOR(ID), " + |
| "DATE INTEGER NOT NULL, " + |
| "NUMBER_STR TEXT NOT NULL, " + |
| "NUMBER_INT INTEGER NOT NULL, " + |
| "COMMENT TEXT, COUNT INTEGER NOT NULL, RAW_DATA BLOB"); |
| } |
| |
| public final String ROOT_FK = "ROOT_FK"; |
| public final String AUTHOR_FK = "AUTHOR_FK"; |
| @Indexed |
| public final String DATE = "DATE"; |
| public final String NUMBER_STR = "NUMBER_STR"; |
| @Indexed |
| public final String NUMBER_INT = "NUMBER_INT"; |
| public final String COMMENT = "COMMENT"; |
| public final String COUNT = "COUNT"; |
| public final String RAW_DATA = "RAW_DATA"; |
| } |
| |
| class Paths extends BaseTable { |
| public Paths() { |
| super("PATHS", "ROOT_FK INTEGER NOT NULL REFERENCES ROOT(ID), " + |
| "PATH TEXT NOT NULL"); |
| } |
| |
| public final String ROOT_FK = "ROOT_FK"; |
| @Indexed |
| public final String PATH = "PATH"; |
| } |
| |
| class Paths2Revs extends BaseTable { |
| public Paths2Revs() { |
| super("PATHS_2_REVS", "PATH_FK INTEGER NOT NULL REFERENCES PATHS(ID), " + |
| "REVISION_FK INTEGER NOT NULL REFERENCES REVISION(ID), " + |
| "TYPE INTEGER NOT NULL, " + |
| "COPY_PATH_ID INTEGER REFERENCES PATHS(ID), " + |
| "VISIBLE INTEGER NOT NULL DEFAULT 1, " + |
| "DELETE_PATH_ID INTEGER REFERENCES PATHS(ID)"); |
| } |
| |
| public final String PATH_FK = "PATH_FK"; |
| public final String REVISION_FK = "REVISION_FK"; |
| public final String TYPE = "TYPE"; |
| public final String COPY_PATH_ID = "COPY_PATH_ID"; |
| public final String VISIBLE = "VISIBLE"; |
| public final String DELETE_PATH_ID = "DELETE_PATH_ID"; |
| } |
| |
| class IncomingPaths extends BaseTable { |
| public IncomingPaths() { |
| super("INCOMING_PATHS", "PR_FK INTEGER NOT NULL REFERENCES PATHS_2_REVS (ID)"); |
| } |
| |
| public final String PR_FK = ""; |
| } |
| |
| //SqlJetTypeAffinity |
| } |