<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pakakeh.go/lib/sql/meta_example_test.go, branch dev</title>
<subtitle>Collections of packages and tools for working with Go programming language.</subtitle>
<id>http://git.kilabit.info/pakakeh.go/atom?h=dev</id>
<link rel='self' href='http://git.kilabit.info/pakakeh.go/atom?h=dev'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/'/>
<updated>2026-04-07T14:58:19Z</updated>
<entry>
<title>lib/sql: remove JoinValues in favour of [slices.Concat]</title>
<updated>2026-04-07T14:58:19Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-04-07T14:58:19Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=2515c8a3b0b24be4520e6967fcde4bd6323a6fb2'/>
<id>urn:sha1:2515c8a3b0b24be4520e6967fcde4bd6323a6fb2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib/sql: refactoring the BindWhere</title>
<updated>2026-04-07T14:16:50Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-04-07T14:16:50Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=5d61c25421e04d263cd89fbd7e4f428e50b348d5'/>
<id>urn:sha1:5d61c25421e04d263cd89fbd7e4f428e50b348d5</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>all: convert license and copyright to use SPDX identifiers</title>
<updated>2026-01-15T10:26:33Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-15T10:14:54Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=7db8c302e1396eda40cd6a1e57f58ed791448556'/>
<id>urn:sha1:7db8c302e1396eda40cd6a1e57f58ed791448556</id>
<content type='text'>
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/
</content>
</entry>
<entry>
<title>all: comply with linter recommendations #1</title>
<updated>2024-03-05T07:53:03Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-03-02T11:28:58Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=b921ebfb3e81b367ff24305eb18c5dd073b38635'/>
<id>urn:sha1:b921ebfb3e81b367ff24305eb18c5dd073b38635</id>
<content type='text'>
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]
</content>
</entry>
<entry>
<title>all: move the repository to "git.sr.ht/~shulhan/pakakeh.go"</title>
<updated>2024-03-02T08:59:46Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-03-01T20:07:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=901c9803e6f93e0d5ee282f4061309022c46f490'/>
<id>urn:sha1:901c9803e6f93e0d5ee282f4061309022c46f490</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>lib/sql: refactor WhereFields to join where condition with holder as is</title>
<updated>2024-01-30T12:13:22Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-01-30T12:13:22Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=734d077775cee01f2b8b6fd53ad919e824ad6d1e'/>
<id>urn:sha1:734d077775cee01f2b8b6fd53ad919e824ad6d1e</id>
<content type='text'>
When binding parameter with BindWhere, the first parameter will be joined
with the holder. For example, BindWhere("colname&gt;=", p) will result in
"colname&gt;=$1".

While at it, set offset based on [Meta.kind].
</content>
</entry>
<entry>
<title>lib/sql: support update, bind where condition, and subquery in Meta</title>
<updated>2024-01-26T20:07:32Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-01-26T19:45:22Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=24269c23942843c8193998a75882e22111c333ac'/>
<id>urn:sha1:24269c23942843c8193998a75882e22111c333ac</id>
<content type='text'>
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 "="
</content>
</entry>
<entry>
<title>lib/sql: add method WhereHolder to Meta type</title>
<updated>2024-01-25T14:09:00Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-01-25T14:07:27Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=c35eafe48695c6b8de34ebd6b64c4afa28940f34'/>
<id>urn:sha1:c35eafe48695c6b8de34ebd6b64c4afa28940f34</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>lib/sql: add new type Meta</title>
<updated>2024-01-25T11:10:30Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-01-24T19:47:48Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=90216377b90e74698a04ff8218482d91871d212e'/>
<id>urn:sha1:90216377b90e74698a04ff8218482d91871d212e</id>
<content type='text'>
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.
</content>
</entry>
</feed>
