/*
* Copyright 2014-2016 CyberVision, Inc.
*
* 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 org.kaaproject.kaa.client.logging;
public interface PersistentLogStorageConstants {
int DB_VERSION = 1;
String DEFAULT_DB_NAME = "kaa_logs";
String LOG_TABLE_NAME = "kaa_logs";
String STORAGE_INFO_TABLE_NAME = "kaa_storage_info";
String RECORD_ID_COLUMN = "record_id";
String BUCKET_ID_COLUMN = "bucket_id";
String BUCKET_STATE_COLUMN = "bucket_state";
String LOG_DATA_COLUMN = "log_data";
String STORAGE_INFO_KEY_COLUMN = "storage_info_key";
String STORAGE_INFO_VALUE_COLUMN = "storage_info_value";
String BUCKET_ID_INDEX_NAME = "IX_BUCKET_ID";
String BUCKET_PENDING_STATE = "pending";
String STORAGE_BUCKET_SIZE = "bucket_size";
String STORAGE_RECORD_COUNT = "record_count";
String KAA_CREATE_LOG_TABLE =
"CREATE TABLE IF NOT EXISTS " + LOG_TABLE_NAME + " ("
+ RECORD_ID_COLUMN + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ BUCKET_ID_COLUMN + " INTEGER NOT NULL, "
+ BUCKET_STATE_COLUMN + " TEXT, "
+ LOG_DATA_COLUMN + " BLOB);";
String KAA_CREATE_INFO_TABLE =
"CREATE TABLE IF NOT EXISTS " + STORAGE_INFO_TABLE_NAME + " ("
+ STORAGE_INFO_KEY_COLUMN + " TEXT UNIQUE, "
+ STORAGE_INFO_VALUE_COLUMN + " INTEGER);";
String KAA_CREATE_BUCKET_ID_INDEX =
"CREATE INDEX IF NOT EXISTS " + BUCKET_ID_INDEX_NAME + " "
+ "ON " + LOG_TABLE_NAME + " (" + BUCKET_ID_COLUMN + ");";
String KAA_HOW_MANY_LOGS_IN_DB =
"SELECT COUNT(*), SUM(LENGTH("
+ LOG_DATA_COLUMN + ")) FROM " + LOG_TABLE_NAME + ";";
String KAA_INSERT_NEW_RECORD =
"INSERT INTO " + LOG_TABLE_NAME
+ "(" + BUCKET_ID_COLUMN + "," + LOG_DATA_COLUMN + ") "
+ "VALUES (?, ?);";
String KAA_DELETE_BY_BUCKET_ID =
"DELETE FROM " + LOG_TABLE_NAME + " "
+ "WHERE " + BUCKET_ID_COLUMN + " = ?;";
String KAA_RESET_BY_BUCKET_ID =
"UPDATE " + LOG_TABLE_NAME + " "
+ "SET " + BUCKET_STATE_COLUMN + " = NULL "
+ "WHERE " + BUCKET_ID_COLUMN + " = ?;";
String KAA_DELETE_ALL_DATA =
"DELETE FROM " + LOG_TABLE_NAME + ";";
String KAA_SELECT_MIN_BUCKET_ID =
"SELECT MIN (" + BUCKET_ID_COLUMN + ") "
+ "FROM " + LOG_TABLE_NAME + " "
+ "WHERE " + BUCKET_STATE_COLUMN + " IS NULL;";
String KAA_SELECT_MAX_BUCKET_ID =
"SELECT MAX (" + BUCKET_ID_COLUMN + ") "
+ "FROM " + LOG_TABLE_NAME + ";";
String KAA_SELECT_LOG_RECORDS_BY_BUCKET_ID =
"SELECT " + LOG_DATA_COLUMN + "," + BUCKET_STATE_COLUMN + " "
+ "FROM " + LOG_TABLE_NAME + " "
+ "WHERE " + BUCKET_ID_COLUMN + "=?;";
String KAA_UPDATE_BUCKET_ID =
"UPDATE " + LOG_TABLE_NAME + " "
+ "SET " + BUCKET_STATE_COLUMN + " = ? "
+ "WHERE " + BUCKET_ID_COLUMN + " = ?;";
String KAA_RESET_BUCKET_STATE_ON_START =
"UPDATE " + LOG_TABLE_NAME + " "
+ "SET " + BUCKET_STATE_COLUMN + " = NULL "
+ "WHERE " + BUCKET_STATE_COLUMN + " IS NOT NULL;";
String KAA_UPDATE_STORAGE_INFO =
"INSERT OR REPLACE INTO " + STORAGE_INFO_TABLE_NAME + " "
+ "(" + STORAGE_INFO_KEY_COLUMN + "," + STORAGE_INFO_VALUE_COLUMN + ") "
+ "VALUES (?, ?);";
String KAA_SELECT_STORAGE_INFO =
"SELECT " + STORAGE_INFO_VALUE_COLUMN + " "
+ "FROM " + STORAGE_INFO_TABLE_NAME + " "
+ "WHERE " + STORAGE_INFO_KEY_COLUMN + " = ?;";
}