Commit Graph

43 Commits

Author SHA1 Message Date
Andrew Johnson
cbd86ada20 regRecDevDrv.pl: Don't break long symbol names in DBD files
Makes a test symbol name long enough to trigger the problem.

Fixes lp: #1995728
2022-11-04 11:09:06 -05:00
Michael Davidsaver
9048aa3438 db: move db_field_log dtor out of union 2022-07-28 13:10:59 -07:00
Michael Davidsaver
62092d4399 test dbReadDatabaseFP() 2022-03-03 13:16:53 -08:00
71efed8c1b extend link test to hex numbers 2021-11-10 10:15:56 +01:00
Michael Davidsaver
ce910f52c3 drop usage of dbCaGetUpdateCount() 2021-11-02 11:31:26 -07:00
Michael Davidsaver
e34b6c5c0c Fix spelling in comments
Should be non-functional, except for some error message strings.
2021-08-29 07:27:50 -07:00
Andrew Johnson
6c7214ee06 Add tests for special link fields too 2021-06-09 18:09:18 -05:00
Andrew Johnson
b42a145824 Regression tests for RSET::special() return status
Adds tests to ensure that a record's special() routine can
return an error status that gets fed back to the client from
both before and after special() calls.

This was broken from 3.15 through 7.0.5 inclusive.
2021-06-09 18:09:18 -05:00
Andrew Johnson
1b825da9ec Add missing dependency 2021-06-04 18:29:29 -05:00
Andrew Johnson
e3e9d9bb37 Merge rtems5 branch into 7.0 2021-06-04 15:56:30 -05:00
Michael Davidsaver
bd3ecf1cbc Split out amsg/utag options through dbGet() 2021-04-05 10:31:25 -07:00
Michael Davidsaver
b94afaa045 UTAG uint64 2021-04-05 10:31:25 -07:00
Michael Davidsaver
633859d7ab pass amsg/utag through dbGet() options 2021-04-05 10:31:25 -07:00
Michael Davidsaver
aad3476c04 add dbDbLinkTest 2021-04-05 10:31:25 -07:00
Michael Davidsaver
417821ddc0 fixups for DBCORE_API 2021-04-01 11:09:53 -07:00
Brendan Chandler
1c6b02b9be Merge remote-tracking branch 'origin/7.0' into rtems5 2021-03-25 18:41:15 -05:00
Heinz Junkes
08b7dd1208 Add dhcp option cmdline (129) 2021-01-29 12:36:32 -06:00
Ben Franksen
27fe3e4468 refactor db_field_log and filters to get rid of dbfl_type_rec
This refactor simplifies and streamlines the code associated with server
side filters. Apart from immediate benefits (clearer code, less duplication)
it is also hoped that this will make it easier to add write filters.

The data pointer dbfl_ref.field can now either point to a copy owned by a
filter, or it can point to the original data owned by a record. In the
latter case, the dbfl_ref.dtor is NULL.

The dbExtractArray* functions are unified to the single function
dbExtractArray and stripped of conversion functionality. This is redundant
because we always call dbGet after applying filters, which takes care of
conversion. Accordingly, dbChannelMakeArrayCopy is now obsolete and its
single use (in the ts filter) replaced with dbExtractArray. Instead, we add
the helper function dbChannelGetArrayInfo to wrap the common boilerplate
around calls to the get_array_info method, used in both arr.c and ts.c.
2021-01-12 17:49:10 +01:00
Andrew Johnson
99852c6504 Merge JSON5 support into 7.0 2021-01-05 21:39:15 -06:00
Michael Davidsaver
cbac1c54f5 test/ioc/db: xRecord handle alarms 2020-11-18 10:54:44 -08:00
Andrew Johnson
7cc246afc1 Modify database tests to use JSON5
(except for the tests that check parsing).
Remove escaped double-quotes in map keys where possible.
Replace escaped double-quotes with single quotes.
2020-08-09 00:33:07 -05:00
Andrew Johnson
75b89b40bf Support single-quoted strings in dbStatic JSON5 values
Teach lexer to recognize them.
Strip leading & trailing quotes from string values.
Add some tests.
2020-08-09 00:33:07 -05:00
Andrew Johnson
0c800d4428 JSON5 in dbStatic: Update bare-word JSON keys
Our bare-word character set is wider than JSON5's. Quote any
keys containing the extra characters so YAJL can parse them,
but don't quote keys unnecessarily.

Tests for this behavior are in dbStaticTest.db

Adjust the other tests that read links parsed by the dbStatic
parser that used bareword keys, which are no longer quoted.
2020-08-09 00:33:07 -05:00
Andrew Johnson
0fca5fc8a9 JSON5 in dbStatic: Lexer support for NaN and Infinity
The JSON5 spec requires exact capitalization of these strings.
Other numeric parsers such as strtod() are usually more lenient.
2020-08-09 00:33:07 -05:00
Andrew Johnson
fe177e40fd JSON5 in dbStatic: Add lexer support for hex integers
dbLex.l accepts hex notation in JSON numbers.
Tested in dbStaticTest.db as before.
2020-08-09 00:33:07 -05:00
Andrew Johnson
fa4af8b27d JSON5 in dbStatic: Modify lexer's number support
dbLex.l acceps a leading or trailing decimal point with float/double
values and an explicit leading + on all numbers.
Tested in dbStaticTest.db but only passing tests.
2020-08-09 00:33:07 -05:00
Andrew Johnson
980711589a database/test: Give xRecord fields of all numeric types
Extend dbStaticTest to check dbVerify() with all types.
2020-08-09 00:33:07 -05:00
Andrew Johnson
3c99391d93 Added SPDX License ID to all EPICS-original source files
In some cases the license-identification header was missing,
so I added that as well. Replaced the remaining headers that
specifically identified "Versions 3.13.7 and higher".

