aboutsummaryrefslogtreecommitdiff
path: root/lib/sql/meta_example_test.go
AgeCommit message (Collapse)Author
8 dayslib/sql: remove JoinValues in favour of [slices.Concat]Shulhan
8 dayslib/sql: refactoring the BindWhereShulhan
Changes the BindWhere parameters from two to four. The first parameter is the OR/AND logic. The second parameter is the column name. The third parameter is the operator like "=", "!=". The fourth parameter is the value.
2026-01-15all: convert license and copyright to use SPDX identifiersShulhan
With help of spdxconv tool [1], we able to bulk update all files license and copyright format to comply with SPDX formats. [1] https://kilabit.info/project/spdxconv/
2024-03-05all: comply with linter recommendations #1Shulhan
Instead of annotating the lines that caught by linters, fix it to comply with the recommendations. This causes several breaking changes, especially related to naming, * api/slack: [Message.IconUrl] become [Message.IconURL] * lib/dns: DefaultSoaMinumumTtl become DefaultSoaMinimumTTL * lib/email: [Message.SetBodyHtml] become [Message.SetBodyHTML] * lib/http: [Client.GenerateHttpRequest] become [Client.GenerateHTTPRequest] * lib/http: [ClientOptions.ServerUrl] become [ClientOptions.ServerURL] * lib/http: [EndpointRequest.HttpWriter] become [EndpointRequest.HTTPWriter] * lib/http: [EndpointRequest.HttpRequest] become [EndpointRequest.HTTPRequest] * lib/http: [ServerOptions.EnableIndexHtml] become [ServerOptions.EnableIndexHTML] * lib/http: [SSEConn.HttpRequest] become [SSEConn.HTTPRequest] * lib/smtp: [ClientOptions.ServerUrl] become [ClientOptions.ServerURL] * lib/ssh/sftp: [FileAttrs.SetUid] become [FileAttrs.SetUID] * lib/ssh/sftp: [FileAttrs.Uid] become [FileAttrs.UID]
2024-03-02all: move the repository to "git.sr.ht/~shulhan/pakakeh.go"Shulhan
There are several reasons that why we move from github.com. First, related to the name of package. We accidentally name the package with "share" a common word in English that does not reflect the content of repository. By moving to other repository, we can rename it to better and unique name, in this "pakakeh.go". Pakakeh is Minang word for tools, and ".go" suffix indicate that the repository related to Go programming language. Second, supporting open source. The new repository is hosted under sourcehut.org, the founder is known to support open source, and all their services are licensed under AGPL, unlike GitHub that are closed sources. Third, regarding GitHub CoPilot. The GitHub Terms of Service [1], allow any public content that are hosted there granted them to parse the content. On one side, GitHub helps and flourish the open source, but on another side have an issues regarding scraping the copyleft license [2]. [1]: https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#4-license-grant-to-us [2]: https://githubcopilotinvestigation.com
2024-01-30lib/sql: refactor WhereFields to join where condition with holder as isShulhan
When binding parameter with BindWhere, the first parameter will be joined with the holder. For example, BindWhere("colname>=", p) will result in "colname>=$1". While at it, set offset based on [Meta.kind].
2024-01-27lib/sql: support update, bind where condition, and subquery in MetaShulhan
This changes add parameter kind to NewMeta, which define the kind of DML to be mapped by Meta. The method Add renamed to Bind, and AddWhere renamed to BindWhere. New methods added to Meta, - Sub return the child of Meta for building subquery, - UpdateValues return the merged of ListValue and ListWhereValue for DML UPDATE - WhereFields return string that merge the ListWhereCond and ListHolder separated by "="
2024-01-25lib/sql: add method WhereHolder to Meta typeShulhan
The WhereHolder method generate string of holder, for example "$1,$2,...", based on number of item added with [Meta.AddWhere]. Similar to method Holders but for where condition.
2024-01-25lib/sql: add new type MetaShulhan
Meta contains the DML meta data, including driver name, list of column names, list of column holders, and list of values. The Meta type replace the Row type.