@@ -23,74 +23,71 @@ namespace peloton {
2323namespace catalog {
2424
2525ColumnStatsCatalog::ColumnStatsCatalog (
26- storage::Database *pg_catalog,
27- UNUSED_ATTRIBUTE type::AbstractPool *pool,
28- UNUSED_ATTRIBUTE concurrency::TransactionContext *txn)
29- : AbstractCatalog(COLUMN_STATS_CATALOG_OID, COLUMN_STATS_CATALOG_NAME,
30- InitializeSchema ().release(), pg_catalog) {
26+ storage::Database *pg_catalog, UNUSED_ATTRIBUTE type::AbstractPool *pool,
27+ UNUSED_ATTRIBUTE concurrency::TransactionContext *txn)
28+ : AbstractCatalog(COLUMN_STATS_CATALOG_OID, COLUMN_STATS_CATALOG_NAME,
29+ InitializeSchema ().release(), pg_catalog) {
3130 // Add indexes for pg_column_stats
3231 AddIndex ({ColumnId::TABLE_ID, ColumnId::COLUMN_ID},
3332 COLUMN_STATS_CATALOG_SKEY0_OID, COLUMN_STATS_CATALOG_NAME " _skey0" ,
3433 IndexConstraintType::UNIQUE);
3534 AddIndex ({ColumnId::TABLE_ID}, COLUMN_STATS_CATALOG_SKEY1_OID,
3635 COLUMN_STATS_CATALOG_NAME " _skey1" , IndexConstraintType::DEFAULT);
37-
3836}
3937
4038ColumnStatsCatalog::~ColumnStatsCatalog () {}
4139
4240std::unique_ptr<catalog::Schema> ColumnStatsCatalog::InitializeSchema () {
43-
4441 const std::string not_null_constraint_name = " notnull" ;
45- const auto not_null_constraint = catalog::Constraint (
46- ConstraintType::NOTNULL, not_null_constraint_name);
42+ const auto not_null_constraint =
43+ catalog::Constraint ( ConstraintType::NOTNULL, not_null_constraint_name);
4744
4845 auto table_id_column = catalog::Column (
49- type::TypeId::INTEGER, type::Type::GetTypeSize (type::TypeId::INTEGER),
50- " table_id" , true );
46+ type::TypeId::INTEGER, type::Type::GetTypeSize (type::TypeId::INTEGER),
47+ " table_id" , true );
5148 table_id_column.AddConstraint (not_null_constraint);
5249 auto column_id_column = catalog::Column (
53- type::TypeId::INTEGER, type::Type::GetTypeSize (type::TypeId::INTEGER),
54- " column_id" , true );
50+ type::TypeId::INTEGER, type::Type::GetTypeSize (type::TypeId::INTEGER),
51+ " column_id" , true );
5552 column_id_column.AddConstraint (not_null_constraint);
5653 auto num_rows_column = catalog::Column (
57- type::TypeId::INTEGER, type::Type::GetTypeSize (type::TypeId::INTEGER),
58- " num_rows" , true );
54+ type::TypeId::INTEGER, type::Type::GetTypeSize (type::TypeId::INTEGER),
55+ " num_rows" , true );
5956 num_rows_column.AddConstraint (not_null_constraint);
6057 auto cardinality_column = catalog::Column (
61- type::TypeId::DECIMAL, type::Type::GetTypeSize (type::TypeId::DECIMAL),
62- " cardinality" , true );
58+ type::TypeId::DECIMAL, type::Type::GetTypeSize (type::TypeId::DECIMAL),
59+ " cardinality" , true );
6360 cardinality_column.AddConstraint (not_null_constraint);
6461 auto frac_null_column = catalog::Column (
65- type::TypeId::DECIMAL, type::Type::GetTypeSize (type::TypeId::DECIMAL),
66- " frac_null" , true );
62+ type::TypeId::DECIMAL, type::Type::GetTypeSize (type::TypeId::DECIMAL),
63+ " frac_null" , true );
6764 frac_null_column.AddConstraint (not_null_constraint);
6865 auto most_common_vals_column = catalog::Column (
69- type::TypeId::VARCHAR, type::Type::GetTypeSize (type::TypeId::VARCHAR),
70- " most_common_vals" , false );
66+ type::TypeId::VARCHAR, type::Type::GetTypeSize (type::TypeId::VARCHAR),
67+ " most_common_vals" , false );
7168 auto most_common_freqs_column = catalog::Column (
72- type::TypeId::VARCHAR, type::Type::GetTypeSize (type::TypeId::VARCHAR),
73- " most_common_freqs" , false );
69+ type::TypeId::VARCHAR, type::Type::GetTypeSize (type::TypeId::VARCHAR),
70+ " most_common_freqs" , false );
7471 auto histogram_bounds_column = catalog::Column (
75- type::TypeId::VARCHAR, type::Type::GetTypeSize (type::TypeId::VARCHAR),
76- " histogram_bounds" , false );
72+ type::TypeId::VARCHAR, type::Type::GetTypeSize (type::TypeId::VARCHAR),
73+ " histogram_bounds" , false );
7774 auto column_name_column = catalog::Column (
78- type::TypeId::VARCHAR, type::Type::GetTypeSize (type::TypeId::VARCHAR),
79- " column_name" , false );
75+ type::TypeId::VARCHAR, type::Type::GetTypeSize (type::TypeId::VARCHAR),
76+ " column_name" , false );
8077 auto has_index_column = catalog::Column (
81- type::TypeId::BOOLEAN, type::Type::GetTypeSize (type::TypeId::BOOLEAN),
82- " has_index" , true );
78+ type::TypeId::BOOLEAN, type::Type::GetTypeSize (type::TypeId::BOOLEAN),
79+ " has_index" , true );
8380
8481 std::unique_ptr<catalog::Schema> column_stats_schema (new catalog::Schema (
85- {table_id_column, column_id_column, num_rows_column, cardinality_column,
86- frac_null_column, most_common_vals_column, most_common_freqs_column,
87- histogram_bounds_column, column_name_column, has_index_column}));
82+ {table_id_column, column_id_column, num_rows_column, cardinality_column,
83+ frac_null_column, most_common_vals_column, most_common_freqs_column,
84+ histogram_bounds_column, column_name_column, has_index_column}));
8885 return column_stats_schema;
8986}
9087
9188bool ColumnStatsCatalog::InsertColumnStats (
92- oid_t table_id, oid_t column_id, int num_rows,
93- double cardinality, double frac_null, std::string most_common_vals,
89+ oid_t table_id, oid_t column_id, int num_rows, double cardinality,
90+ double frac_null, std::string most_common_vals,
9491 std::string most_common_freqs, std::string histogram_bounds,
9592 std::string column_name, bool has_index, type::AbstractPool *pool,
9693 concurrency::TransactionContext *txn) {
@@ -142,8 +139,7 @@ bool ColumnStatsCatalog::InsertColumnStats(
142139}
143140
144141bool ColumnStatsCatalog::DeleteColumnStats (
145- oid_t table_id, oid_t column_id,
146- concurrency::TransactionContext *txn) {
142+ oid_t table_id, oid_t column_id, concurrency::TransactionContext *txn) {
147143 oid_t index_offset = IndexId::SECONDARY_KEY_0; // Secondary key index
148144
149145 std::vector<type::Value> values;
@@ -154,8 +150,7 @@ bool ColumnStatsCatalog::DeleteColumnStats(
154150}
155151
156152std::unique_ptr<std::vector<type::Value>> ColumnStatsCatalog::GetColumnStats (
157- oid_t table_id, oid_t column_id,
158- concurrency::TransactionContext *txn) {
153+ oid_t table_id, oid_t column_id, concurrency::TransactionContext *txn) {
159154 std::vector<oid_t > column_ids (
160155 {ColumnId::NUM_ROWS, ColumnId::CARDINALITY, ColumnId::FRAC_NULL,
161156 ColumnId::MOST_COMMON_VALS, ColumnId::MOST_COMMON_FREQS,
0 commit comments