solidb 1.0.1

A lightweight, high-performance structured database server written in Rust.
# JSON Schema Validation Implementation - Summary

## Overview

Successfully implemented optional JSON Schema validation for SoliDB collections using `jsonschema` crate.

## Implementation Details

### Core Components
- **Schema Module** (`src/storage/schema.rs`)
  - `CollectionSchema` struct - Schema metadata with name, schema document, and validation mode
  - `SchemaValidator` struct - Compiled validator with optional `jsonschema::Validator`
  - `SchemaValidationMode` enum - Off, Strict, Lenient modes
  - `SchemaCompilationError` - For invalid schemas
  - `SchemaValidationError` - For document validation failures with detailed violation info

### Integration Points
- **Collection** (`src/storage/collection.rs`)
  - Added `schema_validator: Arc<RwLock<Option<SchemaValidator>>` field to Collection struct
  - Methods:
    - `set_json_schema(schema)` - Set schema and compile validator
    - `get_json_schema()` - Get current schema metadata
    - `remove_json_schema()` - Remove schema
    - `validate_document_schema()` - Validate document against schema
  - Updated all insert/update paths to call validation
  - Added schema to Collection::clone implementation

- **Error Handling** (`src/error.rs`)
  - Added `SchemaValidationError` variant to DbError
  - Added `SchemaCompilationError` variant to DbError
  - Proper error type imports for schema module

- **HTTP API** (`src/server/handlers.rs`)
  - Added schema management endpoints:
    - `POST /collection/{name}/schema` - Set schema
    - `GET /collection/{name}/schema` - Get schema
    - `DELETE /collection/{name}/schema` - Remove schema
  - Updated `CreateCollectionRequest` to include schema and validation_mode fields
  - Added `SetSchemaRequest`, `SchemaResponse` structures

- **API Routes** (`src/server/routes.rs`)
  - Added schema management routes:
    - `POST /_api/database/{db}/collection/{name}/schema`
    - `GET /_api/database/{db}/collection/{name}/schema`
    - `DELETE /_api/database/{db}/collection/{name}/schema`

## Status

### Build Status
- **Compiles cleanly** - No errors or warnings in schema code
-**All tests pass** - 592+ tests passing
-**API integration** - Handlers and routes configured
-**Documentation** - Complete docs in `docs/SCHEMA_VALIDATION.md`

## Next Steps

1. **Documentation** - Update main README.md with schema validation section
2.**Web Dashboard** - Add schema configuration UI in dashboard
3.**Client Libraries** - Add schema methods to all client libraries
4.**Migration** - Add schema export/import support to backup tools

## Dependencies
- Added `jsonschema = "0.38.1"` to Cargo.toml
- Added jsonschema-related imports to lib.rs

## Notes

- Schema is **optional** (default: Off)
- Three validation modes: Off, Strict, Lenient
- Stored per-collection in RocksDB with key prefix `schema_meta:default:`
- Validators are cached in memory for performance
- Validation runs in insert/update/batch operations

## Testing

Run `cargo test --test schema_validation_tests` to verify implementation.