Technical FAQ¶
Common technical questions about General SQL Parser .NET. If you can't find your answer, check our support channels.
Installation & dependencies¶
Does General SQL Parser depend on any third-party libraries?¶
Dependencies
General SQL Parser .NET (GSP) is completely self-contained and has zero third-party NuGet dependencies. The grammar tables for all 15 supported dialects ship as embedded resources inside the assembly.
System requirements:
- Recommended: .NET 10 (LTS, supported through 2028-11)
- Minimum: anything that consumes
netstandard2.0— including .NET Framework 4.6.1+, .NET 6+/8+/10, Mono, Unity, Xamarin - Not supported: .NET Core 3.x, .NET 5, EOL .NET Framework < 4.6.1
Is the .NET version compatible with .NET Standard?¶
Yes — multi-targets net10.0 and netstandard2.0
The library is published as a multi-target NuGet that picks the right TFM at install time:
- .NET 10 consumers get the
net10.0build (full modern API surface) - .NET Framework 4.6.1+ and other classic consumers get the
netstandard2.0build (compatibility facade)
Database connectivity¶
Do I need to connect to a database to validate SQL syntax?¶
No database connection required
GSP can validate SQL syntax completely offline. There is no driver, connection string, or network call involved.
Key benefits:
- No internet connection required
- No database server needed
- All 15 grammar tables included in the NuGet
- Works in air-gapped environments
- Fast local validation
1 2 3 4 5 | |
Which databases can GSP parse without connecting to them?¶
GSP supports 15 dialects for offline parsing:
- DB2, Greenplum, Hive, Impala, Informix, MDX, MSSQL (T-SQL), MySQL, Netezza, Oracle (incl. PL/SQL), PostgreSQL, Redshift, Snowflake, Sybase, Teradata.
See the SQL Syntax Support tables for per-vendor coverage.
SQL syntax support¶
How comprehensive is GSP's SQL syntax support?¶
Our philosophy
The goal is not to support 100% of every vendor's SQL — that's a moving target. The goal is to support the SQL constructs that occur in real-world code, ideally 95%+ of what real users actually write.
Coverage by statement type:
| SQL type | Coverage | Notes |
|---|---|---|
| SELECT | ~98% | CTEs, window functions, LATERAL, QUALIFY |
| INSERT/UPDATE/DELETE/MERGE | ~95% | Standard + vendor extensions |
| DDL (CREATE/ALTER/DROP) | ~90% | Most schema operations |
| Procedural (PL/SQL, T-SQL blocks) | ~85% | Procedures, functions, triggers, anonymous blocks |
| Vendor-specific extensions | ~80% | Newer features tracked release-by-release |
When will new SQL syntax be supported?¶
We add new syntax based on user demand and practical usage. Typical timelines:
- Critical fixes — 2–3 weeks for widely-used syntax or critical parse errors
- Feature requests — 4–8 weeks for new syntax or vendor extensions
- Complex features — 2–6 months for deep language features or major vendor updates
To request support:
- Submit a request
- Provide failing SQL examples
- Specify the vendor and version
- Describe your use case
For urgent requirements, custom development services are available. Contact info@sqlparser.com.
Performance & scalability¶
How fast is General SQL Parser .NET?¶
Performance characteristics
- Simple queries: < 1 ms
- Complex queries: 1–10 ms
- Large stored procedures: 10–100 ms
- Batch processing: 1000+ statements/sec for typical SELECTs (after parser warm-up)
See the Performance Considerations page for detailed numbers and tuning advice.
Optimisation tips:
1 2 3 4 5 6 7 8 | |
Can GSP handle large SQL files?¶
Yes — with the right pattern
For multi-MB files, parse statement-by-statement instead of loading the whole file into one parser.sqltext. See Performance Optimization.
1 2 3 4 5 6 | |
Is TGSqlParser thread-safe?¶
No — a single TGSqlParser instance is not thread-safe. For parallel workloads, give each thread its own parser, or pool them with ConcurrentBag<TGSqlParser>.
Support & troubleshooting¶
How do I get help with parse errors?¶
Before asking for help
- Check this FAQ and the main documentation
- Verify you're using the correct database vendor
- Try reducing the SQL to a minimal failing example
- Read the error handling guide
When reporting issues, include:
- Full failing SQL statement
- Database vendor and version
- The error message from
parser.Errormessage - Expected vs actual behaviour
- GSP .NET version (check
gudusoft.gsqlparser.dll->Versionor your csproj)
Contact methods:
- Email: info@sqlparser.com
- Bug tracker: https://www.sqlparser.com/bugs/mantisbt
- Documentation: https://docs-dotnet.sqlparser.com
What's included in technical support?¶
Support tiers
Free support: email-based, response time 2–3 weeks (not guaranteed).
Priority support: guaranteed response times, direct engineer access, custom development. Contact info@sqlparser.com for details.
Advanced usage¶
Can I extend GSP with custom SQL syntax?¶
Limited extensibility
GSP has limited built-in extensibility for custom SQL syntax. Options:
- Custom development — Gudu can extend GSP for your specific dialect
- Source modification — for enterprise customers with source access
- Preprocessing — transform your custom syntax before parsing
- Feature requests — submit broadly-applicable requests
Does GSP support SQL transformation and rewriting?¶
Yes — full AST access
GSP exposes the full AST for modification, plus a script writer (TScriptGenerator) to re-emit SQL.
1 2 3 4 5 6 7 8 9 10 | |
Common transformations:
- Table/column renames (see the
tableColumnRenamedemo) - Column removals (see
removeColumn) - Condition removals (see
removeCondition) - Join syntax conversion (see
convert/joinConverter.cs)