{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":375442439,"defaultBranch":"master","name":"YDBOctoVistA","ownerLogin":"YottaDB","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-06-09T17:45:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/29870125?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1704240008.0","currentOid":""},"activityList":{"items":[{"before":"e1fa31dd6bb78168d49bcbbad2297dc3c229af8c","after":"dfd72363bfa4197c12c778e75c12831046a2ab4e","ref":"refs/heads/master","pushedAt":"2024-08-26T21:50:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nars1","name":"Narayanan Iyer","path":"/nars1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28790583?s=80&v=4"},"commit":{"message":"[YDBOcto#948] Remove `REPLACE` function redefinition and make use of Octo's REPLACE function\n\nThis change is in preparation for https://gitlab.com/YottaDB/DBMS/YDBOcto/-/merge_requests/1523 which makes Octo not allow drop\nstatements on tables and function in octo_seed.sql. The drop statement executed for `REPLACE` function in _YDBOCTOVISTAF.sql will\ngenerate the following error after Octo's changes are merged.\n```\n4: # [ERROR]: ERR_INVALID_DROP: Dropping \"replace\" is disallowed as it is a system object\n4: # [ERROR]: ERR_CANNOT_CREATE_FUNCTION: Function \"replace(VARCHAR, VARCHAR, VARCHAR)\" already exists with same argument types\n```\n`REPLACE` function definition and its M implementation defined in `YDBOctoVistA` is removed by this change as the needed\nfunctionality is provided by Octo (https://gitlab.com/YottaDB/DBMS/YDBOcto/-/merge_requests/1547). Its usage is tested by TVD003\nand TVD0012 in the pipeline.","shortMessageHtmlLink":"[YDBOcto#948] Remove REPLACE function redefinition and make use of …"}},{"before":"50baa99f12cdd4951b5b36bf08d8263679604a9c","after":"e1fa31dd6bb78168d49bcbbad2297dc3c229af8c","ref":"refs/heads/master","pushedAt":"2024-06-25T14:38:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nars1","name":"Narayanan Iyer","path":"/nars1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28790583?s=80&v=4"},"commit":{"message":"[YottaDB/DBMS/YDBOcto#382] Fix DATE conversion logic to apply to all DATE SQLTYPE values\n\nPrevious logic only did the conversion when FMFILE,FMFIELD,$P(^DD(FMFILE,FMFIELD,0),U,5)[\"%DT=\" is TRUE\n```\n I COLUMNSQLTYPE=\"DATE\",FMFILE,FMFIELD,$P(^DD(FMFILE,FMFIELD,0),U,5)[\"%DT=\" D\n```\n\nThis lead to some columns in table definition being a DATE type instead of being a FILEMAN specific DATE type.\n\nExample:\n```sql\n 9885 DROP TABLE IF EXISTS `HOSPITAL_LOCATION_PATTERN`;\n 9886 CREATE TABLE `HOSPITAL_LOCATION_PATTERN`(\n 9887 `HOSPITAL_LOCATION_ID` INTEGER PRIMARY KEY START 0 ENDPOINT '$CHAR(0)',\n 9888 `HOSPITAL_LOCATION_PATTERN_ID` INTEGER KEY NUM 1 START 0 ENDPOINT '$CHAR(0)',\n 9889 `PATTERN_DATE` DATE(FILEMAN) NOT NULL GLOBAL \"^SC(keys(\"\"hospital_location_id\"\"),\"\"ST\"\",keys(\"\"hospital_location_pattern_id\"\"),0)\" PIECE 1,\n 9890 `CURRENT_AVAILABILITY` CHARACTER(90) EXTRACT \"$E($G(^SC(keys(\"\"hospital_location_id\"\"),\"\"ST\"\",keys(\"\"hospital_location_pattern_id\"\"),1)),1,90)\",\n 9891 `MAINTENANCE` CHARACTER(8) EXTRACT \"$$COMPEXP^%YDBOCTOVISTAM(44.005,2,keys(\"\"hospital_location_id\"\"),keys(\"\"hospital_location_pattern_id\"\"))\",\n 9892 `SPECIAL_AVAILABILITY_FLAG` DATE GLOBAL \"^SC(keys(\"\"hospital_location_id\"\"),\"\"ST\"\",keys(\"\"hospital_location_pattern_id\"\"),9)\" PIECE 1\n 9893 )\n 9894 GLOBAL \"^SC(keys(\"\"hospital_location_id\"\"),\"\"ST\"\",keys(\"\"hospital_location_pattern_id\"\"))\" READONLY\n 9895 DELIM \"^\"\n 9896 AIMTYPE 1;\n```\n\nBecause of such issues following errors were seen while running all tables having DATE columns in vista\n```\nselect * from `PRESCRIPTION`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"2881109\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `PRESCRIPTION_REFILL`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"2950509\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `NON_VERIFIED_ORDERS`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"2931013.093647\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `PHARMACY_PATIENT_IV`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"2971208.15\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `PHARMACY_PATIENT_UNIT_DOSE`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"2890204.17\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `LAB_DATA_CHEM_H_T_R_S_ETC`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"7059395.90931\" is invalid for type \"TIMESTAMP\", format \"FILEMAN\" and datestyle \"ISO, YMD\"\nselect * from `LAB_DATA_MICROBIOLOGY`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"2911029\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `CUM_MAJOR_H_M_H_C_D_TIME`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"7099579.8962\" is invalid for type \"TIMESTAMP\", format \"FILEMAN\" and datestyle \"ISO, YMD\"\nselect * from `CUM_MISC_COLL_DATE_TIME`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"7099081.9\" is invalid for type \"TIMESTAMP\", format \"FILEMAN\" and datestyle \"ISO, YMD\"\nselect * from `ACCESSION_DATE_ACC_NUMBER`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"7019186.887092\" is invalid for type \"TIMESTAMP\", format \"FILEMAN\" and datestyle \"ISO, YMD\"\nselect * from `ADVERSE_REACTION_REPORTING`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"2921027.114\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `SURGERY`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"2931217.21\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `SURG_ANES_CARE_TIME_BLOCK`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"3061101.1003\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `ONC_PRIM_SUBS_COUR_OF_TRE`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"2930122\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `PRSE_EDUC_R_S_D_T_O_CLASS`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"2950427\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `PROSTHETIC_SUSPENSE`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"3150706.154633\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\nselect * from `ROR_HIST_DATA_EXTRACTION`;\n[ERROR]: ERR_INVALID_DATE_TIME_VALUE: \"3050401\" is invalid for type \"DATE\", format \"TEXT\" and datestyle \"ISO, YMD\"\n```\n\nSince all values seen are FILEMAN specific the columns that are qualified to be DATE type needs to be converted to be a FILEMAN specific type.\n\nFix\n------\n* The IF block below did the conversion only when `FMFILE,FMFIELD,$P(^DD(FMFILE,FMFIELD,0),U,5)[\"%DT=\"` was also TRUE. This lead to some column\n not having FILEMAN specific type. This commit fixes this by ensuring the type is converted even when `COLUMNSQLTYPE=\"DATE\"` is the only part\n that is TRUE of the IF condition below.\n```\n ; Convert Date column to Timestamp if the column could contain time\n I COLUMNSQLTYPE=\"DATE\",FMFILE,FMFIELD,$P(^DD(FMFILE,FMFIELD,0),U,5)[\"%DT=\" D\n . ; Input transform\n . N IT S IT=$P(^DD(FMFILE,FMFIELD,0),U,5)\n . ; Extract %DT string\n . N QQ S QQ=$P($P(IT,\"%DT=\",2),\" \"),QQ=$P(QQ,\",\")\n . ; Remove quotes\n . N Q S Q=$E(QQ,2,$L(QQ)-1)\n . I Q[\"T\" S COLUMNSQLTYPE=\"TIMESTAMP(FILEMAN)\"\n . E S COLUMNSQLTYPE=\"DATE(FILEMAN)\"\n QUIT COLUMNSQLTYPE\n```","shortMessageHtmlLink":"[YottaDB/DBMS/YDBOcto#382] Fix DATE conversion logic to apply to all …"}},{"before":"7d2bc90387732b2cd11d6f9a4bd47f976b7ac4eb","after":"50baa99f12cdd4951b5b36bf08d8263679604a9c","ref":"refs/heads/master","pushedAt":"2024-05-29T02:39:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nars1","name":"Narayanan Iyer","path":"/nars1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28790583?s=80&v=4"},"commit":{"message":"[YottaDB/DBMS/YDBOcto#382] Implement Date/Timestamp types\n\nWith YottaDB/DBMS/YDBOcto#382, Dates and Timestamps are now available in\nOcto.\n\nAll Fileman Date fields are now classified to either `DATE(FILEMAN)` or\n`TIMESTAMP(FILEMAN)` based on the presence of \"T\" in %DT in the Input\nTransform.\n\nSee this page for detail on %DT: https://www.hardhats.org/fileman/pm/cl_dt1.htm.\n\nFunctions have been updated to accept date types as appropriate.","shortMessageHtmlLink":"[YottaDB/DBMS/YDBOcto#382] Implement Date/Timestamp types"}},{"before":"39bf25bc63354bebf25679b412ac005c7f125c07","after":"56a24f995e543b27e9b5c760dfa372c78bcab50b","ref":"refs/heads/samdatechange","pushedAt":"2024-01-03T00:10:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nars1","name":"Narayanan Iyer","path":"/nars1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28790583?s=80&v=4"},"commit":{"message":"[YottaDB/DBMS/YDBOcto#382] Implement Date/Timestamp types\n\nWith YottaDB/DBMS/YDBOcto#382, Dates and Timestamps are now available in\nOcto.\n\nAll Fileman Date fields are now classified to either `DATE FILEMAN` or\n`TIMESTAMP FILEMAN` based on the presence of \"T\" in %DT in the Input\nTransform.\n\nSee this page for detail on %DT: https://www.hardhats.org/fileman/pm/cl_dt1.htm.\n\nFunctions have been updated to accept date types as appropriate.\n\nTEMP Change: Pipeline runs a custom Octo branch, not the master branch.\nThis needs to be reverted after merge.","shortMessageHtmlLink":"[YottaDB/DBMS/YDBOcto#382] Implement Date/Timestamp types"}},{"before":null,"after":"39bf25bc63354bebf25679b412ac005c7f125c07","ref":"refs/heads/samdatechange","pushedAt":"2024-01-03T00:00:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nars1","name":"Narayanan Iyer","path":"/nars1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28790583?s=80&v=4"},"commit":{"message":"Updated syntax","shortMessageHtmlLink":"Updated syntax"}},{"before":"0f0d90cd76739be56d15b2ca4e3747e49311c298","after":"7d2bc90387732b2cd11d6f9a4bd47f976b7ac4eb","ref":"refs/heads/master","pushedAt":"2023-08-21T16:15:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nars1","name":"Narayanan Iyer","path":"/nars1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28790583?s=80&v=4"},"commit":{"message":"[Pipeline] Fix commit-verify job failure by updating base image to Ubuntu 22.04\n\nCommit-verify GPG check fails intermittently on older versions of\nUbuntu. See\nhttps://gitlab.com/YottaDB/DB/YDB/-/merge_requests/1378#note_1521342179\nfor discussion.","shortMessageHtmlLink":"[Pipeline] Fix commit-verify job failure by updating base image to Ub…"}},{"before":"e32ddf9198f2a76cbeb085c01c8d7207648faadf","after":"0f0d90cd76739be56d15b2ca4e3747e49311c298","ref":"refs/heads/master","pushedAt":"2023-08-15T18:48:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nars1","name":"Narayanan Iyer","path":"/nars1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28790583?s=80&v=4"},"commit":{"message":"[YottaDB/DBMS/YDBOcto#929] Lowercase SQL IDs\n\nAs part of YottaDB/DBMS/YDBOcto#929, SQL identifier storage in Octo is\nbeing switched to lowercase to allow compatibility with Postgres clients\n(PGAdmin and Ngpsql (used by PowerBI)). More details are in the linked\nissue.\n\nThis commit changes the references to the object names (used in the\n`keys(...)` expression) to be lowercase, as they won't reference an\nexisting object anymore after YottaDB/DBMS/YDBOcto#929.\n\nVersion bumped to v1.9.","shortMessageHtmlLink":"[YottaDB/DBMS/YDBOcto#929] Lowercase SQL IDs"}},{"before":"4e4d4bdc7416f753d65af0cd49c082ab06db1366","after":"e32ddf9198f2a76cbeb085c01c8d7207648faadf","ref":"refs/heads/master","pushedAt":"2023-08-09T15:37:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nars1","name":"Narayanan Iyer","path":"/nars1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28790583?s=80&v=4"},"commit":{"message":"[#34] VistA Functions: handle SQL NULLs (missed in previous commit)\n\nA couple of things missed in the previous commit:\n- Octo sends EMPTY strings from Octo if specified as literals as SQL\n NULLs. That means that REPLACE('AB','B','') did not work because the\n third parameter was not an empty string as expected by the M function.\n- To be safe, FMGET (which is always supposed to be used with literals\n for the first and second arguments) will also protect itself if the\n first two arguments are passed as empty strings.\n- Ditto for second argument of `DATETIME`.\n- The rest of the functions were reviewed and no changes were thought to\n be currently needed.\n- In addition, `DATETIME` function is supposed to accept one or two\n arguements. This was missed in the last commit, and a one argument\n form has been created; and tests now added to TVD0011 and TVD0012\n tests in the Octo repo.","shortMessageHtmlLink":"[#34] VistA Functions: handle SQL NULLs (missed in previous commit)"}},{"before":"55d53c740b61e9b9828e9147e3c687c854ca0b8b","after":"4e4d4bdc7416f753d65af0cd49c082ab06db1366","ref":"refs/heads/master","pushedAt":"2023-08-09T13:59:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nars1","name":"Narayanan Iyer","path":"/nars1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28790583?s=80&v=4"},"commit":{"message":"[#34] VistA Functions: handle SQL NULLs and various fixes\n\nThis MR does several things:\n\n- All functions that can take a parameter that can be an SQL NULL will\n handle it appropriately; mostly that is just returning SQL NULL back,\n but in `IFNULL` doing the appropriate substitution.\n- A forthcoming Octo version will contain SUBSTRING; so it's now removed\n from here.\n- The functions sql defintion file would only work on a much earlier\n version of Octo that did not enforce the function types. As of commit\n 18bce25f541c0d0c0087bb77d691db9b3b25dd15 (Aug 2020), this file\n wouldn't have worked anymore, as that commit made functions fully\n typed. The file is now updated so that all functions are typed\n properly.\n- `RIGHTY` functions behaved like `LEFTY`; that's now fixed; and code\n has been simplified so that both functions are essentially\n passthroughs to $EXTRACT.\n- `REPLACE` simplified to use pre-existing VistA code.","shortMessageHtmlLink":"[#34] VistA Functions: handle SQL NULLs and various fixes"}},{"before":"c312431b910da7991fce9ca53c0b32f2c024a891","after":"55d53c740b61e9b9828e9147e3c687c854ca0b8b","ref":"refs/heads/master","pushedAt":"2023-05-31T20:39:53.241Z","pushType":"push","commitsCount":1,"pusher":{"login":"nars1","name":"Narayanan Iyer","path":"/nars1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28790583?s=80&v=4"},"commit":{"message":"[YottaDB/DB/YDB#780] [V70000] Remove out-of-date OctoVistA.md file\n\n* The objective of this commit started out to replace `--utf8 default` usages in OctoVistA.md\n with `--utf8`.\n\n Per http://tinco.pair.com/bhaskar/gtm/doc/articles/GTM_V7.0-000_Release_Notes.html#GTM-8263,\n\n _The gtminstall script wrapper (gtminstall.sh) picks up the default ICU version of the system;\n previously it accepted ICU version specification with a --utf8 option._\n\n As part of merging GT.M V7.0-000, this was adopted into `YDB/sr_unix/ydbinstall.sh`. That meant\n all usages of `ydbinstall.sh` no longer need to supply `--utf8 default`. It is enough to just say\n `--utf8`.\n\n Note that `ydbinstall.sh` still supports the `--utf8 default` sytnax for backward compatibility\n but it is not recommended which is why this commit replaces all such references in the `YDBOctoVistA` repo.\n\n* But @shabiel pointed out that OctoVistA.md is out-of-date and not needed in the repository at all.\n So this commit just deletes that file.","shortMessageHtmlLink":"[YottaDB/DB/YDB#780] [V70000] Remove out-of-date OctoVistA.md file"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEpLfNFAA","startCursor":null,"endCursor":null}},"title":"Activity · YottaDB/YDBOctoVistA"}