Makefiles and the build system were deliberately excluded.
2020-08-03 11:53:01 -05:00
Michael Davidsaver
6c914d19c3 db: validate dbrType 2020-06-02 07:55:22 -07:00
Michael Davidsaver
5917990908 dbPutGetTest test plain array field 2020-06-02 07:55:22 -07:00
Michael Davidsaver
eeb198db15 change arrRecord cvt_dbaddr() to behave like waveformRecord et al. 2020-06-02 07:55:22 -07:00
Michael Davidsaver
688bc3247c missing include 2020-05-28 16:07:50 -07:00
36a8b51d8e CleanupWhitespace
removed spaces at end of line

replaced tabs with spaces
2020-05-20 14:48:09 -07:00
Andrew Johnson
171b3301a7 Fix ..// => ../ in Makefile-relative source paths 2019-10-28 15:00:15 -05:00
Michael Davidsaver
966965c2c1 Merge remote-tracking branch 'lp-Com/make-simple' into 7.0
* main/make-simple:
  restore ModuleDirs in caPerlApp
  simplify e_flex/antelope path compute
  further no need to search for perl modules under bin
  skip RELEASE_TOPS
  configure: Don't hide any perl scripts being run
  missed a TOP
  no need to search for perl modules under bin/
  drop unnecessary *ModuleDirs
  avoided embedded TOP for non sub-modules
2019-09-17 14:57:47 -07:00
Michael Davidsaver
0f8876de67 Merge branch '3.15' into 7.0
* 3.15: (28 commits)
  update RELEASE_NOTES
  add option EPICS_NO_CALLBACK
  replace CALLBACK -> epicsCallback
  Update dbTest.c
  Remove links to wiki-ext
  Add POD annotations from Wiki to subArrayRecord and menuAlarmStat
  Rename subArrayRecord.dbd and menuAlarmStat.dbd to .pod
  Add POD annotations to longoutRecord from Wiki
  Rename longoutRecord.dbd longoutRecord.dbd.pod
  Add POD annotations to longinRecord from Wiki
  Rename longinRecord.dbd longinRecord.dbd.pod
  Add POD annotations to subRecord from Wiki
  Rename subRecord.dbd subRecord.dbd.pod
  Add POD annotations to selRecord from Wiki
  Rename selRecord.dbd selRecord.dbd.pod
  Add POD annotations to seqRecord from Wiki
  Rename seqRecord.dbd seqRecord.dbd.pod
  Fix menu declaration test too
  Add redefinition guard to menu-generated typedefs
  Updates to existing .dbd.pod texts, add event and fanout from wiki
  ...

# Conflicts:
#	documentation/README.1st
#	documentation/README.html
#	modules/database/src/ioc/db/callback.h
#	modules/database/src/ioc/db/dbNotify.c
#	modules/database/src/ioc/db/menuAlarmStat.dbd
#	modules/database/src/ioc/db/menuFtype.dbd
#	modules/database/src/std/rec/compressRecord.dbd.pod
#	modules/database/src/std/rec/eventRecord.dbd
#	modules/database/src/std/rec/fanoutRecord.dbd
#	modules/database/src/std/rec/longinRecord.dbd
#	modules/database/src/std/rec/longoutRecord.dbd
#	modules/database/src/std/rec/selRecord.dbd
#	modules/database/src/std/rec/seqRecord.dbd
#	modules/database/src/std/rec/subArrayRecord.dbd
#	modules/database/src/std/rec/subRecord.dbd
#	modules/libcom/src/iocsh/menuAlarmStat.dbd.pod
#	modules/libcom/src/iocsh/menuFtype.dbd.pod
#	src/ioc/db/menuAlarmStat.dbd
#	src/ioc/db/menuFtype.dbd

Manually fix some move+rename
Make additional CALLBACK -> epicsCallback
preserve INT64 in menuFtype
preserve OLDSIM et al
2019-09-09 19:29:58 -07:00
Michael Davidsaver
93a96e33c0 dbChArrTest use dbUnitTest.h 2019-06-23 19:06:23 -07:00
Michael Davidsaver
49b323b93c avoided embedded TOP for non sub-modules 2019-01-03 20:17:58 -08:00
Michael Davidsaver
30268e3577 ioc/db: dbRegisterServer() only warn on actual redefinition
avoid noise when simply run twice.
2018-11-04 20:04:05 -08:00
Andrew Johnson
2efe56c6d1 Merge 3.16 (after 3.16.2-rc1) into 7.0 2018-10-26 17:04:53 -05:00
Andrew Johnson
504ae922c6 Merge 3.16 branch into 7.0 2018-08-04 14:53:43 -05:00
Andrew Johnson
0eaa343c90 Merge 3.16 into 7.0 2018-07-14 18:29:33 -05:00
Ralph Lange
568c405165 Move all under modules/database 2018-06-19 11:31:13 +02:00