diff --git a/3rdParty/Makefile.all-in-one-v8 b/3rdParty/Makefile.all-in-one-v8 index d858d4ea86..b08dee6108 100644 --- a/3rdParty/Makefile.all-in-one-v8 +++ b/3rdParty/Makefile.all-in-one-v8 @@ -19,7 +19,7 @@ BUILT_SOURCES += @V8_LIBS@ @echo "--------------------------------------------------------------------------------" @echo - cd @top_srcdir@/3rdParty/V8 && $(MAKE) library=static strictaliasing=off snapshot=off werror=no @V8_TARGET@ + cd @top_srcdir@/3rdParty/V8 && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" $(MAKE) library=static strictaliasing=off snapshot=off werror=no @V8_TARGET@ touch @srcdir@/.v8-build-@TRI_BITS@ diff --git a/CHANGELOG b/CHANGELOG index a505dc46ad..b15d42c290 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ v1.3 (XXXX-XX-XX) ----------------- +* make AQL REVERSE() function work on strings, too + * disabled DOT generation in `make doxygen`. this speeds up docs generation * renamed startup option `--dispatcher.report-intervall` to `--dispatcher.report-interval` diff --git a/Documentation/UserManual/Aql.md b/Documentation/UserManual/Aql.md index 0485195b42..ac9faf8a7e 100644 --- a/Documentation/UserManual/Aql.md +++ b/Documentation/UserManual/Aql.md @@ -881,6 +881,8 @@ For string processing, AQL offers the following functions: starting at @FA{offset} and with a maximum length of @FA{length} characters. Offsets start at position 0. +- @FN{REVERSE(@FA{value})}: returns the reverse of the string @FA{value}. + - @FN{CONTAINS(@FA{text}, @FA{search}, @FA{return-index})}: checks whether the string @FA{search} is contained in the string @FA{text}. By default, this function returns `true` if @FA{search} is contained in @FA{text}, and `false` otherwise. By diff --git a/arangod/Ahuacatl/ahuacatl-functions.c b/arangod/Ahuacatl/ahuacatl-functions.c index 2885f69408..f0cc66595f 100644 --- a/arangod/Ahuacatl/ahuacatl-functions.c +++ b/arangod/Ahuacatl/ahuacatl-functions.c @@ -614,7 +614,8 @@ TRI_associative_pointer_t* TRI_InitialiseFunctionsAql (void) { REGISTER_FUNCTION("MAX", "MAX", true, true, "l", NULL); REGISTER_FUNCTION("SUM", "SUM", true, true, "l", NULL); REGISTER_FUNCTION("UNIQUE", "UNIQUE", true, false, "l", NULL); - REGISTER_FUNCTION("REVERSE", "REVERSE", true, false, "l", NULL); + // note: REVERSE() can be applied on strings, too + REGISTER_FUNCTION("REVERSE", "REVERSE", true, false, "ls", NULL); REGISTER_FUNCTION("FIRST", "FIRST", true, false, "l", NULL); REGISTER_FUNCTION("LAST", "LAST", true, false, "l", NULL); diff --git a/frontend/css/collectionsItemView.css b/frontend/css/collectionsItemView.css index 75f8d82b6a..b7764ff49f 100644 --- a/frontend/css/collectionsItemView.css +++ b/frontend/css/collectionsItemView.css @@ -44,7 +44,7 @@ box-shadow: 0 0 0 !important; } -.icon-info-sign { - margin-top: 0px; +.icon-edit { + margin-top: 5px; margin-right: 5px; } diff --git a/frontend/css/collectionsView.css b/frontend/css/collectionsView.css index 39f2d4896f..f38b9187da 100644 --- a/frontend/css/collectionsView.css +++ b/frontend/css/collectionsView.css @@ -1,3 +1,5 @@ + + #newCollection { margin-left: 22px; margin-top: 2px; @@ -47,6 +49,10 @@ padding-top: 5px; } +.btn-group { + border-radius: 2px 2px 2px 2px !important; +} + .searchInput { background-color: #FFFFFF; border: 1px solid #c0c0c0; @@ -60,6 +66,7 @@ padding: 2px; vertical-align: middle; width:280px; + border-radius: 2px 2px 2px 2px !important; } #searchSubmit { diff --git a/frontend/css/dashboardView.css b/frontend/css/dashboardView.css index 43cbccac28..c6bd5990f5 100644 --- a/frontend/css/dashboardView.css +++ b/frontend/css/dashboardView.css @@ -7,9 +7,8 @@ } .dashboardBox { - min-height: 200px; + min-height: 230px; width: 940px; - border: 1px solid black; padding-top: 10px; margin-bottom: 20px; background-color: rgba(0, 0, 0, 0.05); @@ -21,11 +20,56 @@ } .leftBox { - width: 30%; + width: 300px; float: left; + padding-left: 20px; + padding-top: 15px; +} + +.leftBox th { + padding-left: 5px; + float:left; + width: 100px; + text-align: left; + font-weight: normal !important; +} + +.leftBox table { + border-collapse:separate; + border-spacing:0 5px; +} + +.leftBox table tr { + background-image: -moz-linear-gradient(top, #f3efec, #ebe7e3); + background-image: -ms-linear-gradient(top, #f3efec, #ebe7e3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3efec), to(#ebe7e3)); + background-image: -webkit-linear-gradient(top, #f3efec, #ebe7e3); + background-image: -o-linear-gradient(top, #f3efec, #ebe7e3); + background-image: linear-gradient(top, #f3efec, #ebe7e3); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3efec', endColorstr='#ebe7e3', GradientType=0); + border:1px solid #c1bdba; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); } .rightBox { - width: 70%; - float: left; + padding-bottom: 0; + float: right; + height: 160px !important; + max-height: 220px !important; + width: 598px; + border:1px solid #c1bdba; + background-color: red; + margin-top: 20px; + margin-right: 20px; + background-image: -moz-linear-gradient(top, #f3efec, #ebe7e3); + background-image: -ms-linear-gradient(top, #f3efec, #ebe7e3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3efec), to(#ebe7e3)); + background-image: -webkit-linear-gradient(top, #f3efec, #ebe7e3); + background-image: -o-linear-gradient(top, #f3efec, #ebe7e3); + background-image: linear-gradient(top, #f3efec, #ebe7e3); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3efec', endColorstr='#ebe7e3', GradientType=0); + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); } diff --git a/frontend/css/documentSourceView.css b/frontend/css/documentSourceView.css index 1b22f24729..3fe3765d04 100644 --- a/frontend/css/documentSourceView.css +++ b/frontend/css/documentSourceView.css @@ -1,3 +1,11 @@ +#sourceFooter { + margin-top: 0; + background: none; + margin-bottom: 0; + padding-right: 0; + padding-bottom: 0; +} + #sourceEditor { height: 400px; width: 900px; @@ -26,5 +34,4 @@ } .sourceBox { - padding-bottom:20px; } diff --git a/frontend/css/documentView.css b/frontend/css/documentView.css index f24e2cabcf..316cbcb05b 100644 --- a/frontend/css/documentView.css +++ b/frontend/css/documentView.css @@ -24,6 +24,7 @@ #deleteRow { border: medium none; + margin-top: -4px; padding-left: 10px; background-color: transparent; } @@ -46,6 +47,18 @@ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); } +#documentTableID thead { + text-align: left; +} + +#documentTableID .icon-edit { + margin-top: 0; +} + +#documentTableID .icon-edit:hover { + cursor: pointer; +} + #documentTableID.dataTable thead tr { background-image: -moz-linear-gradient(top, #f3efec, #ebe7e3); background-image: -ms-linear-gradient(top, #f3efec, #ebe7e3); diff --git a/frontend/css/documentsView.css b/frontend/css/documentsView.css index 6a1d833b92..c3bf266d63 100644 --- a/frontend/css/documentsView.css +++ b/frontend/css/documentsView.css @@ -52,8 +52,8 @@ table.dataTable td { margin-left: 20px !important; width: 900px; !important; table-layout:fixed !important; - border-collapse:separate; - border-spacing:0 5px; + border-collapse:separate; + border-spacing:0 5px; } table.dataTable thead th { diff --git a/frontend/css/layout.css b/frontend/css/layout.css index dba829bb34..725ccaea9d 100644 --- a/frontend/css/layout.css +++ b/frontend/css/layout.css @@ -1,3 +1,11 @@ +select { + border-radius: 2px 2px 2px 2px !important; +} + +input { + border-radius: 2px 2px 2px 2px !important; +} + .arangoBtn { background: none repeat scroll 0 0 #FFFFFF; color: #333232; diff --git a/frontend/css/logsView.css b/frontend/css/logsView.css index 1c2cf18125..da18451e40 100644 --- a/frontend/css/logsView.css +++ b/frontend/css/logsView.css @@ -1,7 +1,5 @@ #logContent { - margin-left: 20px; margin-top: 0; - margin-right: 20px; border: 20px solid rgba(0, 0, 0, 0.00); background-color: rgba(0, 0, 0, 0.05); min-height: 330px !important; @@ -35,12 +33,8 @@ -.odd { - background-color: /*#D3DDB8 !important*/; -} - -.even { - background-color: /*rgba(255, 255, 255, 0.8) !important*/; +#logContent .sorting_1 { + background-color: #FBFBFB !important; } /*.odd .sorting_1 { @@ -123,7 +117,7 @@ background-color: none !important; #logNav { padding-left: 20px; margin-left: -20px; - width: 880px; + width: 920px; padding-bottom: -10px; margin-bottom: 0; background-color: #686766; @@ -135,6 +129,7 @@ background-color: none !important; } #logTableID .firstcol, #infoTableID .firstcol, #debugTableID .firstcol, #critTableID .firstcol, #warnTableID .firstcol { + background-color: #F4F4F4 !important; background-image: -moz-linear-gradient(center top , #F4F4F4, #E4E4E4); border-top:1px solid #c1bdba; border-bottom:1px solid #c1bdba; diff --git a/frontend/css/modal.css b/frontend/css/modal.css index d5cc647a1b..d87c430ca8 100644 --- a/frontend/css/modal.css +++ b/frontend/css/modal.css @@ -31,3 +31,9 @@ .modal-body select { width: 314px; } + +.modal-text { + font-weight: normal; + padding-top: 3px; + padding-bottom: 3px; +} diff --git a/frontend/css/navigationView.css b/frontend/css/navigationView.css index f9db259624..9639440a5c 100644 --- a/frontend/css/navigationView.css +++ b/frontend/css/navigationView.css @@ -13,12 +13,21 @@ color: white !important; box-shadow: 0 0px 0px rgba(0, 0, 0, 0.0) inset !important; } +.navbar .nav > li > a:focus { + background-color: #333232 !important; +} -.navbar .nav > li > a:focus, .navbar .nav > li > a:hover { - background-color: #8AA051; +.navbar .nav > li > a:hover { + background-color: #8AA051 !important; color: white !important } +.arango-nav .dropdown-toggle, .arango-nav .dropdown-toggle:hover, .arango-nav .dropdown:hover, .arango-nav .dropdown:active { + background-color: rgba(0, 0, 0, 0) !important; + color: white !important; + margin-bottom: -8px !important; +} + body, input, textarea, .page-title span, .pingback a.url { font-family: "Helvetica",sans-serif; font-weight: 300; @@ -38,11 +47,3 @@ body, input, textarea, .page-title span, .pingback a.url { height: 34px; padding: 0 !important; } - -/*.dropdown-toggle:hover, .dropdown-toggle:focus { - color: white !important; - height:16px !important; - border: 0; - background-color: #333232 !important; -} -*/ \ No newline at end of file diff --git a/frontend/js/templates/collectionView.ejs b/frontend/js/templates/collectionView.ejs index 3bb54ba8d5..56aaaea82a 100644 --- a/frontend/js/templates/collectionView.ejs +++ b/frontend/js/templates/collectionView.ejs @@ -8,10 +8,12 @@ Name: + Size (MB): + Sync: @@ -21,33 +23,34 @@ + ID: -
+
diff --git a/frontend/js/templates/newCollectionView.ejs b/frontend/js/templates/newCollectionView.ejs index 83e916dcfb..204fe1d293 100644 --- a/frontend/js/templates/newCollectionView.ejs +++ b/frontend/js/templates/newCollectionView.ejs @@ -49,7 +49,7 @@ - + @@ -61,7 +61,6 @@ diff --git a/frontend/js/views/collectionView.js b/frontend/js/views/collectionView.js index 402a71124b..5df594e733 100644 --- a/frontend/js/views/collectionView.js +++ b/frontend/js/views/collectionView.js @@ -11,6 +11,9 @@ var collectionView = Backbone.View.extend({ $('#change-collection').on('hidden', function () { }); this.fillModal(); + $('.modalTooltips').tooltip({ + placement: "left" + }); return this; }, @@ -22,7 +25,7 @@ var collectionView = Backbone.View.extend({ "click #unload-modified-collection" : "unloadCollection" }, hidden: function () { - window.location.hash = "#"; + window.location.hash = "#collection/"; }, fillModal: function() { this.myCollection = window.arangoCollectionsStore.get(this.options.colId).attributes; @@ -32,12 +35,12 @@ var collectionView = Backbone.View.extend({ $('#change-collection-status').text(this.myCollection.status); if (this.myCollection.status == 'unloaded') { - $('#colFooter').append(''); + $('#colFooter').append(''); $('#collectionSizeBox').hide(); $('#collectionSyncBox').hide(); } else if (this.myCollection.status == 'loaded') { - $('#colFooter').append(''); + $('#colFooter').append(''); var data = window.arangoCollectionsStore.getProperties(this.options.colId, true); this.fillLoadedModal(data); } @@ -102,6 +105,7 @@ var collectionView = Backbone.View.extend({ var returnval = window.arangoCollectionsStore.deleteCollection(collName); if (returnval === true) { self.hideModal(); + window.location.hash="#"; } else { self.hideModal(); diff --git a/frontend/js/views/collectionsView.js b/frontend/js/views/collectionsView.js index 074e7801a6..f4ec598a97 100644 --- a/frontend/js/views/collectionsView.js +++ b/frontend/js/views/collectionsView.js @@ -29,7 +29,7 @@ var collectionsView = Backbone.View.extend({ }, events: { "click .icon-info-sign" : "details", - "blur #searchInput" : "restrictToSearchPhrase", + //"blur #searchInput" : "restrictToSearchPhrase", "keypress #searchInput" : "restrictToSearchPhraseKey", "change #searchInput" : "restrictToSearchPhrase", "click #searchSubmit" : "restrictToSearchPhrase", @@ -40,7 +40,7 @@ var collectionsView = Backbone.View.extend({ checkSystem: function () { var searchOptions = this.collection.searchOptions; var oldValue = searchOptions.includeSystem; - + searchOptions.includeSystem = ($('#checkSystem').is(":checked") === true); if (oldValue != searchOptions.includeSystem) { @@ -60,9 +60,9 @@ var collectionsView = Backbone.View.extend({ checkUnloaded: function () { var searchOptions = this.collection.searchOptions; var oldValue = searchOptions.includeUnloaded; - + searchOptions.includeUnloaded = ($('#checkUnloaded').is(":checked") === true); - + if (oldValue != searchOptions.includeUnloaded) { this.render(); } diff --git a/frontend/js/views/dashboardView.js b/frontend/js/views/dashboardView.js index 40ba098da5..8380e074e5 100644 --- a/frontend/js/views/dashboardView.js +++ b/frontend/js/views/dashboardView.js @@ -34,7 +34,7 @@ var dashboardView = Backbone.View.extend({ d3.select("#dashboardCollectionsGraph svg") .datum(self.formatCollectionsStats()) .transition().duration(1200) - .call(chart); + .call(chart) return chart; }); diff --git a/frontend/js/views/documentView.js b/frontend/js/views/documentView.js index d1d9e7a4c2..ce57cdfbe4 100644 --- a/frontend/js/views/documentView.js +++ b/frontend/js/views/documentView.js @@ -10,7 +10,9 @@ var documentView = Backbone.View.extend({ "click #saveDocument" : "saveDocument", "click #addDocumentLine" : "addLine", "click #deleteRow" : "deleteLine", - "click #sourceView" : "sourceView" + "click #sourceView" : "sourceView", + "click #editFirstRow" : "editFirst", + "click #editSecondRow" : "editSecond" }, template: new EJS({url: '/_admin/html/js/templates/documentView.ejs'}), @@ -20,6 +22,16 @@ var documentView = Backbone.View.extend({ this.breadcrumb(); return this; }, + editFirst: function (e) { + var element = e.currentTarget; + var prevElement = $(element).parent().prev(); + $(prevElement).click(); + }, + editSecond: function (e) { + var element = e.currentTarget; + var prevElement = $(element).parent().prev(); + $(prevElement).click(); + }, sourceView: function () { window.location.hash = window.location.hash + "/source"; }, @@ -41,7 +53,8 @@ var documentView = Backbone.View.extend({ drawTable: function () { var self = this; $(self.table).dataTable().fnAddData([ - ' Neu hinzufügen', + ' Add data', + '
', '
', '
', '
', @@ -51,6 +64,7 @@ var documentView = Backbone.View.extend({ if (arangoHelper.isSystemAttribute(key)) { $(self.table).dataTable().fnAddData([ key, + '', self.value2html(value, true), JSON.stringify(value), "", @@ -58,32 +72,37 @@ var documentView = Backbone.View.extend({ ]); } else { - $(self.table).dataTable().fnAddData([ - key, - self.value2html(value), - JSON.stringify(value), - '', - '' + $(self.table).dataTable().fnAddData( + [ + key, + '', + self.value2html(value), + JSON.stringify(value), + '', + '' ]); } }); this.makeEditable(); + $(this.table).dataTable().fnSort([ [0,'asc'] ]); }, addLine: function () { - $(this.table).dataTable().fnAddData([ - "key"+arangoHelper.getRandomToken(), - this.value2html("editme"), - JSON.stringify("editme"), - '', - '' - ]); + $(this.table).dataTable().fnAddData( + [ + "zkey"+arangoHelper.getRandomToken(), + '', + this.value2html("editme"), + JSON.stringify("editme"), + '', + '' + ] + ); this.makeEditable(); - this.updateLocalDocumentStorage(); - $(this.table).dataTable().fnClearTable(); - this.drawTable(); +// $(this.table).dataTable().fnClearTable(); +// this.drawTable(); }, deleteLine: function (a) { @@ -103,10 +122,11 @@ var documentView = Backbone.View.extend({ "bDeferRender": true, "iDisplayLength": -1, "aoColumns": [ - {"sClass":"writeable", "bSortable": false, "sWidth":"400px" }, + {"sClass":"writeable", "bSortable": false, "sWidth":"200px" }, + {"sClass":"read_only leftCell", "bSortable": false, "sWidth": "20px"}, {"sClass":"writeable rightCell", "bSortable": false}, {"bVisible": false }, - {"sClass":"read_only leftCell", "bSortable": false, "sWidth": "30px"}, + {"sClass":"read_only leftCell", "bSortable": false, "sWidth": "20px"}, {"sClass":"read_only leftCell", "bSortable": false, "sWidth": "30px"} ], "oLanguage": {"sEmptyTable": "No documents"} @@ -145,8 +165,11 @@ var documentView = Backbone.View.extend({ var result = {}; for (row in data) { - var row_data = data[row]; - result[row_data[0]] = JSON.parse(row_data[2]); + //Exclude "add-collection" row + if (row !== '0') { + var row_data = data[row]; + result[row_data[0]] = JSON.parse(row_data[3]); + } } window.arangoDocumentStore.updateLocalDocument(result); this.saveDocument(); @@ -171,13 +194,12 @@ var documentView = Backbone.View.extend({ }); $('.writeable', documentEditTable.fnGetNodes()).editable(function(value, settings) { var aPos = documentEditTable.fnGetPosition(this); - console.log(aPos); if (aPos[1] == 0) { documentEditTable.fnUpdate(value, aPos[0], aPos[1]); self.updateLocalDocumentStorage(); return value; } - if (aPos[1] == 1) { + if (aPos[1] == 2) { var oldContent = JSON.parse(documentEditTable.fnGetData(aPos[0], aPos[1] + 1)); var test = self.getTypedValue(value); if (String(value) == String(oldContent)) { @@ -199,7 +221,7 @@ var documentView = Backbone.View.extend({ if (aPos[1] == 0) { return value; } - if (aPos[1] == 1) { + if (aPos[1] == 2) { var oldContent = documentEditTable.fnGetData(aPos[0], aPos[1] + 1); if (typeof(oldContent) == 'object') { //grep hidden row and paste in visible row diff --git a/frontend/js/views/documentsView.js b/frontend/js/views/documentsView.js index 472aaaf6eb..46deed4343 100644 --- a/frontend/js/views/documentsView.js +++ b/frontend/js/views/documentsView.js @@ -20,8 +20,6 @@ var documentsView = Backbone.View.extend({ "click #documentsTableID tr" : "clicked", "click #deleteDoc" : "remove", - "click #plusIconDoc" : "addDocument", - "click #documentAddBtn" : "addDocument", "click #documents_first" : "firstDocuments", "click #documents_last" : "lastDocuments", "click #documents_prev" : "prevDocuments", diff --git a/frontend/js/views/newCollectionView.js b/frontend/js/views/newCollectionView.js index 01323c542f..8456bd0002 100644 --- a/frontend/js/views/newCollectionView.js +++ b/frontend/js/views/newCollectionView.js @@ -15,7 +15,7 @@ var newCollectionView = Backbone.View.extend({ $('#edgeFrom').hide(); $('#edgeTo').hide(); $('.modalTooltips').tooltip({ - placement: "right" + placement: "left" }); return this; @@ -23,23 +23,10 @@ var newCollectionView = Backbone.View.extend({ events: { "click #save-new-collection" : "saveNewCollection", - "click #new-collection-type" : "displayEdge" }, hidden: function () { - window.location.hash = "#"; - }, - - displayEdge: function () { - var collType = $('#new-collection-type').val(); - if (collType == 3) { - $('#edgeFrom').show(); - $('#edgeTo').show(); - } - else { - $('#edgeFrom').hide(); - $('#edgeTo').hide(); - } + window.location.hash = "#collection/"; }, saveNewCollection: function() { diff --git a/js/server/modules/org/arangodb/ahuacatl.js b/js/server/modules/org/arangodb/ahuacatl.js index ffe1ac884c..44182f595f 100644 --- a/js/server/modules/org/arangodb/ahuacatl.js +++ b/js/server/modules/org/arangodb/ahuacatl.js @@ -2018,10 +2018,14 @@ function LAST (value) { } //////////////////////////////////////////////////////////////////////////////// -/// @brief reverse the elements in a list +/// @brief reverse the elements in a list or in a string //////////////////////////////////////////////////////////////////////////////// function REVERSE (value) { + if (TYPEWEIGHT(value) === TYPEWEIGHT_STRING) { + return value.split("").reverse().join(""); + } + LIST(value); return value.reverse(); diff --git a/js/server/tests/ahuacatl-functions.js b/js/server/tests/ahuacatl-functions.js index 7cff572fea..ae9df1988b 100644 --- a/js/server/tests/ahuacatl-functions.js +++ b/js/server/tests/ahuacatl-functions.js @@ -425,7 +425,6 @@ function ahuacatlFunctionsTestSuite () { assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { QUERY("RETURN REVERSE(null)"); } )); assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { QUERY("RETURN REVERSE(true)"); } )); assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { QUERY("RETURN REVERSE(4)"); } )); - assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { QUERY("RETURN REVERSE(\"yes\")"); } )); assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { QUERY("RETURN REVERSE({ })"); } )); }, diff --git a/m4/external.icu b/m4/external.icu index 54a7fe9899..e072a41128 100644 --- a/m4/external.icu +++ b/m4/external.icu @@ -60,6 +60,7 @@ dnl ---------------------------------------------------------------------------- LIB_INFO="$LIB_INFO|." if test "x$tr_ICU" = xyes; then + LIB_INFO="$LIB_INFO|ICU: system version" LIB_INFO="$LIB_INFO|ICU VERSION: ${TRI_ICU_VERSION}" LIB_INFO="$LIB_INFO|ICU_CPPFLAGS: ${ICU_CPPFLAGS}"