From 0618190f46ccacea8620dbbcd30ce645c3cf8bc0 Mon Sep 17 00:00:00 2001 From: mysticmind Date: Fri, 9 Oct 2026 20:59:38 +0530 Subject: [PATCH 1/2] Improve NuGet tags and description for discovery - Tags now cover what the library does (ast, deparse, formatter, fingerprint, normalize, tokenizer, plpgsql, query-analysis, sql-rewrite, native-aot) and the names people search by (sql, pg_query), replacing three near-duplicate parser tags - The description lists the capabilities and supported platforms - Release notes point at the README's What's new section --- src/PgSqlParser/PgSqlParser.csproj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/PgSqlParser/PgSqlParser.csproj b/src/PgSqlParser/PgSqlParser.csproj index f285d3a..b50df39 100644 --- a/src/PgSqlParser/PgSqlParser.csproj +++ b/src/PgSqlParser/PgSqlParser.csproj @@ -1,7 +1,7 @@  - .NET wrapper on libpg_query to access PostgreSQL parser outside of the server environment + PostgreSQL SQL parser for .NET, built on libpg_query, the real PostgreSQL parser. Parse SQL to an AST, deparse and format it, fingerprint and normalize queries, split scripts, tokenize, classify statements, find the tables and columns a query uses, analyse locks, rewrite queries and parse PL/pgSQL. Native libraries included for Linux (glibc and musl), macOS and Windows on x64 and ARM64. Native AOT compatible. 2.1.0 Babu Annamalai net8.0;net9.0;net10.0 @@ -13,7 +13,8 @@ README.md https://github.com/mysticmind/pgsqlparser-dotnet git - postgres;pg;pgsql;postgresql;postgres-parser;libpg_query;sql-parser;parser;query-parser + postgresql;postgres;pg;pgsql;sql;parser;sql-parser;ast;libpg_query;pg_query;deparse;formatter;sql-formatter;fingerprint;normalize;tokenizer;plpgsql;query-analysis;sql-rewrite;native-aot + See https://github.com/mysticmind/pgsqlparser-dotnet#whats-new-in-21 pgsqlparser PgSqlParser From 5866ec84bbcababc8628bdeed5fad0f41b792918 Mon Sep 17 00:00:00 2001 From: mysticmind Date: Fri, 9 Oct 2026 21:22:05 +0530 Subject: [PATCH 2/2] Add the library icon and use it as the NuGet package icon --- README.md | 2 ++ assets/icon-512.png | Bin 0 -> 34652 bytes assets/icon.png | Bin 0 -> 20808 bytes assets/icon.svg | 2 ++ src/PgSqlParser/PgSqlParser.csproj | 2 ++ 5 files changed, 6 insertions(+) create mode 100644 assets/icon-512.png create mode 100644 assets/icon.png create mode 100644 assets/icon.svg diff --git a/README.md b/README.md index 8f6a16a..3dd30c4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +PgSqlParser icon: an elephant holding a parse tree + # PgSqlParser [![Nuget Package](https://badgen.net/nuget/v/pgsqlparser)](https://www.nuget.org/packages/pgsqlparser/) .NET version of [https://github.com/pganalyze/libpg_query](https://github.com/pganalyze/libpg_query). This .NET wrapper on libpg_query C library which uses the actual PostgreSQL server source to parse SQL queries and return the internal PostgreSQL parse tree. diff --git a/assets/icon-512.png b/assets/icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..f6093e2fd2c6cbc7e8560f7191cf44308e505312 GIT binary patch literal 34652 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 literal 0 HcmV?d00001 diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..143a5c9e5b34a35858e810a6a7b96d2352205533 GIT binary patch literal 20808 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%0DUheqBX07?(s7gWB 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 + \ No newline at end of file diff --git a/src/PgSqlParser/PgSqlParser.csproj b/src/PgSqlParser/PgSqlParser.csproj index b50df39..a8766bc 100644 --- a/src/PgSqlParser/PgSqlParser.csproj +++ b/src/PgSqlParser/PgSqlParser.csproj @@ -11,6 +11,7 @@ https://github.com/mysticmind/pgsqlparser-dotnet MIT README.md + icon.png https://github.com/mysticmind/pgsqlparser-dotnet git postgresql;postgres;pg;pgsql;sql;parser;sql-parser;ast;libpg_query;pg_query;deparse;formatter;sql-formatter;fingerprint;normalize;tokenizer;plpgsql;query-analysis;sql-rewrite;native-aot @@ -116,6 +117,7 @@ + true runtimes/%(RecursiveDir)native/%(Filename)%(Extension)