GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Added typed columns for better CREATE SQL support by ez-plugins · Pull Request #44 · EzFramework/JavaQueryBuilder

Conversation

@ez-plugins

@ez-plugins ez-plugins commented Apr 22, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

ColumnType for type-safe column definitions

  • Add ColumnType final class with 25 fixed-type constants (TINYINT through
    UUID), 7 parameterised factory methods (varChar, charType, decimal,
    numeric, binary, varBinary, timestamp), and 4 chainable modifier methods
    (notNull, unique, autoIncrement, defaultValue)
  • Add CreateBuilder.column(String, ColumnType) overload; delegates to the
    existing column(String, String) via ColumnType.toSql(), fully backward
    compatible
  • Add ColumnTypeTest: 32 tests covering constants, factories, modifiers,
    chaining, and CreateBuilder integration

Per-type shorthand classes

Each class in the new col package wraps a single ColumnType constant or
factory method behind a concise name and a uniform of() / of(params)
factory. Developers can use a wildcard import to write:

import com.github.ezframework.javaquerybuilder.query.builder.col.*;

.column("id",         Int.of().notNull().autoIncrement())
.column("username",   VarChar.of(64).notNull().unique())
.column("price",      Decimal.of(10, 2))
.column("created_at", Timestamp.of())

instead of prefixing every type with ColumnType.

Classes added (31 total):
Fixed types: TinyInt, SmallInt, Int, BigInt, SqlFloat, SqlDouble,
Real, Bool, Text, TinyText, MediumText, LongText, Clob,
Blob, TinyBlob, MediumBlob, LongBlob, Date, Time, DateTime,
Json, Serial, BigSerial, Uuid
Parameterised types: Timestamp (overloaded of() / of(int)),
VarChar, Char, Decimal, Numeric, Binary, VarBinary

  • SqlFloat / SqlDouble / Bool named to avoid shadowing java.lang types
    when the package is wildcard-imported
  • ColTypesTest: 34 tests covering all classes and modifier chaining

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
ez-plugins added 4 commits April 22, 2026 22:45
@ez-plugins
fix(docs): resolve MD012/MD032/MD047 markdown lint violations
341d8f3
- README.md: remove double blank lines before ## Features,
  ## Global and Per-Query Configuration, and ## License (MD012)
- README.md: add missing trailing newline at end of file (MD047)
- AGENTS.md: add blank lines before unordered lists (MD032)
@ez-plugins
feat(builder): add ColumnType for type-safe column definitions in Cre…
cffe8df
…ateBuilder

- Add ColumnType final class with 25 fixed-type constants (TINYINT through
  UUID), 7 parameterised factory methods (varChar, charType, decimal,
  numeric, binary, varBinary, timestamp), and 4 chainable modifier methods
  (notNull, unique, autoIncrement, defaultValue)
- Add CreateBuilder.column(String, ColumnType) overload; delegates to the
  existing column(String, String) via ColumnType.toSql() — fully backward
  compatible
- Add ColumnTypeTest: 32 tests covering constants, factories, modifiers,
  chaining, and CreateBuilder integration
@ez-plugins
docs(queries): update create.md with ColumnType usage guide and type …
d771287
…reference

- Replace minimal example with full ColumnType-based table definition
- Add ColumnType section: fixed-type constant table, parameterised factory
  method table, modifier chain table, and custom-type examples
- Expand IF NOT EXISTS and composite-PK examples to use ColumnType
- Update method reference table to include column(String, ColumnType)
@ez-plugins
feat(col): add per-type shorthand classes in builder.col package
c8dade6
Each class in the new col package wraps a single ColumnType constant or
factory method behind a concise name and a uniform of() / of(params)
factory. Developers can use a wildcard import to write:

    import com.github.ezframework.javaquerybuilder.query.builder.col.*;

    .column("id",         Int.of().notNull().autoIncrement())
    .column("username",   VarChar.of(64).notNull().unique())
    .column("price",      Decimal.of(10, 2))
    .column("created_at", Timestamp.of())

instead of prefixing every type with ColumnType.

Classes added (31 total):
  Fixed types: TinyInt, SmallInt, Int, BigInt, SqlFloat, SqlDouble,
    Real, Bool, Text, TinyText, MediumText, LongText, Clob,
    Blob, TinyBlob, MediumBlob, LongBlob, Date, Time, DateTime,
    Json, Serial, BigSerial, Uuid
  Parameterised types: Timestamp (overloaded of() / of(int)),
    VarChar, Char, Decimal, Numeric, Binary, VarBinary

  - SqlFloat / SqlDouble / Bool named to avoid shadowing java.lang types
    when the package is wildcard-imported
  - ColTypesTest: 34 tests covering all classes and modifier chaining
@codecov

codecov Bot commented Apr 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ez-plugins
fix(docs): resolve MD060 table-column-style lint violations
68f8a2d
- Add spaces to all table separator rows (|---|---| → | --- | --- |)
  across all 19 docs files to satisfy markdownlint MD060 compact style
- Remove orphan duplicate row at end of docs/queries/create.md
@ez-plugins
ez-plugins merged commit 28ad3d5 into main Apr 22, 2026
6 checks passed

Uh oh!

There was an error while loading. Please reload this page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@ez-plugins
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.