{"id":17995645,"url":"https://github.com/perl5-dbi/dbd-unify","last_synced_at":"2026-02-07T13:32:27.116Z","repository":{"id":27185124,"uuid":"30655065","full_name":"perl5-dbi/DBD-Unify","owner":"perl5-dbi","description":"DBD::Unify --  a Unify interface for Perl 5 using DBI.","archived":false,"fork":false,"pushed_at":"2024-12-31T11:45:02.000Z","size":1205,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-12-31T12:27:49.565Z","etag":null,"topics":["database","database-access","database-connector","dbd","dbi","perl","perl-database-interface","perl5","unify"],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"linhua55/google-hosts","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/perl5-dbi.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-02-11T15:43:56.000Z","updated_at":"2024-12-31T11:45:06.000Z","dependencies_parsed_at":"2024-06-18T16:10:10.884Z","dependency_job_id":"4a0f64df-3660-4caf-aee2-dbe2e9535672","html_url":"https://github.com/perl5-dbi/DBD-Unify","commit_stats":{"total_commits":265,"total_committers":10,"mean_commits":26.5,"dds":0.6301886792452831,"last_synced_commit":"35f9b853689da4f57c08b352f2d178f103f82d25"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perl5-dbi%2FDBD-Unify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perl5-dbi%2FDBD-Unify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perl5-dbi%2FDBD-Unify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perl5-dbi%2FDBD-Unify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perl5-dbi","download_url":"https://codeload.github.com/perl5-dbi/DBD-Unify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238286544,"owners_count":19446995,"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","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":["database","database-access","database-connector","dbd","dbi","perl","perl-database-interface","perl5","unify"],"created_at":"2024-10-29T21:08:54.792Z","updated_at":"2026-02-07T13:32:27.109Z","avatar_url":"https://github.com/perl5-dbi.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"DBD::Unify --  a Unify interface for Perl 5 using DBI.\n\nThis is the Database Driver for the Unify family of database products.\nSee http://support.guptatechnologies.com/supportwiki/index.php/Platforms\nfor Unify DataServer products.\n\nSee the ChangeLog file for a complete history\n\nREQUIREMENTS\n\n    It has been ported and tested on DataServer 6.3AB, 6.3BE, 8.1CC, 8.1CE,\n    8.1DAB, 8.2AC, 8.2AD, 8.2B, 8.2BC, 8.3E/64, 8.3F/64, 8.3I/64, 8.3KAB/64,\n    and 9.1B, but this does not mean it might not work on U2000 databases or\n    other DataServer releases.\n\n    I have tested with DBI-1.643 .. DBI 1.643 and perl-5.8.6 through 5.40.0,\n    but you might get it to work with DBI 0.93 or higher.  But then again, in\n    that case you should consider an upgrade. As of DBD-Unify-0.40 I've made\n    DBI-1.42 prerequisite.  DBD-Unify-0.70 raised the minimum supported\n    perl version to perl-5.6 and version 0.90 raised it to perl-5.8.6.\n\n    The test case however uses scalarIO to catch errors, so if you use a\n    perl that does not support scalarIO (e.g. perlIO enabled), you will\n    have to disable the failing tests that use it yourself and hope for\n    the best (or better, upgrade to a perl that supports scalarIO).\n\n    Don't expect anything Unicode releated DataServer data to work on perl\n    versions below 5.8.4 (if you get it to work at all).  Note that $LANG\n    will need to match your database locale. See the Unicode site for the\n    differences between the Unicode standards if you want to know what to\n    expect (http://www.unicode.org/versions/enumeratedversions.html) and\n    http://www.unicode.org/history/publicationdates.html for their age.\n\n      Perl version\n      Stable  Devel   Unicode\n      ------  ------- -------\n              5.37.5   15.0.0  UCD 15.0.0 released 13 Sep 2022\n      5.36.0  5.35.4   14.0.0  UCD 14.0.0 released 14 Sep 2021\n      5.32.0  5.31.10  13.0.0  UCD 13.0.0 released 10 Mar 2020\n      5.30.0  5.29.10  12.1.0  UCD 12.1.0 released 07 May 2019\n              5.29.9   12.0.0  UCD 12.0.0 released 05 Mar 2019\n              5.29.2   11.0.0  UCD 11.0.0 released 05 Jun 2018\n      5.28.0  5.27.2   10.0.0  UCD 10.0.0 released 20 Jun 2017\n      5.26.0  5.25.3    9.0.0  UCD  9.0.0 released 21 Jun 2016\n      5.24.0  5.23.0    8.0.0  UCD  8.0.0 released 17 Jun 2015\n      5.22.0  5.21.1    7.0.0  UCD  7.0.0 released 16 Jun 2014\n      5.20.0  5.19.5    6.3.0  UCD  6.3.0 released 30 Sep 2013\n      5.18.0  5.17.1    6.2.0  UCD  6.2.0 released 26 Sep 2012\n      5.16.0  5.15.8    6.1.0  UCD  6.1.0 released 31 Jan 2012\n      5.14.0  5.13.7    6.0.0  UCD  6.0.0 released 11 Oct 2010\n      5.12.0  5.11.3    5.2.0  UCD  5.2.0 released 01 Oct 2009\n      5.10.1  5.10.1    5.1.0  UCD  5.1.0 released 04 Apr 2008\n      5.10.0  5.9.5     5.0.0  UCD  5.0.0 released 14 Jul 2006\n      5.8.7   5.8.7     4.1.0  UCD  4.1.0 released 31 Mar 2005\n      5.8.5   5.8.5     4.0.1  UCD  4.0.1 released    Mar 2004\n      5.8.1   5.8.1     4.0.0  UCD  4.0.0 released 24 Apr 2003\n      5.8.0   5.8.0     3.2.0  UCD  3.2.0 released 02 Apr 2002\n              5.7.x     3.1.1  UCD  3.1.1 released    Aug 2001\n                        3.0.x  UCD  3.0.0 released    Sep 1999\n                               UCD  1.0.0 draft was planned spring 1991 :)\n\n    Use 'corelist -a Unicode' to see the complete list of what version of\n    Unicode is shipped with what version of perl.\n\n    One user has reported success with perl 5.005_03 on SunOS 5.7 with\n    gcc-2.7.2.2, DBI-1.30, DBD-Unify-0.24 with DataServer-7.2.\n\n    Todd Zervas reported working versions:\n    - 0.65 working on 32bit 9.0G on Linux 2.4.21-47.EL\n    - 0.76 working on 32bit 9.0G on Linux 2.6.18-92.1.22.el5PAE\n    - 0.77 working on 32bit 9.0G on Linux 2.6.18-128.1.14.el5PAE\n\t\t   with GNU g++ 4.1.2, perl-5.8.8, and DBI-1.609\n    - 0.89 working on 64bit 9.1D on Linux 2.6.32-642.6.2   (RHEL 6.7)\n\t\t   with DBI 1.623\n    - 0.90 working on 64bit 9.1E on Linux 3.10.0-1062.12.1 (RHEL 7.7)\n\t\t   with DBI 1.627 and Perl 5.16.3\n\nBUILDING, TESTING AND INSTALLING:\n\n    This will only work if DBI is installed on a recent version of perl ;-)\n    and you are working in a valid Unify environment. Makefile.PL will stop\n    with a warning if you are not.\n\n\t   # perl Makefile.PL\n\n    This step will ask you if you need networked databases. Probably you do\n    not, which is the default answer. Choosing 'Yes' will include two more\n    libraries that are broken in 8.1CC for HP-UX. Choosing 'No' will prefer\n    U2000ul.a and S2000ul.a over U2000u.a and S2000u.a resulting in smaller\n    binaries with local-only support.\n\n    If you are using gcc, it might be needed to explicitly tell Unify to\n    use it, because ucc defaults to cc (always):\n\n\t   # export UPPNAME=/usr/local/pa20_32/bin/gcc\n\t   # export UCCNAME=/usr/local/pa20_32/bin/gcc\n\t   # export ULDNAME=/usr/local/pa20_32/bin/gcc\n\n    Another approach would be:\n\n\t   # ln -s /usr/local/pa20_32/bin/gcc cc\n\t   # export PATH=\".:$PATH\"\n\n    Now you need to build the objects:\n\n\t   # make\n\n    And if that succeeds, run the tests:\n\n\t   # make test\n\n    Make test will use the current database and create a table \"xx\". If\n    the test fails, table xx might still exist. If it already exists,\n    it might get lost, so be aware!\n\n    Make test will try to test all DBI features found in the DBI-1.19 docs\n    even some that are not DBD dependent. Partly to show that it still works\n    for DBD::Unify, and partly to find what features are still to be\n    implemented. Features known to fail will issue an ok when ran with\n    make test, but will show additional comments with a todo tag when run\n    directly (e.g. 'perl t/11-dbi-dbh.t'). Note that the t/21-uni-regex test\n    skips the test for 'SHLIKE' because this will cause core dumps. Advice:\n    do *not* use SHLIKE, but use REGLIKE (which is quite easy to convert to\n    from SHLIKE). All versions above A/SQL 8.2AC should have this problem\n    solved. The test is enabled by default. If you have an older (crashing)\n    version, disable this test by removing the hash in line\n\n      #if (\"This test is known to fail\") { ok (\"shlike will core\", 1) } else\n\n    If you happen to have a DataServer only product (no accell), make\n    will probably complain about a missing ACCELL.a from Makefile.PL\n    The workaround seems to be to remove the reference to ACCELL.a from\n    Makefile.PL (reported by Ron Kuris)\n\n\t   # make install\n\n    Will install the DBD::Unify extension into the default perl path's. If\n    you plan to run different perl versions and/or different Unify versions\n    alongside eachother, use the installu.pl script instead, which installs\n    DBD::Unify in the Unify tree [ .../lib/perl ], and extend the environment\n    variable $PERL5LIB with $UNIFY/perl\n\n\t  # make installu\n\n    As with all modules: Patches are welcome.\n\nSOURCE CODE\n\n    Recent changes can be (re)viewed in the public GIT repository at\n    https://github.com/perl5-dbi/DBD-Unify\n    Feel free to clone your own copy:\n\n     $ git clone https://github.com/perl5-dbi/DBD-Unify DBD-Unify\n\n    or get it as a tgz:\n\n     $ wget --output-document=DBD-Unify.tgz \\\n            https://github.com/perl5-dbi/DBD-Unify/archive/master.tar.gz\n\nSHARED BUILDS on HP-UX\n\n    As of somewhere in the DataServer 8.2 track, Unify has finally indulged\n    to my request for shared library prepared objects, at least on HP-UX,\n    where they only ship static libraries. Objects inside these libraries\n    are now built with the +Z option, so it is easy to convert the static\n    libraries (.a) to shared libraries (.sl). The Makefile build process\n    will propose such transition, and - once succeeded - use it for the now\n    shared object, which is *much* smaller than when built statically. This\n    does not always work. If things fail, choose for the static route.\n    \nNAMING CONFLICTS\n\n    In their enormous wisdom, Unify have chosen a function named \"inflate\"\n    to be exported in their libraries. This will conflict with libz. If\n    you use any module that uses a shared lib that requires libz, this\n    will result in core dumps that are hard to trace. A possible solution\n    is to rename the function *after* building. This is - of course - very\n    very very dirty, but if it works, it will circumvent the problem:\n\n     $ make\n     $ perl -pi -e's/\\0inflate\\0/\\0InFlate\\0/g' \\\n          blib/arch/auto/DBD/Unify/Unify.so\n     $ make test\n\nRESTRICTIONS:\n\n    This is a basic port for Unify. At the moment of writing, this DBD\n    does not support all DBI elements, methods and attributes. I'll add\n    these the moment I need them myself, or one of you will supply them\n    as patches.\n\n    DATE and TIME fields are not fully supported. The database interaction\n    works, but there are some issues left to iron out in the user\n    interface. We're working on it. Suggestions welcome.\n\n    TEXT and BINARY fields are supported as of version 0.60, but probably\n    not fully tested. Feedback and patches welcome.\n\n    Other known restrictions:\n\n    # Incomplete or out-of-date documentation, though I keep trying to\n      keep in pace with what I change\n\n    # Some database attributes not (yet) implemented. (AutoCommit et all)\n\n    # Most statement attributes are now implemented. Those needed for\n      $sth-\u003efetchrow_hashref () now work, but STORE_attrib () doesn't.\n\n      DBD::Unify tries to return the {TYPE} attribute in ANSI/ODBC DBI\n      compliant coding, and has the original Unify field type available\n      in the {uni_types} attribute. For AMOUNT and HUGE AMOUNT however,\n      ANSI has no defined codes. These will be returned as SQL_FLOAT and\n      SQL_DOUBLE, with the {SCALE} set to 2.\n\n    And deficiencies/shortcommings that come with Unify:\n\n    # Unify does not supply the \"NULLABLE\" indicator when describing\n      fields, the returned value is as documented always 2.\n\n    # Unify does not return the desired length of non-character type\n      fields, but the /maximum/ PRECISION for those fields\n\n    # Unify has no VARCHAR concept\n\n    # Unify only distributes static libraries, so the module might\n      become rather big. Libraries on AIX are always shared, and some\n      of Unify's libraries can safely be converted to shared libs,\n      but that is no guarantee to work.\n\n    # At least until 8.2, Unify library pool does *NOT* allow more then\n      one different database open at the same time from within the same\n      process (even when the first database has correctly disconnected\n      and closed) :-(\n\n      This problem is known  with Unify and registered in their bug\n      database as 'usb100963: disconnect'. Unify Sacramento has finally\n      located the bug's source after yet again I reported this in\n      bug report 22960. DBD-Unify 0.25 and up have a workaround for all\n      versions up to and including 8.2AD. It's fixed in 8.2B.\n\nTODO:\n\n    See module documentation for specific TODO items\n\n    # Remove as many restrictions as possible\n    # Add more tests\n    # Investigate if LIKE and SHLIKE operators in positional parameters\n      indeed do not work (I've seen that, but found no time yet to look\n      into this more). Currently it cores on SHLIKE. See t/21-uni-regex.t\n    # Try finding ways to increase performance, squeezing every last\n      nanosecond out of each handle\n    # If you're into Unify internals, try finding out why describing\n      positional parameters in where clauses (not in selected fields)\n      causes a core dump on the field name. Look in dbdimp.ic in function\n      dbd_prm_describe () for comment about OSF/1.\n\nACKNOWLEDGEMENTS\n\n    Thanks to Tom Poage \u003cpoage@fireball.ucdmc.ucdavis.edu\u003e for keeping\n    the speed in the early development and help in adding the missing\n    features in the earlier stages of this DBD interface.\n\n    Thanks to Todd Zervas \u003ctazervas@earthlink.net\u003e for digging in the\n    binary issues on DS 9.0.\n\nCOPYRIGHT AND LICENSE\n\n    Copyright (C) 1999-2026  H.Merijn Brand \u003chmbrand@cpan.org\u003e\n\n    This library is free software; you can redistribute it and/or modify\n    it under the same terms as Perl itself. \n\nAs always, have the appropriate amount of fun!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperl5-dbi%2Fdbd-unify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperl5-dbi%2Fdbd-unify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperl5-dbi%2Fdbd-unify/lists"}