Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
Loading...
Searching...
No Matches
run_all_samples.cpp File Reference

Sample runner that executes all available database system samples. More...

#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <functional>
#include <memory>
#include <chrono>
#include <iomanip>
Include dependency graph for run_all_samples.cpp:

Go to the source code of this file.

Classes

struct  sample_info
 
class  sample_runner
 

Functions

void run_basic_usage_sample ()
 
void run_postgres_advanced_sample ()
 
void run_connection_pool_demo_sample ()
 
void print_usage (const char *program_name)
 
int main (int argc, char *argv[])
 

Detailed Description

Sample runner that executes all available database system samples.

Definition in file run_all_samples.cpp.

Function Documentation

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 185 of file run_all_samples.cpp.

185 {
186 sample_runner runner;
187
188 if (argc == 1) {
189 // No arguments - run all samples
190 runner.run_all_samples();
191 } else if (argc == 2) {
192 std::string arg = argv[1];
193
194 if (arg == "--help" || arg == "-h") {
195 print_usage(argv[0]);
196 } else if (arg == "--list" || arg == "-l") {
197 std::cout << "=== Database System - Available Samples ===" << std::endl;
198 runner.list_available_samples();
199 } else {
200 // Run specific sample
201 runner.run_specific_sample(arg);
202 }
203 } else {
204 std::cout << "Error: Too many arguments" << std::endl;
205 print_usage(argv[0]);
206 return 1;
207 }
208
209 return 0;
210}
void run_specific_sample(const std::string &sample_name)
void list_available_samples()
void print_usage(const char *program_name)

References sample_runner::list_available_samples(), print_usage(), sample_runner::run_all_samples(), and sample_runner::run_specific_sample().

Here is the call graph for this function:

◆ print_usage()

void print_usage ( const char * program_name)
Examples
run_all_samples.cpp.

Definition at line 168 of file run_all_samples.cpp.

168 {
169 std::cout << "Database System Samples Runner" << std::endl;
170 std::cout << "Usage: " << program_name << " [sample_name]" << std::endl;
171 std::cout << std::endl;
172 std::cout << "Options:" << std::endl;
173 std::cout << " <no args> Run all samples" << std::endl;
174 std::cout << " sample_name Run specific sample" << std::endl;
175 std::cout << " --list List available samples" << std::endl;
176 std::cout << " --help Show this help message" << std::endl;
177 std::cout << std::endl;
178 std::cout << "Examples:" << std::endl;
179 std::cout << " " << program_name << " # Run all samples" << std::endl;
180 std::cout << " " << program_name << " basic_usage # Run basic usage sample" << std::endl;
181 std::cout << " " << program_name << " postgres_advanced # Run PostgreSQL advanced sample" << std::endl;
182 std::cout << " " << program_name << " --list # List all samples" << std::endl;
183}

Referenced by main().

Here is the caller graph for this function:

◆ run_basic_usage_sample()

void run_basic_usage_sample ( )
Examples
run_all_samples.cpp.

Definition at line 153 of file run_all_samples.cpp.

153 {
154 std::cout << "Note: This would run the basic usage sample." << std::endl;
155 std::cout << "To run the actual sample, execute: ./basic_usage" << std::endl;
156}

Referenced by sample_runner::register_samples().

Here is the caller graph for this function:

◆ run_connection_pool_demo_sample()

void run_connection_pool_demo_sample ( )
Examples
run_all_samples.cpp.

Definition at line 163 of file run_all_samples.cpp.

163 {
164 std::cout << "Note: This would run the connection pool demo sample." << std::endl;
165 std::cout << "To run the actual sample, execute: ./connection_pool_demo" << std::endl;
166}

Referenced by sample_runner::register_samples().

Here is the caller graph for this function:

◆ run_postgres_advanced_sample()

void run_postgres_advanced_sample ( )
Examples
run_all_samples.cpp.

Definition at line 158 of file run_all_samples.cpp.

158 {
159 std::cout << "Note: This would run the PostgreSQL advanced sample." << std::endl;
160 std::cout << "To run the actual sample, execute: ./postgres_advanced" << std::endl;
161}

Referenced by sample_runner::register_samples().

Here is the caller graph for this function: