{"id":18981399,"url":"https://github.com/awncorp/zing-store-sqlite","last_synced_at":"2025-08-21T22:16:44.914Z","repository":{"id":55580880,"uuid":"322661230","full_name":"awncorp/zing-store-sqlite","owner":"awncorp","description":"SQLite Storage for Zing Abstractions","archived":false,"fork":false,"pushed_at":"2020-12-26T17:20:36.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-20T04:03:17.172Z","etag":null,"topics":["perl","perl5","sqlite","sqlite3"],"latest_commit_sha":null,"homepage":"https://metacpan.org/release/Zing-Store-Sqlite","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awncorp.png","metadata":{"files":{"readme":"README","changelog":"CHANGES","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-18T17:26:21.000Z","updated_at":"2022-07-24T21:03:38.000Z","dependencies_parsed_at":"2022-08-15T03:31:28.611Z","dependency_job_id":null,"html_url":"https://github.com/awncorp/zing-store-sqlite","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/awncorp/zing-store-sqlite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fzing-store-sqlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fzing-store-sqlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fzing-store-sqlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fzing-store-sqlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awncorp","download_url":"https://codeload.github.com/awncorp/zing-store-sqlite/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fzing-store-sqlite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271553114,"owners_count":24779820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["perl","perl5","sqlite","sqlite3"],"created_at":"2024-11-08T16:09:44.298Z","updated_at":"2025-08-21T22:16:44.876Z","avatar_url":"https://github.com/awncorp.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"NAME\n\n    Zing::Store::Sqlite - Sqlite Storage\n\nABSTRACT\n\n    Sqlite Storage Abstraction\n\nSYNOPSIS\n\n      use Test::DB::Sqlite;\n      use Zing::Encoder::Dump;\n      use Zing::Store::Sqlite;\n    \n      my $testdb = Test::DB::Sqlite-\u003enew;\n      my $store = Zing::Store::Sqlite-\u003enew(\n        client =\u003e $testdb-\u003ecreate-\u003edbh,\n        encoder =\u003e Zing::Encoder::Dump-\u003enew\n      );\n    \n      # $store-\u003edrop;\n\nDESCRIPTION\n\n    This package provides a SQLite-specific storage adapter for use with\n    data persistence abstractions. The \"client\" attribute accepts a DBI\n    object configured to connect to a DBD::SQLite backend. The ZING_DBNAME\n    environment variable can be used to specify the database name (defaults\n    to \"zing.db\"). The ZING_DBZONE environment variable can be used to\n    specify the database table name (defaults to \"entities\").\n\nINHERITS\n\n    This package inherits behaviors from:\n\n    Zing::Store\n\nLIBRARIES\n\n    This package uses type constraints from:\n\n    Zing::Types\n\nATTRIBUTES\n\n    This package has the following attributes:\n\n client\n\n      client(InstanceOf[\"DBI::db\"])\n\n    This attribute is read-only, accepts (InstanceOf[\"DBI::db\"]) values,\n    and is optional.\n\nMETHODS\n\n    This package implements the following methods:\n\n decode\n\n      decode(Str $data) : HashRef\n\n    The decode method decodes the JSON data provided and returns the data\n    as a hashref.\n\n    decode example #1\n\n        # given: synopsis\n      \n        $store-\u003edecode('{\"status\"=\u003e\"ok\"}');\n\n drop\n\n      drop(Str $key) : Int\n\n    The drop method removes (drops) the item from the datastore.\n\n    drop example #1\n\n        # given: synopsis\n      \n        $store-\u003edrop('zing:main:global:model:temp');\n\n encode\n\n      encode(HashRef $data) : Str\n\n    The encode method encodes and returns the data provided as JSON.\n\n    encode example #1\n\n        # given: synopsis\n      \n        $store-\u003eencode({ status =\u003e 'ok' });\n\n keys\n\n      keys(Str @keys) : ArrayRef[Str]\n\n    The keys method returns a list of keys under the namespace of the\n    datastore or provided key.\n\n    keys example #1\n\n        # given: synopsis\n      \n        my $keys = $store-\u003ekeys('zing:main:global:model:temp');\n\n    keys example #2\n\n        # given: synopsis\n      \n        $store-\u003esend('zing:main:global:model:temp', { status =\u003e 'ok' });\n      \n        my $keys = $store-\u003ekeys('zing:main:global:model:temp');\n\n lpull\n\n      lpull(Str $key) : Maybe[HashRef]\n\n    The lpull method pops data off of the top of a list in the datastore.\n\n    lpull example #1\n\n        # given: synopsis\n      \n        $store-\u003elpull('zing:main:global:model:items');\n\n    lpull example #2\n\n        # given: synopsis\n      \n        $store-\u003erpush('zing:main:global:model:items', { status =\u003e 'ok' });\n      \n        $store-\u003elpull('zing:main:global:model:items');\n\n lpush\n\n      lpush(Str $key, HashRef $val) : Int\n\n    The lpush method pushed data onto the top of a list in the datastore.\n\n    lpush example #1\n\n        # given: synopsis\n      \n        $store-\u003elpush('zing:main:global:model:items', { status =\u003e '1' });\n\n    lpush example #2\n\n        # given: synopsis\n      \n        $store-\u003elpush('zing:main:global:model:items', { status =\u003e '0' });\n      \n        $store-\u003elpush('zing:main:global:model:items', { status =\u003e '0' });\n\n recv\n\n      recv(Str $key) : Maybe[HashRef]\n\n    The recv method fetches and returns data from the datastore by its key.\n\n    recv example #1\n\n        # given: synopsis\n      \n        $store-\u003erecv('zing:main:global:model:temp');\n\n    recv example #2\n\n        # given: synopsis\n      \n        $store-\u003esend('zing:main:global:model:temp', { status =\u003e 'ok' });\n      \n        $store-\u003erecv('zing:main:global:model:temp');\n\n rpull\n\n      rpull(Str $key) : Maybe[HashRef]\n\n    The rpull method pops data off of the bottom of a list in the\n    datastore.\n\n    rpull example #1\n\n        # given: synopsis\n      \n        $store-\u003erpull('zing:main:global:model:items');\n\n    rpull example #2\n\n        # given: synopsis\n      \n        $store-\u003erpush('zing:main:global:model:items', { status =\u003e 1 });\n        $store-\u003erpush('zing:main:global:model:items', { status =\u003e 2 });\n      \n        $store-\u003erpull('zing:main:global:model:items');\n\n rpush\n\n      rpush(Str $key, HashRef $val) : Int\n\n    The rpush method pushed data onto the bottom of a list in the\n    datastore.\n\n    rpush example #1\n\n        # given: synopsis\n      \n        $store-\u003erpush('zing:main:global:model:items', { status =\u003e 'ok' });\n\n    rpush example #2\n\n        # given: synopsis\n      \n        $store-\u003erpush('zing:main:global:model:items', { status =\u003e 'ok' });\n      \n        $store-\u003erpush('zing:main:global:model:items', { status =\u003e 'ok' });\n\n send\n\n      send(Str $key, HashRef $val) : Str\n\n    The send method commits data to the datastore with its key and returns\n    truthy.\n\n    send example #1\n\n        # given: synopsis\n      \n        $store-\u003esend('zing:main:global:model:temp', { status =\u003e 'ok' });\n\n size\n\n      size(Str $key) : Int\n\n    The size method returns the size of a list in the datastore.\n\n    size example #1\n\n        # given: synopsis\n      \n        my $size = $store-\u003esize('zing:main:global:model:items');\n\n    size example #2\n\n        # given: synopsis\n      \n        $store-\u003erpush('zing:main:global:model:items', { status =\u003e 'ok' });\n      \n        my $size = $store-\u003esize('zing:main:global:model:items');\n\n slot\n\n      slot(Str $key, Int $pos) : Maybe[HashRef]\n\n    The slot method returns the data from a list in the datastore by its\n    index.\n\n    slot example #1\n\n        # given: synopsis\n      \n        my $model = $store-\u003eslot('zing:main:global:model:items', 0);\n\n    slot example #2\n\n        # given: synopsis\n      \n        $store-\u003erpush('zing:main:global:model:items', { status =\u003e 'ok' });\n      \n        my $model = $store-\u003eslot('zing:main:global:model:items', 0);\n\n test\n\n      test(Str $key) : Int\n\n    The test method returns truthy if the specific key (or datastore)\n    exists.\n\n    test example #1\n\n        # given: synopsis\n      \n        $store-\u003erpush('zing:main:global:model:items', { status =\u003e 'ok' });\n      \n        $store-\u003etest('zing:main:global:model:items');\n\n    test example #2\n\n        # given: synopsis\n      \n        $store-\u003edrop('zing:main:global:model:items');\n      \n        $store-\u003etest('zing:main:global:model:items');\n\nAUTHOR\n\n    Al Newkirk, awncorp@cpan.org\n\nLICENSE\n\n    Copyright (C) 2011-2019, Al Newkirk, et al.\n\n    This is free software; you can redistribute it and/or modify it under\n    the terms of the The Apache License, Version 2.0, as elucidated in the\n    \"license file\"\n    \u003chttps://github.com/iamalnewkirk/zing-store-redis/blob/master/LICENSE\u003e.\n\nPROJECT\n\n    Wiki \u003chttps://github.com/iamalnewkirk/zing-store-redis/wiki\u003e\n\n    Project \u003chttps://github.com/iamalnewkirk/zing-store-redis\u003e\n\n    Initiatives \u003chttps://github.com/iamalnewkirk/zing-store-redis/projects\u003e\n\n    Milestones\n    \u003chttps://github.com/iamalnewkirk/zing-store-redis/milestones\u003e\n\n    Contributing\n    \u003chttps://github.com/iamalnewkirk/zing-store-redis/blob/master/CONTRIBUTE.md\u003e\n\n    Issues \u003chttps://github.com/iamalnewkirk/zing-store-redis/issues\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawncorp%2Fzing-store-sqlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fawncorp%2Fzing-store-sqlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawncorp%2Fzing-store-sqlite/lists"}